Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

optPenaltyPchordal

Automatic search for penalty parameter of ridge precision estimator with known chordal support


Description

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.

Usage

optPenaltyPchordal(
  Y,
  lambdaMin,
  lambdaMax,
  lambdaInit = (lambdaMin + lambdaMax)/2,
  zeros,
  cliques = list(),
  separators = list(),
  target = default.target(covML(Y)),
  type = "Alt"
)

Arguments

Y

Data matrix. Variables assumed to be represented by columns.

lambdaMin

A numeric giving the minimum value for the penalty parameter.

lambdaMax

A numeric giving the maximum value for the penalty parameter.

lambdaInit

A numeric giving the initial value for the penalty parameter.

zeros

A matrix with indices of entries of the precision matrix that are constrained to zero. The matrix comprises two columns, each row corresponding to an entry of the precision matrix. The first column contains the row indices and the second the column indices. The specified conditional independence graph implied by the zero-structure of the precision should be undirected and decomposable. If not, it is symmetrized and triangulated.

cliques

A list-object containing the node indices per clique as obtained from the support4ridgeP-function.

separators

A list-object containing the node indices per separator as obtained from the support4ridgeP-function.

target

A target matrix (in precision terms) for Type I ridge estimators.

type

A character indicating the type of ridge estimator to be used. Must be one of: Alt, ArchI, ArchII.

Details

See the function optim for details on the implementation of the Brent algorithm.

Value

A numeric with the LOOCV optimal choice for the ridge penalty parameter.

Author(s)

Wessel N. van Wieringen.

References

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.

See Also

Examples

# 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)

rags2ridges

Ridge Estimation of Precision Matrices from High-Dimensional Data

v2.2.4
GPL (>= 2)
Authors
Carel F.W. Peeters [cre, aut], Anders Ellern Bilgrau [aut], Wessel N. van Wieringen [aut]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.