rInvCholWishart {CholWishart} | R Documentation |
Generate n random matrices, distributed according
to the Cholesky factor of an inverse Wishart distribution with
parameters Sigma
and df
, W_p(Sigma, df).
Note there are different ways of parameterizing the Inverse Wishart distribution, so check which one you need. Here, If X ~ IW_p(Sigma, df) then X^{-1} ~ W_p(Sigma^{-1}, df). Dawid (1981) has a different definition: if X ~ W_p(Sigma^{-1}, df) and df > p - 1, then X^{-1} = Y ~ IW(Sigma, delta), where delta = df - p + 1.
rInvCholWishart(n, df, Sigma)
n |
integer sample size. |
df |
numeric parameter, "degrees of freedom". |
Sigma |
positive definite (p * p) "scale" matrix, the matrix parameter of the distribution. |
a numeric array, say R
, of dimension p * p * n,
where each R[,,i]
is a Cholesky decomposition of a realization of the Wishart distribution
W_p(Sigma, df). Based on a modification of the existing code for the rWishart
function
Anderson, T. W. (2003). An Introduction to Multivariate Statistical Analysis (3rd ed.). Hoboken, N. J.: Wiley Interscience.
Dawid, A. (1981). Some Matrix-Variate Distribution Theory: Notational Considerations and a Bayesian Application. Biometrika, 68(1), 265-274. doi: 10.2307/2335827
Gupta, A. K. and D. K. Nagar (1999). Matrix variate distributions. Chapman and Hall.
Mardia, K. V., J. T. Kent, and J. M. Bibby (1979) Multivariate Analysis, London: Academic Press.
rWishart
and rCholWishart
# How it is parameterized: set.seed(20180211) A <- rCholWishart(1,10,3*diag(5))[,,1] A set.seed(20180211) B <- rInvCholWishart(1,10,1/3*diag(5))[,,1] B crossprod(A) %*% crossprod(B) set.seed(20180211) C <- chol(stats::rWishart(1,10,3*diag(5))[,,1]) C