CovEst.adaptive: Covariance Estimation via Adaptive Thresholding

Description Usage Arguments Value References Examples

View source: R/CovEst.adaptive.R

Description

Cai and Liu (2011) proposed an adaptive variant of Bickel and Levina (2008) - CovEst.hard. The idea of adaptive thresholding is to apply thresholding technique on correlation matrix in that it becomes adaptive in terms of each variable.

Usage

1
CovEst.adaptive(X, thr = 0.5, nCV = 10, parallel = FALSE)

Arguments

X

an (n\times p) matrix where each row is an observation.

thr

user-defined threshold value. If it is a vector of regularization values, it automatically selects one that minimizes cross validation risk.

nCV

the number of repetitions for 2-fold random cross validations for each threshold value.

parallel

a logical; TRUE to use half of available cores, FALSE to do every computation sequentially.

Value

a named list containing:

S

a (p\times p) covariance matrix estimate.

CV

a dataframe containing vector of tested threshold values(thr) and corresponding cross validation scores(CVscore).

References

\insertRef

cai_adaptive_2011CovTools

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
## generate data from multivariate normal with Identity covariance.
pdim <- 5
data <- matrix(rnorm(10*pdim), ncol=pdim)

## apply 4 different schemes
#  mthr is a vector of regularization parameters to be tested
mthr <- seq(from=0.01,to=0.99,length.out=10)

out1 <- CovEst.adaptive(data, thr=0.1)  # threshold value 0.1
out2 <- CovEst.adaptive(data, thr=0.5)  # threshold value 0.5
out3 <- CovEst.adaptive(data, thr=0.1)  # threshold value 0.9
out4 <- CovEst.adaptive(data, thr=mthr) # automatic threshold checking

## visualize 4 estimated matrices
opar <- par(no.readonly=TRUE)
par(mfrow=c(2,2), pty="s")
image(out1$S[,pdim:1], col=gray((0:100)/100), main="thr=0.1")
image(out2$S[,pdim:1], col=gray((0:100)/100), main="thr=0.5")
image(out3$S[,pdim:1], col=gray((0:100)/100), main="thr=0.9")
image(out4$S[,pdim:1], col=gray((0:100)/100), main="automatic")
par(opar)

CovTools documentation built on Aug. 14, 2021, 1:08 a.m.