The function does k-fold cross validation for selecting best value of regularization parameter.
cv.normal(x,y,k=5,nlambda=50,tau=1,plot=TRUE,errorbars=TRUE)
x is matrix of order n x p where n is number of observations and p is number of predictor variables. Rows should represent observations and columns should represent predictor variables.
y is a vector of response variable of order n x 1.
Number of folds for cross validation. Default is k=5.
Number of lambda values to be used for cross validation. Default is nlambda=50.
Elastic net parameter, \(0 \le \tau \le 1\) in elastic net penalty \(\lambda\{\tau\|\beta\|_1+(1-\tau)\|beta\|_2^2\}\). Default tau=1 corresponds to LASSO penalty.
if TRUE, produces a plot of cross validated prediction mean squared errors against lambda. Default is TRUE.
If TRUE, error bars are drawn in the plot. Default is TRUE.
Produces a plot and returns a list with following components:
Value of lambda for which average cross validation error is minimum
A vector of average cross validation errors for various lambda values
A vector of lambda values used in cross validation
A vector containing standard errors of cross validation errors
Mandal, B.N. and Jun Ma, (2014). A Jacobi-Armijo Algorithm for LASSO and its Extensions.
# NOT RUN {
x=matrix(rnorm(100*30),100,30)
y=rnorm(100)
cv.normal(x,y,k=10)
# }
Run the code above in your browser using DataLab