band.chol.cv {PDSCE} | R Documentation |
Selects the banding parameter and computes the banded covariance estimator by banding the covariance Cholesky factor as described by Rothman, Levina, and Zhu (2010).
band.chol.cv(x, k.vec = NULL, method = c("fast", "safe"), nsplits = 10,
n.tr = NULL, quiet = TRUE)
x |
A data matrix with |
k.vec |
An optional vector of candidate banding parameters (the possible number of sub-diagonals to keep as non-zero).
The default is the long vector |
method |
The method to use. The default is
|
nsplits |
Number of random splits to use for banding parameter selection. |
n.tr |
Optional number of cases to use in the training set. The default is the nearest
integer to |
quiet |
Logical: |
method="fast"
is much faster than method="safe"
.
See Rothman, Levina, and Zhu (2010).
A list with
sigma |
the covariance estimate at the selected banding parameter |
best.k |
the selected banding parameter |
cv.err |
the vector of validation errors, one for each entry in |
k.vec |
the vector of candidate banding parameters |
n.tr |
The number of cases used for the training set |
Adam J. Rothman
Rothman, A. J., Levina, E., and Zhu, J. (2010). A new approach to Cholesky-based covariance regularization in high dimensions. Biometrika 97(3): 539-550.
set.seed(1)
n=50
p=20
true.cov=diag(p)
true.cov[cbind(1:(p-1), 2:p)]=0.4
true.cov[cbind(2:p, 1:(p-1))]=0.4
eo=eigen(true.cov, symmetric=TRUE)
z=matrix(rnorm(n*p), nrow=n, ncol=p)
x=z%*% tcrossprod(eo$vec*rep(eo$val^(0.5), each=p),eo$vec)
cv.out=band.chol.cv(x=x)
plot(cv.out$k.vec, cv.out$cv.err)
cv.out$best.k
cv.out$sigma