cv.spcr {spcr} | R Documentation |
Cross-validation for spcr
Description
This function performs cross-validation for spcr. cv.spcr
enables us to determine two regularization parameters \lambda_\beta
and \lambda_\gamma
objectively.
Usage
cv.spcr(x, y, k, w=0.1, xi=0.01, nfolds=5, adaptive=FALSE,
center=TRUE, scale=FALSE, lambda.B.length=10, lambda.gamma.length=10,
lambda.B=NULL, lambda.gamma=NULL)
Arguments
x |
A data matrix. |
y |
A response vector. |
k |
The number of principal components. |
w |
Weight parameter with |
xi |
The elastic net mixing parameter with |
nfolds |
The number of folds. The default is 5. |
adaptive |
If |
center |
If |
scale |
If |
lambda.B.length |
The number of candidates for the parameter |
lambda.gamma.length |
The number of candidates for the parameter |
lambda.B |
Optional user-supplied candidates for the parameter |
lambda.gamma |
Optional user-supplied candidates for the parameter |
Value
lambda.gamma.seq |
The values of |
lambda.B.seq |
The values of |
CV.mat |
Matrix of the mean values of cross-validation. The row shows a sequence of |
lambda.gamma.cv |
The value of |
lambda.B.cv |
The value of |
cvm |
The minimum of the mean cross-validated error. |
Author(s)
Shuichi Kawano
skawano@ai.lab.uec.ac.jp
References
Kawano, S., Fujisawa, H., Takada, T. and Shiroishi, T. (2015). Sparse principal component regression with adaptive loading. Compuational Statistics & Data Analysis, 89, 192–203.
See Also
spcr
Examples
#data
n <- 50
np <- 5
set.seed(1)
nu0 <- c(-1, 1)
x <- matrix( rnorm(np*n), n, np )
e <- rnorm(n)
y <- nu0[1]*x[ ,1] + nu0[2]*x[ ,2] + e
#fit
cv.spcr.fit <- cv.spcr(x=x, y=y, k=2)
cv.spcr.fit
#fit (adaptive SPCR)
cv.adaspcr.fit <- cv.spcr(x=x, y=y, k=2, adaptive=TRUE)
cv.adaspcr.fit