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),
pnz=0.1, nu=Inf)
The return value is a list
with the following components:
randomly generated mean vector of length d
randomly generated covariance matrix
with d
rows and d
columns
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
number of samples to draw
dimension of the MVN, i.e., the length of the mean vector and the number of rows/cols of the covariance matrix
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
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
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
a scalar 0 <= pnz <= 1
, only valid for
method = "parsimonious"
: determines the binomial
proportion of non-zero regression coefficients in the sequential
build-up of mu
and S
, thereby indirectly determining
the number of non-zero entries in S
a scalar >= 1
indicating the degrees of freedom
of a Student-t distribution to be used instead of an MVN
when not infinite
Robert B. Gramacy rbg@vt.edu
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
rwish
, rmvnorm
,
rmono