simestgcv {simest} | R Documentation |
Single Index Model Estimation: Objective Function Approach.
Description
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.
Usage
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 |
w |
an optional numeric vector of the same length as |
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 |
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 |
Details
The function minimizes
\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.
Value
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 |
K |
an integer storing the row index of |
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 |
deriv |
corresponding values of the derivative of same length as that of |
residuals |
residuals obtained from the fit. |
minvalue |
minimum value of the objective function attained. |
Author(s)
Arun Kumar Kuchibhotla, arunku@wharton.upenn.edu
Source
Kuchibhotla, A. K., Patra, R. K. and Sen, B. (2015+). On Single Index Models with Convex Link.
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))