View source: R/glasso_methods.R
EBICglasso | R Documentation |
This function uses the glasso
package (Friedman, Hastie and Tibshirani, 2011) to compute a sparse gaussian graphical model with the graphical lasso (Friedman, Hastie and Tibshirani, 2008). The tuning parameter is chosen using the Extended Bayesian Information criterium (EBIC).
EBICglasso(S, n, gamma = 0.5, penalize.diagonal = FALSE, nlambda = 100,
lambda.min.ratio = 0.01, returnAllResults = FALSE, checkPD = TRUE,
penalizeMatrix, countDiagonal = FALSE, refit = FALSE, threshold = FALSE,
verbose = TRUE, ...)
S |
A covariance or correlation matrix |
n |
Sample size used in computing |
gamma |
EBIC tuning parameter. 0.5 is generally a good choice. Setting to zero will cause regular BIC to be used. |
penalize.diagonal |
Should the diagonal be penalized? |
nlambda |
Number of lambda values to test. |
lambda.min.ratio |
Ratio of lowest lambda value compared to maximal lambda |
returnAllResults |
If |
checkPD |
If |
penalizeMatrix |
Optional logical matrix to indicate which elements are penalized |
countDiagonal |
Should diagonal be counted in EBIC computation? Defaults to |
refit |
Logical, should the optimal graph be refitted without LASSO regularization? Defaults to |
threshold |
Logical, should elements of the precision matrix that are below (log(p*(p-1)/2)) / sqrt(n) be removed (both before EBIC computation and in final model)? Set to |
verbose |
Logical, should progress output be printed to the console? |
... |
Arguments sent to |
The glasso is run for 100 values of the tuning parameter logarithmically spaced between the maximal value of the tuning parameter at which all edges are zero, lamba_max, and lambda_max/100. For each of these graphs the EBIC is computed and the graph with the best EBIC is selected. The partial correlation matrix is computed using wi2net
and returned. When threshold = TRUE
, elements of the inverse variance-covariance matrix are first thresholded using the theoretical bound (Jankova and van de Geer, 2018).
A partial correlation matrix
Sacha Epskamp <mail@sachaepskamp.com>
Friedman, J., Hastie, T., & Tibshirani, R. (2008). Sparse inverse covariance estimation with the graphical lasso. Biostatistics, 9(3), 432-441. Chicago
Jerome Friedman, Trevor Hastie and Rob Tibshirani (2011). glasso: Graphical lasso-estimation of Gaussian graphical models. R package version 1.7. http://CRAN.R-project.org/package=glasso
Foygel, R., & Drton, M. (2010, November). Extended Bayesian Information Criteria for Gaussian Graphical Models. In NIPS (pp. 604-612). Chicago
Revelle, W. (2014) psych: Procedures for Personality and Psychological Research, Northwestern University, Evanston, Illinois, USA, http://CRAN.R-project.org/package=psych Version = 1.4.4.
Bates, D., and Maechler, M. (2014). Matrix: Sparse and Dense Matrix Classes and Methods. R package version 1.1-3. http://CRAN.R-project.org/package=Matrix
Jankova, J., and van de Geer, S. (2018) Inference for high-dimensional graphical models. In: Handbook of graphical models (editors: Drton, M., Maathuis, M., Lauritzen, S., and Wainwright, M.). CRC Press: Boca Raton, Florida, USA.
## Not run:
### Using bfi dataset from psych ###
library("psych")
data(bfi)
# Compute correlations:
CorMat <- cor_auto(bfi[,1:25])
# Compute graph with tuning = 0 (BIC):
BICgraph <- EBICglasso(CorMat, nrow(bfi), 0, threshold = TRUE)
# Compute graph with tuning = 0.5 (EBIC)
EBICgraph <- EBICglasso(CorMat, nrow(bfi), 0.5, threshold = TRUE)
# Plot both:
layout(t(1:2))
BICgraph <- qgraph(BICgraph, layout = "spring", title = "BIC", details = TRUE)
EBICgraph <- qgraph(EBICgraph, layout = "spring", title = "EBIC")
# Compare centrality and clustering:
layout(1)
centralityPlot(list(BIC = BICgraph, EBIC = EBICgraph))
clusteringPlot(list(BIC = BICgraph, EBIC = EBICgraph))
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.