simestgcv function

Single Index Model Estimation: Objective Function Approach.

Single Index Model Estimation: Objective Function Approach.

This function provides an estimate of the non-parametric function and the index vector by minimizing an objective function specified by the method argument and also by choosing tuning parameter using GCV. data

simestgcv(x, y, w = NULL, beta.init = NULL, nmulti = NULL, lambda = NULL, maxit = 100, bin.tol = 1e-06, beta.tol = 1e-05, agcv.iter = 100, progress = TRUE) ## Default S3 method: simestgcv(x, y, w = NULL, beta.init = NULL, nmulti = NULL, lambda = NULL, maxit = 100, bin.tol = 1e-06, beta.tol = 1e-05, agcv.iter = 100, progress = TRUE)

Arguments

  • x: a numeric matrix giving the values of the predictor variables or covariates. For functions plot and print, x' is an object of class sim.est'.
  • y: a numeric vector giving the values of the response variable.
  • lambda: a numeric vector giving lower and upper bounds for penalty used in cvx.pen and cvx.lip.
  • w: an optional numeric vector of the same length as xx; Defaults to all 1.
  • beta.init: An numeric vector giving the initial value for the index vector.
  • nmulti: An integer giving the number of multiple starts to be used for iterative algorithm. If beta.init is provided then the nmulti is set to 1.
  • agcv.iter: An integer providing the number of random numbers to be used in estimating GCV. See smooth.pen.reg for more details.
  • progress: A logical denoting if progress of the algorithm to be printed. Defaults to TRUE.
  • bin.tol: A tolerance level upto which the x values used in regression are recognized as distinct values.
  • beta.tol: A tolerance level for stopping iterative algorithm for the index vector.
  • maxit: An integer specifying the maximum number of iterations for each initial β\beta vector.

Details

The function minimizes

i=1nwi(yif(xiβ))2+λ{f(x)}2dx \sum_{i=1}^n w_i(y_i - f(x_i^{\top}\beta))^2 + \lambda\int\{f''(x)\}^2dx

with no constraints on f. The penalty parameter λ\lambda is choosen by the GCV criterion between the bounds given by lambda. Plot and predict function work as in the case of sim.est function.

Returns

An object of class `sim.est', basically a list including the elements - beta: A numeric vector storing the estimate of the index vector.

  • nmulti: Number of multistarts used.

  • x.mat: the input `x' matrix with possibly aggregated rows.

  • BetaInit: a matrix storing the initial vectors taken or given for the index parameter.

  • lambda: Given input lambda.

  • K: an integer storing the row index of BetaInit which lead to the estimator beta.

  • BetaPath: a list containing the paths taken by each initial index vector for nmulti times.

  • ObjValPath: a matrix with nmulti rows storing the path of objective function value for multiple starts.

  • convergence: a numeric storing convergence status for the index parameter.

  • itervec: a vector of length nmulti storing the number of iterations taken by each of the multiple starts.

  • iter: a numeric giving the total number of iterations taken.

  • method: method is always set to "smooth.pen.reg".

  • regress: An output of the regression function used needed for predict.

  • x.values: sorted `x.betahat' values obtained by the algorithm.

  • y.values: corresponding `y' values in input.

  • fit.values: corresponding fit values of same length as that of xβx\beta.

  • deriv: corresponding values of the derivative of same length as that of xβx\beta.

  • residuals: residuals obtained from the fit.

  • minvalue: minimum value of the objective function attained.

Source

Kuchibhotla, A. K., Patra, R. K. and Sen, B. (2015+). On Single Index Models with Convex Link.

Author(s)

Arun Kumar Kuchibhotla, arunku@wharton.upenn.edu

Examples

args(sim.est) x <- matrix(runif(20*2,-1,1),ncol = 2) b0 <- rep_len(1,2)/sqrt(2) y <- (x%*%b0)^2 + rnorm(20,0,0.3) tmp2 <- simestgcv(x, y, lambda = c(20^{1/6}, 20^{1/4}), nmulti = 1, agcv.iter = 10, maxit = 10, beta.tol = 1e-03) print(tmp2) plot(tmp2) predict(tmp2, newdata = c(0,0))
  • Maintainer: Arun Kumar Kuchibhotla
  • License: GPL-2
  • Last published: 2017-04-25

Useful links