lassoCV {chemometrics} | R Documentation |
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, legpos = "topright", ...)
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 |
legpos |
position of the legend in the plot |
... |
additional plot arguments |
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 with an MSEP
below this bound.
Value
cv |
MSEP values at each value of fraction |
cv.error |
standard errors for each value of fraction |
SEP |
SEP value for each value of fraction |
ind |
index of fraction with optimal choice for fraction |
sopt |
optimal value for fraction |
fraction |
all values considered for fraction |
Author(s)
Peter Filzmoser <P.Filzmoser@tuwien.ac.at>
References
K. Varmuza and P. Filzmoser: Introduction to Multivariate Statistical Analysis in Chemometrics. CRC Press, Boca Raton, FL, 2009.
See Also
Examples
data(PAC)
# takes some time: # res <- lassoCV(y~X,data=PAC,K=5,fraction=seq(0.1,0.5,by=0.1))