rgwish | R Documentation |
Generates random matrices, distributed according to the G-Wishart distribution with parameters b and D, W_G(b, D) with respect to the graph structure G. Note this fuction works for both non-decomposable and decomposable graphs.
rgwish( n = 1, adj = NULL, b = 3, D = NULL, threshold = 1e-8 )
n |
number of samples required. |
adj |
adjacency matrix corresponding to the graph structure which can be non-decomposable or decomposable. 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 |
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. |
threshold |
threshold value for the convergence of sampling algorithm from G-Wishart. |
Sampling from G-Wishart distribution, K \sim W_G(b, D), with density:
Pr(K) \propto |K| ^ {(b - 2) / 2} \exp ≤ft\{- \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.
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). Note, for the case n=1, the output is a matrix.
Reza Mohammadi a.mohammadi@uva.nl
Lenkoski, A. (2013). A direct sampler for G-Wishart variates, Stat, 2:119-128, doi: 10.1002/sta4.23
Mohammadi, R. and Wit, E. C. (2019). BDgraph: An R
Package for Bayesian Structure Learning in Graphical Models, Journal of Statistical Software, 89(3):1-30, doi: 10.18637/jss.v089.i03
Mohammadi, A. and Wit, E. C. (2015). Bayesian Structure Learning in Sparse Gaussian Graphical Models, Bayesian Analysis, 10(1):109-138, doi: 10.1214/14-BA889
gnorm
, rwish
# Generating a 'circle' graph as a non-decomposable graph adj <- graph.sim( p = 5, graph = "circle" ) adj # adjacency of graph with 5 nodes sample <- rgwish( n = 1, adj = adj, b = 3, D = diag( 5 ) ) round( sample, 2 ) sample <- rgwish( n = 5, adj = adj ) round( sample, 2 )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.