Automatic search for penalty parameter of ridge precision estimator with known chordal support
Automic search for the optimal ridge penalty parameter for the ridge
estimator of the precision matrix with known chordal support. Optimal in the
sense that it yields the maximum cross-validated likelihood. The search
employs the Brent algorithm as implemented in the
optim function.
optPenaltyPchordal( Y, lambdaMin, lambdaMax, lambdaInit = (lambdaMin + lambdaMax)/2, zeros, cliques = list(), separators = list(), target = default.target(covML(Y)), type = "Alt" )
Y |
Data |
lambdaMin |
A |
lambdaMax |
A |
lambdaInit |
A |
zeros |
A |
cliques |
A |
separators |
A |
target |
A target |
type |
A |
See the function optim for details on the
implementation of the Brent algorithm.
A numeric with the LOOCV optimal choice for the ridge penalty
parameter.
Wessel N. van Wieringen.
Miok, V., Wilting, S.M., Van Wieringen, W.N. (2016), "Ridge estimation of the VAR(1) model and its time series chain graph from multivariate time-course omics data", Biometrical Journal, 59(1), 172-191.
Van Wieringen, W.N. and Peeters, C.F.W. (2016), "Ridge Estimation of Inverse Covariance Matrices from High-Dimensional Data", Computational Statistics and Data Analysis, 103, 284-303.
# generate data p <- 8 n <- 100 set.seed(333) Y <- matrix(rnorm(n*p), nrow = n, ncol = p) # define zero structure S <- covML(Y) S[1:3, 6:8] <- 0 S[6:8, 1:3] <- 0 zeros <- which(S==0, arr.ind=TRUE) # obtain (triangulated) support info supportP <- support4ridgeP(nNodes=p, zeros=zeros) # determine optimal penalty parameter ## Not run: optLambda <- optPenaltyPchordal(Y, 10^(-10), 10, 0.1, zeros=supportP$zeros, cliques=supportP$cliques, separators=supportP$separators) ## End(Not run) optLambda <- 0.1 # estimate precision matrix with known (triangulated) support Phat <- ridgePchordal(S, optLambda, zeros=supportP$zeros, cliques=supportP$cliques, separators=supportP$separators)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.