# Single Index Model Estimation: Objective Function Approach (using GCV).

### Description

This function provides an estimate of the non-parametric function and the index vector by minimizing an objective function corresponding to smooth.pen by choosing the required tuning parameter using GCV.

### Usage

1 2 3 4 5 6 7 8 | ```
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

*∑_{i=1}^n w_i(y_i - f(x_i^{\top}β))^2 + λ\int\{f''(x)\}^2dx*

with no constraints on f. The penalty parameter *λ* 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 |

`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

1 2 3 4 5 6 7 8 9 10 |