band.chol.cv | 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 n rows and p columns. The rows are assumed to be a realization of n independent copies of a p-variate random vector. |
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 n(1-1/\log(n)). The value must be in \{3, …, n-2\}. |
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.
band.chol
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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.