Learn R Programming

QICD (version 1.2.0)

QICD.cv:

Description

Dose k-fold cross-validation for QICD, produces a plot and returns an appropriate tuning parameter lambda

Usage

QICD.cv(y, x, beta = NULL, tau, lambda, nfolds = 10,
a = 3.7, funname = "scad", intercept = TRUE, thresh = 1e-06, 
maxin = 100, maxout = 20, mc.cores=getOption("mc.cores", 1L), 
plot.off = F, ...)

Arguments

y
response y as in QICD.
x
x matrix as in QICD.
beta
beta vector as in QICD
tau
tau value as in QICD
lambda
a user supplied lambda sequence. A numerical vector, which will be used as a pool for tuning parameter searching
nfolds
number of folds - default is 10.
a
a value as in QICD
funname
funname character vector as in QICD
intercept
intercept logical value as in QICD
thresh
thresh threshold as in QICD
maxin
maxin as in QICD
maxout
maxout as in QICD
mc.cores
The number of cores to use for parallel computing, i.e. at most how many child processes will be run simultaneously. The option is initialized from environment variable MC_CORES if set. Must be at least one, and parallelization requires at least two cores.
plot.off
a logical value to control if a plot of prediction error vs. lambda will be produced. Default is FALSE and a plot will be given.
other argument that can be passed to plot

Value

an object of class "cv.qicd" is returned, which is a list with the components of the cross-validation fit.
lambda
the values of lambda used in the fits.
cvm
The mean cross-validated error-a vetor of length nlambda as in QICD
cvsd
estimate of standard error of cvm.
cvup
upper curve = cvm+cvsd.
cvlo
upper curve = cvm-cvsd.
nzero
number of non-zero coefficients at each lambda
lambda.min
value of lambda that gives minimum cvm.
lambda.1se
largest value of lambda such that error is within 1 standard error of the minimum.

Details

The function run QICD nfolds times. For each specific lambda, the average test prediction error will be produced for comparison. Claim that QICD.cv does NOT search for values of a.

References

Peng,B and Wang,L. (2015)An Iterative Coordinate Descent Algorithm for High-dimensional Nonconvex Penalized Quantile Regression. Journal of Computational and Graphical Statistics http://amstat.tandfonline.com/doi/abs/10.1080/10618600.2014.913516 http://doi.org/10.1080/10618600.2014.913516

See Also

QICD,QICD.BIC

Examples

Run this code
x=matrix(rnorm(1000),50)
n=dim(x)[1]
p=dim(x)[2]
intercept=1
y=x[,1]+x[,7]+x[,9]+0.1*rnorm(n)
beta1=rep(0,p+intercept)
tau=0.5
a=2.7
res.cv=QICD.cv(y, x, beta1, tau, lambda=seq(8,9,by=0.1),
nfolds=3, a, funname="scad",intercept=intercept)

Run the code above in your browser using DataLab