lambda.cv: Choose the Tuning Parameter of the Ridge Inverse

View source: R/lambda.cv.R

lambda.cvR Documentation

Choose the Tuning Parameter of the Ridge Inverse

Description

Choose the tuning parameter of the ridge inverse by minimizing cross validation estimates of the total prediction errors of the p separate ridge regressions.

Usage

lambda.cv(x, lambda, fold)

Arguments

x

An n by p data matrix.

lambda

A numeric vector of candidate tuning parameters.

fold

fold-cross validation is performed.

Value

A list containing

lambda

The selected tuning parameter, which minimizes the total prediction errors.

spe

The total prediction error for all the candidate lambda values.

Author(s)

Min Jin Ha

References

Ha, M. J. and Sun, W. (2014). Partial correlation matrix estimation using ridge penalty followed by thresholding and re-estimation. Biometrics, 70, 762–770.

Examples

 p <- 100 # number of variables
 n <- 50 # sample size
 
 ###############################
 # Simulate data
 ###############################
 simulation <- simulateData(G = p, etaA = 0.02, n = n, r = 1)
 data <- simulation$data[[1L]]
 stddata <- scale(x = data, center = TRUE, scale = TRUE)
 
 ###############################
 # estimate ridge parameter
 ###############################
 lambda.array <- seq(from = 0.1, to = 20, by = 0.1) * (n - 1.0)
 fit <- lambda.cv(x = stddata, lambda = lambda.array, fold = 10L)
 lambda <- fit$lambda[which.min(fit$spe)] / (n - 1.0)
 
 ###############################
 # calculate partial correlation 
 # using ridge inverse
 ###############################
 partial <- solve(lambda*diag(p) + cor(data))
 partial <- -scaledMat(x = partial)


GGMridge documentation built on Nov. 25, 2023, 1:08 a.m.

Related to lambda.cv in GGMridge...