Compute Gaussian graphical model using graphical lasso based on extended BIC criterium.
This function uses the glasso package (Friedman, Hastie and Tibshirani, 2011) to compute a sparse gaussian graphical model with the graphical lasso (Friedman, Hastie \& 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)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.