It is a simple matter to produce an
random number, and by stacking k such numbers in a column vector you obtain a vector with independent standard normal components
. The meaning of the terms independence and randomness in the context of a deterministic algorithm required for the generation of these numbers is somewhat subtle; see Knuth (1973, Vol. 2, Chapter 3) for a discussion of these issues.
Rather than
, what is required is the generation of a vector
—that is,
![\[ \bZ = \left[ \begin{array}{c} Z_1\\ Z_2\\ \vdots \\ Z_ k \end{array} \right] \]](images/statug_simnorm0008.png)
with covariance matrix
![\[ \bV = \left( \begin{array}{cccc} \sigma _{11} & \sigma _{12} & \cdots & \sigma _{1k}\\ \sigma _{21} & \sigma _{22} & \cdots & \sigma _{2k}\\ & \ddots & & \\ \sigma _{k1} & \sigma _{k2} & \cdots & \sigma _{kk} \end{array} \right) \]](images/statug_simnorm0009.png)
where
![\[ \sigma _{ij} = \mbox{Cov}(Z_ i,Z_ j) \]](images/statug_simnorm0010.png)
If the covariance matrix is symmetric and positive definite, it has a Cholesky root
such that
can be factored as
![\[ \bV =\bL \bL ’ \]](images/statug_simnorm0012.png)
where
is lower triangular. See Ralston and Rabinowitz (1978, Chapter 9, Section 3-3) for details. This vector
can be generated by the transformation
. Note that this is where the assumption of multivariate normality is crucial. If
, then
is also normal or Gaussian. The mean of Z is
![\[ \mr{E}(\bZ ) = \bL (\mr{E}(\bW )) = 0 \]](images/statug_simnorm0016.png)
and the variance is
![\[ \mr{Var}(\bZ ) = \mr{Var}(\bL \bW ) = \mr{E}(\bL \bW \bW ’\bL ’) = \bL ~ \mr{E}(\bW \bW ’)~ \bL ’ = \bL \bL ’ = \bV \]](images/statug_simnorm0017.png)
Finally, let
; that is, you add a mean term to each variable
. The covariance structure of the
remains the same. Unconditional simulation is done by simply repeatedly generating k
random numbers, stacking them, and performing the transformation
![\[ \bW \longmapsto \bZ = \bL \bW \longmapsto \bY = \bZ + \bmu \]](images/statug_simnorm0021.png)