Learn R Programming

huge (version 1.0.2)

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 Rotational 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, stars.rep.num = 20, verbose = TRUE)

Arguments

est
An object with S3 class "huge"
criterion
Model selection criterion. "RIC" and "stars" are available for all 3 graph estimation methods. EBIC is only applicable for GLASSO. The default value is "RIC".
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< code="">, where n is the sample size. Only applicable when criterion = "stars".
stars.rep.num
The number of subsampling for StARS. The default value is 20. Only applicable when criterion = "stars"
verbose
If verbose = FALSE, tracing information printing is disabled. The default value is TRUE.

Value

  • An object with S3 class "select" is returned:
  • refitThe optimal graph selected from the graph path
  • opt.wiThe optimal precision matrix from the path only applicable when method = "GLASSO"
  • opt.wThe optimal covariance matrix from the path only applicable when method = "GLASSO" and est$w is avaiable.
  • mergeThe graph path estimated by merging the subsampling paths. Only applicable when the input criterion = "stars".
  • variabilityThe variability along the subsampling paths. Only applicable when the input criterion = "stars".
  • EBIC.scoresExtended BIC scores for regularization parameter selection. Only applicable when criterion = "EBIC".
  • opt.indexThe index of the selected regularization parameter. NOT applicable when the input criterion = "RIC"
  • opt.lambdaThe selected regularization/thresholding parameter.
  • opt.sparsityThe sparsity level of "refit".
  • and anything else inluded in the input est

Details

Stability Approach to Reulgarization Selection is a natural way to select optimal regularization parameter for all three estimation methods. It selects the optimal graph by variability of subsamplings and tends to overselect edges in Gaussian graphical models. 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 proved the recent developed highly efficient, Rotation Information Criterion approach. Instead of tuning over a grid by cross-validation or subsampling, we directly estimate the optimal regularization paramter 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 r.num or applying the StARS to model selection. Extended Bayesian Information Criterion (EBIC) is another competive approach, but the EBIC.gamma can only be tuned by experience.

References

1. Tuo Zhao and Han Liu. HUGE: A Package for High-dimensional Undirected Graph Estimation. Technical Report, Carnegie Mellon University, 2010 2. Han Liu, Kathryn Roeder and Larry Wasserman. Stability Approach to Regularization Selection (StARS) for High Dimensional Graphical Models. Advances in Neural Information Processing Systems (NIPS), 2010. Jiahua Chen and Zehua Chen. Extended Bayesian information criterion for model selection with large model space. Biometrika, 2008.

See Also

huge and huge-package.

Examples

Run this code
#generate data
L = huge.generator(d = 200, graph="hub")
out.MBGEL = huge(L)
out.GECT = huge(L, method = "GECT")
out.GLASSO = huge(L, method = "GLASSO")

#model selection using RIC
out.select = huge.select(out.MBGEL)
plot(out.select)

#model selection using stars
out.select = huge.select(out.GECT, criterion = "stars", stars.thresh = 0.05)
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