| Type: | Package |
| Title: | Random Graphical Model Estimation under L0 Penalty |
| Version: | 0.0.1 |
| Description: | Provides functions for estimating sparse precision matrices using a random graphical model framework under an L0-style penalty. The method evaluates candidate theta values and returns both continuous and binary precision matrices representing inferred network structures. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| Imports: | MASS |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2026-04-26 18:43:47 UTC; Matan |
| Author: | Mahdieh Farzin Asanjan [aut, cre], Vilda Purutcuoglu [aut], Ernst Wit [aut] |
| Maintainer: | Mahdieh Farzin Asanjan <mah.farzin2010@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-04-28 19:40:07 UTC |
Random graphical model estimation under L0-penalty
Description
Estimates sparse precision matrices from a covariance matrix using an iterative sparse-step approximation under an L0-style penalty. The method evaluates a grid of theta values and returns both continuous and binary precision matrices representing the inferred network structure.
Usage
rgml0(
S,
theta.jump = 0.1,
n.iter = 5,
gamma0 = 1000,
gammastop = 1e-04,
IMsteps = 2,
gammastep = 1.1,
force.zero = TRUE,
threshold = 1e-07,
use_diag = FALSE
)
Arguments
S |
A numeric covariance matrix. |
theta.jump |
Step size for candidate theta values. |
n.iter |
Number of inner iterations. |
gamma0 |
Initial gamma value. |
gammastop |
Stopping value for gamma. |
IMsteps |
Currently unused. |
gammastep |
Factor used to decrease gamma. |
force.zero |
Logical flag (currently unused). |
threshold |
Threshold for binarizing the precision matrix. |
use_diag |
Logical flag (currently unused). |
Value
A list where each element contains:
- precision_matrix
Estimated precision matrix.
- binary_precision_matrix
Thresholded binary matrix.
- theta
Theta value used.
- sample_index
Index of theta.
Examples
S <- diag(3)
out <- rgml0(S, theta.jump = 0.4, n.iter = 1,
gamma0 = 1, gammastop = 0.1, gammastep = 2)
length(out)