Learn R Programming

baygel (version 0.3.0)

blockBAGL: Bayesian adaptive graphical lasso block Gibbs sampler for Gaussian graphical models.

Description

Implements a Bayesian adaptive graphical lasso block Gibbs sampler to simulate the posterior distribution of the precision matrix for Gaussian graphical models.

Usage

blockBAGL(X, burnin, iterations, verbose = TRUE, r = 0.01, s = 1e-06)

Value

A list containing precision `Omega` and covariance `Sigma` matrices from the Markov chains.

Arguments

X

A numeric matrix, assumed to be generated from a multivariate Gaussian distribution.

burnin

An integer specifying the number of burn-in iterations.

iterations

An integer specifying the length of the Markov chain after the burn-in iterations.

verbose

A logical determining whether the progress of the MCMC sampler should be displayed.

r

A double specifying the value of the shape parameter for the gamma prior.

s

A double specifying the value of the scale parameter for the gamma prior.

Examples

Run this code
# Generate true precision matrix:
p             <- 10
n             <- 500
OmegaTrue    <- pracma::Toeplitz(c(0.7^rep(1:p-1)))
SigTrue      <- pracma::inv(OmegaTrue)
# Generate expected value vector:
mu            <- rep(0,p)
# Generate multivariate normal distribution:
set.seed(123)
X             <- MASS::mvrnorm(n, mu = mu, Sigma = SigTrue)
# Generate posterior distribution:
posterior     <- blockBAGL(X, iterations = 1000, burnin = 500)
# Estimated precision matrix using the mean of the posterior:
OmegaEst      <- apply(simplify2array(posterior$Omega), 1:2, mean)

Run the code above in your browser using DataLab