Unlimited learning, half price | 50% off

Last chance! 50% off unlimited learning

Sale ends in


BDgraph (version 2.70)

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 aij=1 if there is a link between notes i and j, otherwise aij=0.

b

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

D

positive definite (p×p) "scale" matrix for G-Wishart distribution, WG(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, KWG(b,D), with density:

Pr(K)=1I(b,D)|K|(b2)/2exp{12trace(K×D)}.

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")

Mohammadi, A. and Wit, E. C. (2015). Bayesian Structure Learning in Sparse Gaussian Graphical Models, Bayesian Analysis, 10(1):109-138, tools:::Rd_expr_doi("10.1214/14-BA889")

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