A widely used method for drawing (sampling) a random vector x from the N-dimensional multivariate normal distribution with mean vector μ and covariance matrix Σ works as follows:[26]
- Find any real matrix A such that A AT = Σ. When Σ is positive-definite, the Cholesky decomposition is typically used, and theextended form of this decomposition can always be used (as the covariance matrix may be only positive semi-definite) in both cases a suitable matrix A is obtained. An alternative is to use the matrix A = UΛ½ obtained from a spectral decomposition Σ =UΛUT of Σ. The former approach is more computationally straightforward but the matrices A change for different orderings of the elements of the random vector, while the latter approach gives matrices that are related by simple re-orderings. In theory both approaches give equally good ways of determining a suitable matrix A, but there are differences in computation time.
- Let z = (z1, …, zN)T be a vector whose components are N independent standard normal variates (which can be generated, for example, by using the Box–Muller transform).
- Let x be μ + Az. This has the desired distribution due to the affine transformation property
分解方法有三种, eigenvalue decomposition
("eigen", default), singular value decomposition ("svd"), and Cholesky decomposition ("chol"))
("eigen", default), singular value decomposition ("svd"), and Cholesky decomposition ("chol"))