Internal function to conduct k-fold cross-validation for nclreg, produces a plot,
and returns cross-validated loss values for lambda
cv.nclreg_fit(x, y, weights, offset, lambda=NULL, balance=TRUE,
rfamily=c("clossR", "closs", "gloss", "qloss"), s=1.5,
nfolds=10, foldid, type = c("loss", "error"),
plot.it=TRUE, se=TRUE, n.cores=2, trace=FALSE,
parallel=FALSE, ...)
an object of class "cv.nclreg"
is returned, which is a
list with the ingredients of the cross-validation fit.
a fitted nclreg object for the full data.
matrix of loss values or errors with row values for lambda
and column values for k
th cross-validation
The mean cross-validated loss values or errors - a vector of length
length(lambda)
.
estimate of standard error of cv
.
an optional vector of values between 1 and nfold
identifying what fold each observation is in.
a vector of lambda
values
index of lambda
that gives minimum cv
value.
value of lambda
that gives minimum cv
value.
x
matrix as in nclreg
.
response y
as in nclreg
.
Observation weights; defaults to 1 per observation
this can be used to specify an a priori known component to be included in the linear predictor during fitting. This should be NULL or a numeric vector of length equal to the number of cases. Currently only one offset term can be included in the formula.
Optional user-supplied lambda sequence; default is
NULL
, and nclreg
chooses its own sequence
for rfamily="closs", "gloss", "qloss"
only
response variable distribution and nonconvex loss function
nonconvex loss tuning parameter for robust regression and classification.
number of folds >=3, default is 10
an optional vector of values between 1 and nfold
identifying what fold each observation is in. If supplied,
nfold
can be missing and will be ignored.
cross-validation criteria. For type="loss"
, loss function values and type="error"
is misclassification error.
a logical value, to plot the estimated loss values if TRUE
.
a logical value, to plot with standard errors.
The number of CPU cores to use. The cross-validation loop will attempt to send different CV folds off to different cores.
a logical value, print progress of cross validation or not
a logical value, parallel computing or not
Other arguments that can be passed to nclreg
.
Zhu Wang <zwang145@uthsc.edu>
The function runs nclreg
nfolds
+1 times; the
first to compute the lambda
sequence, and then to
compute the fit with each of the folds omitted. The error or the loss value is
accumulated, and the average value and standard deviation over the
folds is computed. Note that cv.nclreg
can be used to search for
values for alpha
: it is required to call cv.nclreg
with a fixed vector foldid
for different values of alpha
.
Zhu Wang (2021), MM for Penalized Estimation, TEST, tools:::Rd_expr_doi("10.1007/s11749-021-00770-2")