band.chol.cv {PDSCE} | R Documentation |
Banding parameter selection for banding the covariance Cholesky factor.
Description
Selects the banding parameter and computes the banded covariance estimator by banding the covariance Cholesky factor as described by Rothman, Levina, and Zhu (2010).
Usage
band.chol.cv(x, k.vec = NULL, method = c("fast", "safe"), nsplits = 10,
n.tr = NULL, quiet = TRUE)
Arguments
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: |
Details
method="fast"
is much faster than method="safe"
.
See Rothman, Levina, and Zhu (2010).
Value
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 |
Author(s)
Adam J. Rothman
References
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.
See Also
Examples
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