Learn R Programming

BDgraph (version 2.33)

rgwish: Sampling from G-Wishart distribution

Description

Generates random matrices, distributed according to the G-Wishart distribution with parameters b and D, \(W_G(b, D)\).

Usage

rgwish( n = 1, adj.g = NULL, b = 3, D = NULL )

Arguments

n
The number of samples required. The default value is 1.
adj.g
The adjacency matrix corresponding to the graph structure. It should be an upper triangular matrix in which \(a_{ij}=1\) if there is a link between notes \(i\) and \(j\), otherwise \(a_{ij}=0\).
b
The degree of freedom for G-Wishart distribution, \(W_G(b, D)\). The default value is 3.
D
The positive definite \((p \times p)\) "scale" matrix for G-Wishart distribution, \(W_G(b, D)\). The default is an identity matrix.

Value

A numeric array, say A, of dimension \((p \times p \times n)\), where each \(A[,,i]\) is a positive definite matrix, a realization of the G-Wishart distribution, \(W_G(b, D)\).

Details

Sampling from G-Wishart distribution, \(K \sim W_G(b, D)\), with density: $$Pr(K) \propto |K| ^ {(b - 2) / 2} \exp \left\{- \frac{1}{2} \mbox{trace}(K \times D)\right\},$$ which \(b > 2\) is the degree of freedom and D is a symmetric positive definite matrix.

References

Lenkoski, A. (2013). A direct sampler for G-Wishart variates, Stat, 2:119-128 Mohammadi, A. and E. Wit (2015). Bayesian Structure Learning in Sparse Gaussian Graphical Models, Bayesian Analysis, 10(1):109-138 Mohammadi, A. and E. Wit (2015). BDgraph: An R Package for Bayesian Structure Learning in Graphical Models, arXiv:1501.05108 Mohammadi, A., F. Abegaz Yazew, E. van den Heuvel, and E. Wit (2016). Bayesian modelling of Dupuytren disease by using Gaussian copula graphical models, Journal of the Royal Statistical Society: Series C

Examples

Run this code
## Not run: ------------------------------------
# adj.g <- toeplitz( c( 0, 1, rep( 0, 3 ) ) )
# adj.g    # adjacency of graph with 5 nodes and 4 links
#    
# sample <- rgwish( n = 3, adj.g = adj.g, b = 3, D = diag(5) )
# round( sample, 2 )  
## ---------------------------------------------

Run the code above in your browser using DataLab