randmvn               package:monomvn               R Documentation

_R_a_n_d_o_m_l_y _G_e_n_e_r_a_t_e _a _M_u_l_t_i_v_a_r_i_a_t_e _N_o_r_m_a_l _D_i_s_t_r_i_b_u_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Randomly generate a mean vector and covariance matrix describing a
     multivariate normal (MVN) distribution, and then sample from it

_U_s_a_g_e:

     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)

_A_r_g_u_m_e_n_t_s:

       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

     pnz: 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'

      nu: a scalar '>= 1' indicating the degrees of freedom of a
          Student-t distribution to be used instead of an MVN when not
          infinite 

_D_e_t_a_i_l_s:

     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

_V_a_l_u_e:

     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

_N_o_t_e:

     requires the 'rmvnorm' function of the 'mvtnorm' package

_A_u_t_h_o_r(_s):

     Robert B. Gramacy bobby@statslab.cam.ac.uk

_S_e_e _A_l_s_o:

     'rwish', 'rmvnorm', 'rmono'

_E_x_a_m_p_l_e_s:

     randmvn(5, 3)

