Learn R Programming

huge (version 2.0.0)

huge.select: Model selection for high-dimensional undirected graph estimation

Description

Implements the regularization parameter selection for high dimensional undirected graph estimation. The optional approaches are rotation information criterion (ric), stability approach to regularization selection (stars) and extended Bayesian information criterion (ebic).

Usage

huge.select(
  est,
  criterion = NULL,
  ebic.gamma = 0.5,
  stars.thresh = 0.1,
  stars.subsample.ratio = NULL,
  rep.num = 20,
  verbose = TRUE,
  num.cores = 1
)

Value

An object with S3 class "select" is returned:

refit

The optimal graph selected from the graph path

opt.icov

The optimal precision matrix from the path only applicable when method = "glasso"

opt.cov

The optimal covariance matrix from the path only applicable when method = "glasso" and est$cov is available.

merge

The graph path estimated by merging the subsampling paths. Only applicable when the input criterion = "stars".

variability

The variability along the subsampling paths. Only applicable when the input criterion = "stars".

ebic.score

Extended BIC scores for regularization parameter selection. Only applicable when criterion = "ebic".

opt.index

The index of the selected regularization parameter. NOT applicable when the input criterion = "ric"

opt.lambda

The selected regularization/thresholding parameter.

opt.sparsity

The sparsity level of "refit".

and anything else included in the input est

Arguments

est

An object with S3 class "huge".

criterion

Model selection criterion. "ric" is available for all four estimation methods, "stars" for "mb", "ct", and "glasso", and "ebic" only for "glasso". Defaults are "ric" for "mb" and "tiger", "stars" for "ct", and "ebic" for "glasso".

ebic.gamma

The tuning parameter for ebic. The default value is 0.5. Only applicable when est$method = "glasso" and criterion = "ebic".

stars.thresh

The variability threshold in stars. The default value is 0.1. An alternative value is 0.05. Only applicable when criterion = "stars".

stars.subsample.ratio

The subsampling ratio. The default value is 10*sqrt(n)/n when n>144 and 0.8 when n<=144, where n is the sample size. Only applicable when criterion = "stars".

rep.num

The number of subsamplings when criterion = "stars" or rotations when criterion = "ric". The default value is 20. NOT applicable when criterion = "ebic".

verbose

If verbose = FALSE, tracing information printing is disabled. The default value is TRUE.

num.cores

The number of CPU cores used to fit the stars subsamplings in parallel via parallel::mclapply. The default value is 1 (serial). At most two forked workers are used, and this argument is ignored on Windows. Each forked worker limits huge's native OpenMP code to one thread, but an external threaded BLAS may still create additional threads; num.cores = 1 is the portable choice when a bounded thread budget or fork safety matters. Results are identical to the serial path for the same random seed. Only applicable when criterion = "stars".

Details

Stability approach to regularization selection (stars) selects the optimal graph by variability of subsamplings and tends to overselect edges in Gaussian graphical models. It is available for "mb", "ct", and "glasso". TIGER can certify different lambda-path prefixes on different subsamples, so TIGER with stars is rejected until a common certified-prefix protocol is available; use "ric" for TIGER. Besides selecting the regularization parameters, stars can also provide an additional estimated graph by merging the corresponding subsampled graphs using the frequency counts. The subsampling procedure in stars may NOT be very efficient, we also provide the recent developed highly efficient, rotation information criterion approach (ric). Instead of tuning over a grid by cross-validation or subsampling, we directly estimate the optimal regularization parameter based on random Rotations. However, ric usually has very good empirical performances but suffers from underselections sometimes. Therefore, we suggest if user are sensitive of false negative rates, they should either consider increasing rep.num or applying the stars to model selection where supported. Extended Bayesian information criterion (ebic) is another competitive approach, but the ebic.gamma can only be tuned by experience.

For criterion = "stars", est$lambda must be non-increasing; tied values are allowed.

See Also

huge and huge-package.

Examples

Run this code
#generate data
L = huge.generator(d = 20, graph="hub")
out.mb = huge(L$data)
out.ct = huge(L$data, method = "ct")
out.glasso = huge(L$data, method = "glasso")

#model selection using ric
out.select = huge.select(out.mb)
plot(out.select)

#model selection using stars
#out.select = huge.select(out.ct, criterion = "stars", stars.thresh = 0.05,rep.num=10)
#plot(out.select)

#model selection using ebic
out.select = huge.select(out.glasso,criterion = "ebic")
plot(out.select)

Run the code above in your browser using DataLab