optPenaltyPchordal: Automatic search for penalty parameter of ridge precision...

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/rags2ridgesVariants.r

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

1
2
3
4
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.

target

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

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.

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

ridgePchordal, ridgeP, optPenalty.aLOOCV, optPenalty.kCV

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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)

CFWP/rags2ridges documentation built on Sept. 23, 2017, 6:38 a.m.