ridgePmultiT {porridge} | R Documentation |
Ridge estimation of the inverse covariance matrix with multi-target shrinkage.
Description
Function that evaluates the ridge estimator of the inverse covariance matrix with multi-target shrinkage.
Usage
ridgePmultiT(S, lambda, targetList)
Arguments
S |
Sample covariance |
lambda |
A |
targetList |
A list of semi-positive definite target matrices towards which the precision matrix is potentially shrunken. |
Details
This function generalizes the ridgeP
-function in the sense that multiple shrinkage targets can be provided in the estimation of the precision matrix of a zero-mean multivariate normal distribution. Hence, it assumes that the data stem from \mathcal{N}(\mathbf{0}_p, \boldsymbol{\Omega}^{-1})
. The estimator maximizes the following penalized loglikelihood:
\log( | \boldsymbol{\Omega} |) - \mbox{tr} ( \boldsymbol{\Omega} \mathbf{S} ) - \sum\nolimits_{g=1}^G \lambda_g \| \boldsymbol{\Omega} - \mathbf{T}_g \|_F^2,
where \mathbf{S}
the sample covariance matrix, \{ \lambda_g \}_{g=1}^G
the penalty parameters of each target matrix, and the \{ \mathbf{T}_g \}_{g=1}^G
the precision matrix' shrinkage targets. For more details see van Wieringen et al. (2020).
Value
The function returns a regularized inverse covariance matrix
.
Author(s)
W.N. van Wieringen.
References
van Wieringen, W.N., Stam, K.A., Peeters, C.F.W., van de Wiel, M.A. (2020), "Updating of the Gaussian graphical model through targeted penalized estimation", Journal of Multivariate Analysis, 178, Article 104621.
See Also
Examples
# set dimension and sample size
p <- 10
n <- 10
# specify vector of penalty parameters
lambda <- c(2, 1)
# generate precision matrix
T1 <- matrix(0.7, p, p)
diag(T1) <- 1
T2 <- diag(rep(2, p))
# generate precision matrix
Omega <- matrix(0.4, p, p)
diag(Omega) <- 2
Sigma <- solve(Omega)
# data
Y <- mvtnorm::rmvnorm(n, mean=rep(0,p), sigma=Sigma)
S <- cov(Y)
# unpenalized diagonal estimate
Phat <- ridgePmultiT(S, lambda, list(T1=T1, T2=T2))