Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

dist.Multivariate.Normal.Cholesky

Multivariate Normal Distribution: Cholesky Parameterization


Description

These functions provide the density and random number generation for the multivariate normal distribution, given the Cholesky parameterization.

Usage

dmvnc(x, mu, U, log=FALSE) 
rmvnc(n=1, mu, U)

Arguments

x

This is data or parameters in the form of a vector of length k or a matrix with k columns.

n

This is the number of random draws.

mu

This is mean vector mu with length k or matrix with k columns.

U

This is the k x k upper-triangular matrix that is Cholesky factor U of covariance matrix Sigma.

log

Logical. If log=TRUE, then the logarithm of the density is returned.

Details

  • Application: Continuous Multivariate

  • Density: p(theta) = (1/((2*pi)^(k/2)*|Sigma|^(1/2))) * exp(-(1/2)*(theta-mu)'*Sigma^(-1)*(theta-mu))

  • Inventor: Unknown (to me, anyway)

  • Notation 1: theta ~ MVN(mu, Sigma)

  • Notation 2: theta ~ N[k](mu, Sigma)

  • Notation 3: p(theta) = MVN(theta | mu, Sigma)

  • Notation 4: p(theta) = N[k](theta | mu, Sigma)

  • Parameter 1: location vector mu

  • Parameter 2: k x k positive-definite matrix Sigma

  • Mean: E(theta) = mu

  • Variance: var(theta) = Sigma

  • Mode: mode(theta) = mu

The multivariate normal distribution, or multivariate Gaussian distribution, is a multidimensional extension of the one-dimensional or univariate normal (or Gaussian) distribution. A random vector is considered to be multivariate normally distributed if every linear combination of its components has a univariate normal distribution. This distribution has a mean parameter vector mu of length k and an upper-triangular k x k matrix that is Cholesky factor U, as per the chol function for Cholesky decomposition.

In practice, U is fully unconstrained for proposals when its diagonal is log-transformed. The diagonal is exponentiated after a proposal and before other calculations. Overall, the Cholesky parameterization is faster than the traditional parameterization. Compared with dmvn, dmvnc must additionally matrix-multiply the Cholesky back to the covariance matrix, but it does not have to check for or correct the covariance matrix to positive-definiteness, which overall is slower. Compared with rmvn, rmvnc is faster because the Cholesky decomposition has already been performed.

For models where the dependent variable, Y, is specified to be distributed multivariate normal given the model, the Mardia test (see plot.demonoid.ppc, plot.laplace.ppc, or plot.pmc.ppc) may be used to test the residuals.

Value

dmvnc gives the density and rmvnc generates random deviates.

Author(s)

See Also

Examples

library(LaplacesDemon)
Sigma <- diag(3)
U <- chol(Sigma)
x <- dmvnc(c(1,2,3), c(0,1,2), U)
X <- rmvnc(1000, c(0,1,2), U)
joint.density.plot(X[,1], X[,2], color=TRUE)

LaplacesDemon

Complete Environment for Bayesian Inference

v16.1.4
MIT + file LICENSE
Authors
Byron Hall [aut], Martina Hall [aut], Statisticat, LLC [aut], Eric Brown [ctb], Richard Hermanson [ctb], Emmanuel Charpentier [ctb], Daniel Heck [ctb], Stephane Laurent [ctb], Quentin F. Gronau [ctb], Henrik Singmann [cre]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.