cv.clogitL1 {clogitL1} | R Documentation |
Find the best of a sequence of conditional logistic regression models with lasso or elastic net penalties using cross validation
cv.clogitL1 (clObj, numFolds=10)
clObj |
an object of type |
numFolds |
the number of folds used in cross validation. Defaults to the minimum of 10 or the number of observations |
Performs numFolds
-fold cross validation on an object of type clogitL1
. Using the sequence of regularisation parameters generated by clObj
, the function chooses strata to leave out randomly. The penalised conditional logistic regression model is fit to the non-left-out strata in turn and its deviance compared to an out-of-sample deviance computed on the left-out strata. Fitting models to individual non-left-out strata proceeds using the cyclic coordinate descent-warm start-strong rule type algorithm used in clogitL1
, only with a prespecified sequence of λ.
An object of type cv.clogitL1
with the following fields:
cv_dev |
matrix of size |
lambda |
vector of regularisation parameters. |
folds |
vector showing the folds membership of each observation. |
mean_cv |
vector containing mean CV deviances for each value of the regularisation parameter. |
se_cv |
vector containing an estimate of the standard error of the CV deviance at each value of the regularisation parameter. |
minCV_lambda |
value of the regularisation parameter at which we have minimum |
minCV1se_lambda |
value of the regularisation parameter corresponding to the 1-SE rule. Selects the simplest model with estimate CV within 1 standard deviation of the minimum cv. |
nz_beta |
number of nonzero parameter estimates at each value of the regularisation parameter. |
http://www.jstatsoft.org/v58/i12/
set.seed(145) # data parameters K = 10 # number of strata n = 5 # number in strata m = 2 # cases per stratum p = 20 # predictors # generate data y = rep(c(rep(1, m), rep(0, n-m)), K) X = matrix (rnorm(K*n*p, 0, 1), ncol = p) # pure noise strata = sort(rep(1:K, n)) par(mfrow = c(1,2)) # fit the conditional logistic model clObj = clogitL1(y=y, x=X, strata) plot(clObj, logX=TRUE) # cross validation clcvObj = cv.clogitL1(clObj) plot(clcvObj)