Theta.tuning {TransTGGM} | R Documentation |
Fast sparse precision matrix estimation.
Description
The fast sparse precision matrix estimation in step 2(b).
Usage
Theta.tuning(lambda2, S.hat.A, delta.hat, Omega.hat0, n.A,
theta.algm="cd", adjust.BIC=FALSE)
Arguments
lambda2 |
A vector, a sequence of tuning parameters. |
S.hat.A |
The sample covariance matrix. |
delta.hat |
The divergence matrix estimated in step 2(a). If the precision matrix is estimated in the common case (Liu and Luo, 2015, JMVA), it can be set to zero matrix. |
Omega.hat0 |
The initial values of the precision matrix. |
n.A |
The sample size. |
theta.algm |
The optimization algorithm used to solve |
adjust.BIC |
Whether to use the adjusted BIC to select lambda2, the default setting is F. |
Value
A result list including: Theta.hat.m: the optimal precision matrix; BIC.summary: the summary of BICs; Theta.hat.list.m: the precision matrices corresponding to a sequence of tuning parameters.
Author(s)
Mingyang Ren, Yaoming Zhen, Junhui Wang. Maintainer: Mingyang Ren renmingyang17@mails.ucas.ac.cn.
References
Ren, M., Zhen Y., and Wang J. (2022). Transfer learning for tensor graphical models. Liu, W. and Luo X. (2015). Fast and adaptive sparse precision matrix estimation in high dimensions, Journal of Multivariate Analysis.
Examples
p = 20
n = 200
omega = diag(rep(1,p))
for (i in 1:p) {
for (j in 1:p) {
omega[i,j] = 0.3^(abs(i-j))*(abs(i-j) < 2)
}
}
Sigma = solve(omega)
X = MASS::mvrnorm(n, rep(0,p), Sigma)
S.hat.A = cov(X)
delta.hat = diag(rep(1,p)) - diag(rep(1,p))
lambda2 = seq(0.1,0.5,length.out =10)
res = Theta.tuning(lambda2, S.hat.A, delta.hat, n.A=n)
omega.hat = res$Theta.hat.m