These functions provide the density and random number generation for the multivariate Cauchy distribution. These functions use the precision parameterization.
dmvcp(x, mu, Omega, log=FALSE)
rmvcp(n=1, mu, Omega)
This is either a vector of length
This is the number of random draws.
This is a numeric vector representing the location parameter,
This is a
Logical. If log=TRUE
, then the logarithm of the
density is returned.
dmvcp
gives the density and
rmvcp
generates random deviates.
Application: Continuous Multivariate
Density:
Inventor: Unknown (to me, anyway)
Notation 1:
Notation 2:
Parameter 1: location vector
Parameter 2: positive-definite
Mean:
Variance:
Mode:
The multivariate Cauchy distribution is a multidimensional extension of the one-dimensional or univariate Cauchy distribution. A random vector is considered to be multivariate Cauchy-distributed if every linear combination of its components has a univariate Cauchy distribution. The multivariate Cauchy distribution is equivalent to a multivariate t distribution with 1 degree of freedom.
The Cauchy distribution is known as a pathological distribution because its mean and variance are undefined, and it does not satisfy the central limit theorem.
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 Cauchy density with the precision parameterization, because a matrix inversion can be avoided.
This distribution has a mean parameter vector
# NOT RUN {
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)
f <- dmvcp(cbind(x,y,z), mu, Omega)
X <- rmvcp(1000, rep(0,2), diag(2))
X <- X[rowSums((X >= quantile(X, probs=0.025)) &
(X <= quantile(X, probs=0.975)))==2,]
joint.density.plot(X[,1], X[,2], color=TRUE)
# }
Run the code above in your browser using DataLab