rWishart
Random Wishart Distributed Matrices
Description
Generate n
random matrices, distributed according to the Wishart distribution with parameters Sigma
and df
, W_p(Sigma, df).
Usage
rWishart(n, df, Sigma)
Arguments
n | integer sample size. |
df | numeric parameter, “degrees of freedom”. |
Sigma | positive definite (p * p) “scale” matrix, the matrix parameter of the distribution. |
Details
If X1,...,Xm, Xi in R^p is a sample of m independent multivariate Gaussians with mean (vector) 0, and covariance matrix Σ, the distribution of M = X'X is W_p(Σ, m).
Consequently, the expectation of M is
E[M] = m * Sigma.
Further, if Sigma
is scalar (p = 1), the Wishart distribution is a scaled chi-squared (chi^2) distribution with df
degrees of freedom, W_1(sigma^2, m) = sigma^2 chi[m]^2.
The component wise variance is
Var(M[i,j]) = m*(S[i,j]^2 + S[i,i] * S[j,j]), where S=Sigma.
Value
a numeric array
, say R
, of dimension p * p * n, where each R[,,i]
is a positive definite matrix, a realization of the Wishart distribution W_p(Sigma, df).
Author(s)
Douglas Bates
References
Mardia, K. V., J. T. Kent, and J. M. Bibby (1979) Multivariate Analysis, London: Academic Press.
See Also
Examples
## Artificial S <- toeplitz((10:1)/10) set.seed(11) R <- rWishart(1000, 20, S) dim(R) # 10 10 1000 mR <- apply(R, 1:2, mean) # ~= E[ Wish(S, 20) ] = 20 * S stopifnot(all.equal(mR, 20*S, tolerance = .009)) ## See Details, the variance is Va <- 20*(S^2 + tcrossprod(diag(S))) vR <- apply(R, 1:2, var) stopifnot(all.equal(vR, Va, tolerance = 1/16))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.