BDgraph (version 2.72)

gnorm: Normalizing constant for G-Wishart

Description

Calculates log of the normalizing constant of G-Wishart distribution based on the Monte Carlo method, developed by Atay-Kayis and Massam (2005).

Usage

gnorm( adj, b = 3, D = diag( ncol( adj ) ), iter = 100 )

Value

Log of the normalizing constant of G-Wishart distribution.

Arguments

adj

adjacency matrix corresponding to the graph structure. It is an upper triangular matrix in which \(a_{ij}=1\) if there is a link between notes \(i\) and \(j\), otherwise \(a_{ij}=0\).

b

degree of freedom for G-Wishart distribution, \(W_G(b, D)\).

D

positive definite \((p \times p)\) "scale" matrix for G-Wishart distribution, \(W_G(b,D)\). The default is an identity matrix.

iter

number of iteration for the Monte Carlo approximation.

Author

Reza Mohammadi a.mohammadi@uva.nl

Details

Log of the normalizing constant approximation using Monte Carlo method for a G-Wishart distribution, \(K \sim W_G(b, D)\), with density:

$$Pr(K) = \frac{1}{I(b, D)} |K| ^ {(b - 2) / 2} \exp \left\{- \frac{1}{2} \mbox{trace}(K \times D)\right\}.$$

References

Atay-Kayis, A. and Massam, H. (2005). A monte carlo method for computing the marginal likelihood in nondecomposable Gaussian graphical models, Biometrika, 92(2):317-335, tools:::Rd_expr_doi("10.1093/biomet/92.2.317")

Mohammadi, R., Massam, H. and Letac, G. (2021). Accelerating Bayesian Structure Learning in Sparse Gaussian Graphical Models, Journal of the American Statistical Association, tools:::Rd_expr_doi("10.1080/01621459.2021.1996377")

Uhler, C., et al (2018) Exact formulas for the normalizing constants of Wishart distributions for graphical models, The Annals of Statistics 46(1):90-118, tools:::Rd_expr_doi("10.1214/17-AOS1543")

See Also

rgwish, rwish

Examples

Run this code
if (FALSE) {
# adj: adjacency matrix of graph with 3 nodes and 2 links
adj <- matrix( c( 0, 0, 1,
                  0, 0, 1,
                  0, 0, 0 ), 3, 3, byrow = TRUE )		                
   
gnorm( adj, b = 3, D = diag( 3 ) )
}

Run the code above in your browser using DataLab