randmvn {monomvn} | R Documentation |
Randomly generate a mean vector and covariance matrix describing a multivariate normal (MVN) distribution, and then sample from it
randmvn(N, d, method = c("normwish", "parsimonious"), mup=list(mu = 0, s2 = 1), s2p=list(a = 0.5, b = 1))
N |
number of samples to draw |
d |
dimension of the MVN, i.e., the length of the mean vector and the number of rows/cols of the covariance matrix |
method |
the default generation method is "norwish"
uses the direct method described in the details section below,
whereas the "parsimonious" method builds up the random mean
vector and covariance via regression coefficients, intercepts,
and variances. See below for more details. Here, a random number of
regression coefficients for each regression are set to zero |
mup |
a list with entries $mu and $s2 :
$mu is the prior mean for the independent components
of the normally distributed mean vector; $s2 is the prior
variance |
s2p |
a list with entries $a and $b
only valid for method = "parsimonious" :
$a > 0 is the baseline inverse gamma prior scale parameter
for the regression variances (the actual parameter used for
each column i in 1:d of the covariance matrix is
a + i - 1 ); $b >= 0 is the rate parameter |
In the direct method ("normwish"
) the components of the
mean vector mu
are iid from a standard normal distribution,
and the covariance matrix S
is
drawn from an inverse–Wishart distribution with degrees of freedom
d + 2
and mean (centering matrix) diag(d)
In the "parsimonious"
method mu
and S
are
built up sequentially by randomly sampling intercepts, regression
coefficients (of length i-1
for i in 1:d
) and variances
by applying the monomvn
equations. A unique prior results
when a random number of the regression coefficients are set to zero.
When none are set to zero the direct method results
The return value is a list
with the following components:
mu |
randomly generated mean vector of length d |
S |
randomly generated covariance matrix with d
rows and d columns |
x |
if N > 0 then x is an N*d
matrix of N samples from the MVN with mean vector
mu and covariance matrix S ; otherwise when
N = 0 this component is not included |
requires the rmvnorm
function of the
mvtnorm package
Robert B. Gramacy bobby@statslab.cam.ac.uk
randmvn(5, 3)