R: Plots the cross-validation curve from a "cv.ncvreg" object
plot.cv.ncvreg
R Documentation
Plots the cross-validation curve from a "cv.ncvreg" object
Description
Plots the cross-validation curve from a "cv.ncvreg"
object, along with standard error bars.
Usage
## S3 method for class 'cv.ncvreg'
plot(x, log.l=TRUE, type=c("cve", "rsq", "scale",
"snr", "pred", "all"), selected=TRUE, vertical.line=TRUE, col="red",
...)
Arguments
x
A "cv.ncvreg" object.
log.l
Should horizontal axis be on the log scale? Default is
TRUE.
type
What to plot on the vertical axis. cve plots the
cross-validation error (deviance); rsq plots an estimate of
the fraction of the deviance explained by the model (R-squared);
snr plots an estimate of the signal-to-noise ratio;
scale plots, for family="gaussian", an estimate of the
scale parameter (standard deviation); pred plots, for
family="binomial", the estimated prediction error; all
produces all of the above.
selected
If TRUE (the default), places an axis on top of
the plot denoting the number of variables in the model (i.e., that
have a nonzero regression coefficient) at that value of
lambda.
vertical.line
If TRUE (the default), draws a vertical
line at the value where cross-validaton error is minimized.
col
Controls the color of the dots (CV estimates).
...
Other graphical parameters to plot
Details
Error bars representing approximate 68% confidence intervals are
plotted along with the estimates at value of lambda. For
rsq and snr, these confidence intervals are quite crude,
especially near zero, and will hopefully be improved upon in later
versions of ncvreg.
Author(s)
Patrick Breheny <patrick-breheny@uiowa.edu>
References
Breheny, P. and Huang, J. (2011) Coordinate descent
algorithms for nonconvex penalized regression, with applications to
biological feature selection. Ann. Appl. Statist., 5: 232-253.
See Also
ncvreg, cv.ncvreg
Examples
## Linear regression
data(prostate)
X <- as.matrix(prostate[,1:8])
y <- prostate$lpsa
cvfit <- cv.ncvreg(X, y)
plot(cvfit)
par(mfrow=c(2,2))
plot(cvfit, type="all")
## Logistic regression
data(heart)
X <- as.matrix(heart[,1:9])
y <- heart$chd
cvfit <- cv.ncvreg(X, y, family="binomial")
plot(cvfit)
par(mfrow=c(2,2))
plot(cvfit, type="all")