| Module Library |
| RANDMVT Function |
generates a random sample from a multivariate Student’s
distribution
The inputs are as follows:
is the number of desired observations sampled from the multivariate Student’s
distribution.
is a scalar value that represents the degrees of freedom for the
distribution.
is a
vector of means.
is a
symmetric positive definite variance-covariance matrix.
The RANDMVT function returns an
matrix that contains
random draws from the Student’s
distribution with DF degrees of freedom, mean vector Mean, and covariance matrix Cov.
If
follows a multivariate
distribution with
degrees of freedom, mean vector
, and variance-covariance matrix
, then
the probability density function for
is
![]() |
if
, the probability density function reduces to a univariate Student’s
distribution.
the expected value of
is
.
the covariance of
and
is
when
.
The following example generates 1000 samples from a two-dimensional
distribution with 7 degrees of freedom, mean vector
, and covariance matrix S. Each row of the returned matrix x is a row vector sampled from the
distribution. The example then computes the sample mean and covariance and compares them with the expected values. Here are the code and the output:
call randseed(1);
N=1000;
DF = 4;
Mean = {1 2};
S = {1 1, 1 5};
x = RandMVT( N, DF, Mean, S );
SampleMean = x[:,];
n = nrow(x);
y = x - repeat( SampleMean, n );
SampleCov = y`*y / (n-1);
Cov = (DF/(DF-2)) * S;
print SampleMean Mean, SampleCov Cov;
SampleMean Mean
1.0768636 2.0893911 1 2
SampleCov Cov
1.8067811 1.8413406 2 2
1.8413406 9.7900638 2 10
In the preceding example, the columns (marginals) of x do not follow univariate
distributions. If you want a sample whose marginals are univariate
, then you need to scale each column of the output matrix:
x = RandMVT( N, DF, Mean, S ); StdX = x / sqrt(diag(S)); /* StdX columns are univariate t */
Equivalently, you can generate samples whose marginals are univariate
by passing in a correlation matrix instead of a general covariance matrix.
For further details about sampling from the multivariate
distribution, see Kotz and Nadarajah (2004).
Copyright © SAS Institute, Inc. All Rights Reserved.