The function "sugm" estimates sparse undirected graphical models (Gaussian precision matrices) in high dimensions. Two procedures are implemented using a column-wise regression scheme: (1) Tuning-Insensitive Graph Estimation and Regression based on square-root Lasso ("tiger"); and (2) The Constrained L1 Minimization for Sparse Precision Matrix Estimation ("clime"). The optimization algorithm is based on the alternating direction method of multipliers (ADMM), linearization, and multi-stage screening. Missing values can be tolerated for CLIME when the input is a data matrix. Computation is memory-optimized using sparse matrix output.
sugm(data, lambda = NULL, nlambda = NULL, lambda.min.ratio = NULL,
rho = NULL, method = "tiger", sym = "or", shrink = NULL,
prec = 1e-4, max.ite = 1e4, standardize = FALSE,
perturb = TRUE, verbose = TRUE)An object with S3 class "sugm" is returned:
The n by d data matrix or d by d sample covariance matrix from the input.
An indicator of the sample covariance.
The sequence of regularization parameters lambda used in the program.
The number of values used in lambda.
A list of d by d precision matrices corresponding to regularization parameters.
The sym from the input.
The method from the input.
A list of d by d adjacency matrices of estimated graphs as a graph path corresponding to lambda.
The sparsity levels of the graph path.
Iteration counts returned by the underlying optimization solver.
A d by nlambda matrix containing nonzero counts along the estimated path.
The standardize from the input.
The perturb from the input.
The verbose from the input.
There are two options for "clime": (1) an n by d data matrix, or (2) a d by d sample covariance matrix. The input type is identified by symmetry. For "tiger", covariance input is not supported and d\( \ge \)3 is required. For "clime", d\( \ge \)2 is required.
A sequence of decreasing, positive, finite numbers controlling regularization. Typical usage is lambda = NULL, in which case the sequence is generated from nlambda and lambda.min.ratio.
The number of values used in lambda. Default value is 5.
The minimum value of generated lambda as a fraction of lambda.max. The default value is 0.4 for both "tiger" and "clime".
Penalty parameter used in the optimization algorithm. The default value is 1.
"tiger" is applied if method = "tiger" and "clime" is applied if method="clime". Default value is "tiger".
Symmetrization of output graphs. If sym = "and", the edge between node i and node j is selected ONLY when both node i and node j are selected as neighbors for each other. If sym = "or", the edge is selected when either node i or node j is selected as the neighbor for each other. The default value is "or".
Shrinkage of the regularization parameter based on estimation precision. The default value is 0.
Stopping criterion. The default value is 1e-4.
The iteration limit. The default value is 1e4.
Variables are standardized to have mean zero and unit standard deviation if standardize = TRUE. The default value is FALSE.
For "clime", if TRUE, adds \(1/\sqrt{n}\) to the diagonal of Sigma; if FALSE, no perturbation is added; a numeric value can also be supplied directly. The default value is TRUE.
Tracing information printing is disabled if verbose = FALSE. The default value is TRUE.
Xingguo Li, Tuo Zhao, Lie Wang, Xiaoming Yuan and Han Liu
Maintainer: Tuo Zhao <tourzhao@gatech.edu>
CLIME solves the following minimization problem
$$
\min || \Omega ||_1 \quad \textrm{s.t. } || S \Omega - I ||_\infty \le \lambda,
$$
where \(||\cdot||_1\) and \(||\cdot||_\infty\) are element-wise 1-norm and \(\infty\)-norm respectively.
"tiger" solves the following minimization problem
$$
\min ||X-XB||_{2,1} + \lambda ||B||_1 \quad \textrm{s.t. } B_{jj} = 0,
$$
where \(||\cdot||_{1}\) and \(||\cdot||_{2,1}\) are element-wise 1-norm and \(L_{2,1}\)-norm respectively.
1. T. Cai, W. Liu and X. Luo. A constrained L1 minimization approach to sparse precision matrix estimation. Journal of the American Statistical Association, 2011.
2. H. Liu, L. Wang. TIGER: A tuning-insensitive approach for optimally estimating large undirected graphs. Technical Report, 2012.
3. B. He and X. Yuan. On non-ergodic convergence rate of Douglas-Rachford alternating direction method of multipliers. Technical Report, 2012.
flare-package, sugm.generator, sugm.select, sugm.plot, sugm.roc, plot.sugm, plot.select, plot.roc, plot.sim, print.sugm, print.select, print.roc and print.sim.
## load package required
library(flare)
## generating data
n = 50
d = 50
D = sugm.generator(n=n,d=d,graph="band",g=1)
plot(D)
## sparse precision matrix estimation with method "clime"
out1 = sugm(D$data, method = "clime")
plot(out1)
sugm.plot(out1$path[[4]])
## sparse precision matrix estimation with method "tiger"
out2 = sugm(D$data, method = "tiger")
plot(out2)
sugm.plot(out2$path[[5]])
Run the code above in your browser using DataLab