Learn R Programming

LaplacesDemon (version 16.1.6)

dist.YangBerger: Yang-Berger Distribution

Description

This is the density function for the Yang-Berger prior distribution for a covariance matrix or precision matrix.

Usage

dyangberger(x, log=FALSE)
dyangbergerc(x, log=FALSE)

Arguments

x

This is the \(k \times k\) positive-definite covariance matrix or precision matrix for dyangberger or the Cholesky factor \(\textbf{U}\) of the covariance matrix or precision matrix for dyangbergerc.

log

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

Value

dyangberger and dyangbergerc give the density.

Details

  • Application: Continuous Multivariate

  • Density: \(p(\theta) = \frac{1}{|\theta|^{\prod (d_j - d_{j-1})}}\), where \(d\) are increasing eigenvalues. See equation 13 in Yang and Berger (1994).

  • Inventor: Yang and Berger (1994)

  • Notation 1: \(\theta \sim \mathcal{YB}\)

  • Mean:

  • Variance:

  • Mode:

Yang and Berger (1994) derived a least informative prior (LIP) for a covariance matrix or precision matrix. The Yang-Berger (YB) distribution does not have any parameters. It is a reference prior for objective Bayesian inference. The Cholesky parameterization is also provided here.

The YB prior distribution results in a proper posterior. It involves an eigendecomposition of the covariance matrix or precision matrix. It is difficult to interpret a model that uses the YB prior, due to a lack of intuition regarding the relationship between eigenvalues and correlations.

Compared to Jeffreys prior for a covariance matrix, this reference prior encourages equal eigenvalues, and therefore results in a covariance matrix or precision matrix with a better shrinkage of its eigenstructure.

References

Yang, R. and Berger, J.O. (1994). "Estimation of a Covariance Matrix using the Reference Prior". Annals of Statistics, 2, p. 1195-1211.

See Also

dinvwishart and dwishart

Examples

Run this code
# NOT RUN {
library(LaplacesDemon)
X <- matrix(c(1,0.8,0.8,1), 2, 2)
dyangberger(X, log=TRUE)
# }

Run the code above in your browser using DataLab