Modules for Multivariate Random Sampling

SAS/IML software includes pre-defined modules that generate random samples from common multivariate distributions. For univariate distributions, you can generate random samples from many distributions by using the RANDGEN subroutine.

RANDDIRICHLET

generates a random sample from a Dirichlet distribution, which is a multivariate generalization of the beta distribution.

RANDFUN function

returns a matrix of random numbers from a specified distribution

RANDMULTINOMIAL

generates a random sample from a multinomial distribution, which is a multivariate generalization of the binomial distribution.

RANDMVT

generates a random sample from a multivariate Student’s $t$ distribution

RANDNORMAL

generates a random sample from a multivariate normal distribution

RANDWISHART

generates a random sample from a Wishart distribution, which is a multivariate generalization of the gamma distribution.

All of the modules compute their results by using transformations of univariate random samples generated by the RANDGEN subroutine. Thus you can use the RANDSEED subroutine to set the seed for the modules.

Although you can sample from a multivariate normal distribution by using the built-in VNORMAL subroutine, the VNORMAL subroutnie implements does not use the random number seed set in RANDSEED. To ensure independence and reproducibility of random number streams, the RANDNORMAL function is recommended.

For an overview of multivariate sampling, see Gentle (2003).