dist.Multivariate.t.Precision.Cholesky {LaplacesDemon} | R Documentation |
Multivariate t Distribution: Precision-Cholesky Parameterization
Description
These functions provide the density and random number generation for the multivariate t distribution, otherwise called the multivariate Student distribution. These functions use the precision and Cholesky parameterization.
Usage
dmvtpc(x, mu, U, nu=Inf, log=FALSE)
rmvtpc(n=1, mu, U, nu=Inf)
Arguments
x |
This is either a vector of length |
n |
This is the number of random draws. |
mu |
This is a numeric vector representing the location parameter,
|
U |
This is a |
nu |
This is the degrees of freedom |
log |
Logical. If |
Details
Application: Continuous Multivariate
Density:
p(\theta) = \frac{\Gamma((\nu+k)/2)}{\Gamma(\nu/2)\nu^{k/2}\pi^{k/2}} |\Omega|^{1/2} (1 + \frac{1}{\nu} (\theta-\mu)^T \Omega (\theta-\mu))^{-(\nu+k)/2}
Inventor: Unknown (to me, anyway)
Notation 1:
\theta \sim \mathrm{t}_k(\mu, \Omega^{-1}, \nu)
Notation 2:
p(\theta) = \mathrm{t}_k(\theta | \mu, \Omega^{-1}, \nu)
Parameter 1: location vector
\mu
Parameter 2: positive-definite
k \times k
precision matrix\Omega
Parameter 3: degrees of freedom
\nu > 0
Mean:
E(\theta) = \mu
, for\nu > 1
, otherwise undefinedVariance:
var(\theta) = \frac{\nu}{\nu - 2} \Omega^{-1}
, for\nu > 2
Mode:
mode(\theta) = \mu
The multivariate t distribution, also called the multivariate Student or multivariate Student t distribution, is a multidimensional extension of the one-dimensional or univariate Student t distribution. A random vector is considered to be multivariate t-distributed if every linear combination of its components has a univariate Student t-distribution.
It is usually parameterized with mean and a covariance matrix, or in
Bayesian inference, with mean and a precision matrix, where the
precision matrix is the matrix inverse of the covariance matrix. These
functions provide the precision parameterization for convenience and
familiarity. It is easier to calculate a multivariate t density
with the precision parameterization, because a matrix inversion can be
avoided. The precision matrix is replaced with an upper-triangular
k \times k
matrix that is Cholesky factor
\textbf{U}
, as per the chol
function for Cholesky
decomposition.
This distribution has a mean parameter vector \mu
of length
k
, and a k \times k
precision matrix
\Omega
, which must be positive-definite. When degrees of
freedom \nu=1
, this is the multivariate Cauchy distribution.
In practice, \textbf{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 dmvtp
, dmvtpc
must additionally
matrix-multiply the Cholesky back to the precision matrix, but it
does not have to check for or correct the precision matrix to
positive-definiteness, which overall is slower. Compared with
rmvtp
, rmvtpc
is faster because the Cholesky decomposition
has already been performed.
Value
dmvtpc
gives the density and
rmvtpc
generates random deviates.
Author(s)
Statisticat, LLC. software@bayesian-inference.com
See Also
chol
,
dwishartc
,
dmvc
,
dmvcp
,
dmvtc
,
dst
,
dstp
, and
dt
.
Examples
library(LaplacesDemon)
x <- seq(-2,4,length=21)
y <- 2*x+10
z <- x+cos(y)
mu <- c(1,12,2)
Omega <- matrix(c(1,2,0,2,5,0.5,0,0.5,3), 3, 3)
U <- chol(Omega)
nu <- 4
f <- dmvtpc(cbind(x,y,z), mu, U, nu)
X <- rmvtpc(1000, c(0,1,2), U, 5)
joint.density.plot(X[,1], X[,2], color=TRUE)