Learn R Programming

chemometrics (version 0.5)

lassoCV: CV for Lasso regression

Description

Performs cross-validation (CV) for Lasso regression and plots the results in order to select the optimal Lasso parameter.

Usage

lassoCV(formula, data, K = 10, fraction = seq(0, 1, by = 0.05), trace = FALSE, plot.opt = TRUE, sdfact = 2, ...)

Arguments

formula
formula, like y~X, i.e., dependent~response variables
data
data frame to be analyzed
K
the number of segments to use for CV
fraction
fraction for Lasso parameters to be used for evaluation, see details
trace
if 'TRUE', intermediate results are printed
plot.opt
if TRUE a plot will be generated that shows optimal choice for "fraction"
sdfact
factor for the standard error for selection of the optimal parameter, see details
...
additional plot arguments

Value

  • cvCV curve at each value of fraction
  • cv.errorstandard errors for each value of fraction
  • SEPSEP value for each value of fraction
  • indindex of fraction with optimal choice for fraction
  • soptoptimal value for fraction
  • fractionall values considered for fraction

Details

The parameter "fraction" is the sum of absolute values of the regression coefficients for a particular Lasso parameter on the sum of absolute values of the regression coefficients for the maximal possible value of the Lasso parameter (unconstrained case), see also lars. The optimal fraction is chosen according to the following criterion: Within the CV scheme, the mean of the SEPs is computed, as well as their standard errors. Then one searches for the minimum of the mean SEPs and adds sdfact*standarderror. The optimal fraction is the smallest fraction that is below this bound.

References

K. Varmuza and P. Filzmoser: Introduction to Multivariate Statistical Analysis in Chemometrics. CRC Press, Boca Raton, FL, 2009.

See Also

cv.lars, lassocoef

Examples

Run this code
data(PAC)
res=lassoCV(y~X,data=PAC,K=5,fraction=seq(0.1,0.5,by=0.1))

Run the code above in your browser using DataLab