| Type: | Package | 
| Title: | A Fast Algorithm for Sparse Precision Matrix Estimation | 
| Version: | 0.1.1 | 
| Maintainer: | Juan G. Colonna <juancolonna@icomp.ufam.edu.br> | 
| Description: | It implements an improved and computationally faster version of the original Stepwise Gaussian Graphical Algorithm for estimating the Omega precision matrix from high-dimensional data. Zamar, R., Ruiz, M., Lafit, G. and Nogales, J. (2021) <doi:10.52933/jdssv.v1i2.11>. | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/juancolonna/FastStepGraph | 
| Depends: | R (≥ 4.3), | 
| Imports: | doParallel (≥ 1.0), foreach (≥ 1.5), MASS (≥ 7.3) | 
| Suggests: | knitr, rmarkdown, devtools | 
| VignetteBuilder: | knitr | 
| Encoding: | UTF-8 | 
| Language: | en-US | 
| RoxygenNote: | 7.2.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2023-10-12 15:38:30 UTC; juan | 
| Author: | Juan G. Colonna | 
| Repository: | CRAN | 
| Date/Publication: | 2023-10-12 16:10:02 UTC | 
Fast Stepwise Gaussian Graphical Model
Description
Improved and faster implementation of the Stepwise Gaussian Graphical Algorithm.
Usage
FastStepGraph(
  x,
  alpha_f,
  alpha_b = NULL,
  nei.max = 5,
  data_scale = FALSE,
  max.iterations = NULL
)
Arguments
| x | Data matrix (of size n_samples x p_variables). | 
| alpha_f | Forward threshold (no default value). | 
| alpha_b | Backward threshold. If alpha_b=NULL, then the rule alpha_b <- 0.5*alpha_f is applied. | 
| nei.max | Maximum number of variables in every neighborhood (default value 5). | 
| data_scale | Boolean parameter (TRUE or FALSE), when to scale data to zero mean and unit variance (default FALSE). | 
| max.iterations | Maximum number of iterations (integer), the defaults values is set to p*(p-1). | 
Value
A list with the values:
| vareps | Response variables. | 
| beta | Regression coefficients. | 
| Edges | Estimated set of edges. | 
| Omega | Estimated precision matrix. | 
Author(s)
Prof. Juan G. Colonna, PhD. juancolonna@icomp.ufam.edu.br
Prof. Marcelo Ruiz, PhD. mruiz@exa.unrc.edu.ar
Examples
data <- FastStepGraph::SigmaAR(30, 50, 0.4) # Simulate Gaussian Data
G <- FastStepGraph::FastStepGraph(data$X, alpha_f = 0.22, alpha_b = 0.14, data_scale=TRUE)
Simulate Covariance Matrix with an Auto-regressive (AR) Model
Description
Helper function to simulate Simulate Gaussian Data with an Autoregressive (AR) Model
Usage
SigmaAR(n_rows, p_columns, phi)
Arguments
| n_rows | Number of samples (rows of X). | 
| p_columns | Number of variables (columns of X). | 
| phi | Auto-regression coefficient. | 
Value
A list with the values:
| Sigma | A covariance matrix. | 
| Omega | A precision matrix. | 
| X | A normalized data matrix with Gaussian distribution. | 
Author(s)
Prof. Juan G. Colonna, PhD. juancolonna@icomp.ufam.edu.br
Prof. Marcelo Ruiz, PhD. mruiz@exa.unrc.edu.ar
Examples
data <- FastStepGraph::SigmaAR(30, 50, 0.4) # Simulate Gaussian Data
Searches for the optimal combination of alpha_f and alpha_b parameters using Cross-Validation
Description
cv.FastStepGraph implements the cross-validation for the Fast Step Graph algorithm.
Usage
cv.FastStepGraph(
  x,
  n_folds = 5,
  alpha_f_min = 0.2,
  alpha_f_max = 0.8,
  b_coef = 0.5,
  n_alpha = 32,
  nei.max = 5,
  data_scale = FALSE,
  data_shuffle = TRUE,
  max.iterations = NULL,
  return_model = FALSE,
  parallel = FALSE,
  n_cores = NULL
)
Arguments
| x | Data matrix (of size n x p). | 
| n_folds | Number of folds for the cross-validation procedure (default value 5). | 
| alpha_f_min | Minimum threshold value for the cross-validation procedure (default value 0.2). | 
| alpha_f_max | Minimum threshold value for the cross-validation procedure (default value 0.8). | 
| b_coef | This parameter applies the empirical rule alpha_b=b_coef*alpha_f during the initial search for the optimal alpha_f parameter while alpha_b remains fixed, after finding optimal alpha_f, alpha_b is varied to find its optimal value. The default value of b_coef is 0.5. | 
| n_alpha | Number of elements in the grid for the cross-validation (default value 32). | 
| nei.max | Maximum number of variables in every neighborhood (default value 5). | 
| data_scale | Boolean parameter (TRUE or FALSE), when to scale data to zero mean and unit variance (default FALSE). | 
| data_shuffle | Boolean parameter (default TRUE), when samples (rows of X) must be randomly shuffled. | 
| max.iterations | Maximum number of iterations (integer), the defaults values is set to p*(p-1). | 
| return_model | Default FALSE. If set to TRUE, at the end of cross-validation, FastStepGraph is called with the optimal parameters alpha_f and alpha_b, returning  | 
| parallel | Boolean parameter (TRUE or FALSE), when to run Cross-Validation in parallel using a multicore architecture (default FALSE). | 
| n_cores | An 'int' value specifying the number of cores do you want to use if 'parallel=TRUE'. If n_cores is not specified, the maximum number of cores on your machine minus one will be set automatically. | 
Value
A list with the values:
| alpha_f_opt | the optimal alpha_f value. | 
| alpha_f_opt | the optimal alpha_f value. | 
| CV.loss | minimum loss. | 
If return_model=TRUE, then also returns:
| vareps | Response variables. | 
| beta | Regression coefficients. | 
| Edges | Estimated set of edges. | 
| Omega | Estimated precision matrix. | 
Author(s)
Prof. Juan G. Colonna, PhD. juancolonna@icomp.ufam.edu.br
Prof. Marcelo Ruiz, PhD. mruiz@exa.unrc.edu.ar
Examples
data <- FastStepGraph::SigmaAR(30, 50, 0.4) # Simulate Gaussian Data
res <- FastStepGraph::cv.FastStepGraph(data$X, data_scale=TRUE)