Distance/Divergence between Centered Multivariate t Distributions
Computes the distance or divergence (Renyi divergence, Bhattacharyya distance or Hellinger distance) between two random vectors distributed according to multivariate t distributions (MTD) with zero mean vector.
diststudent(nu1, Sigma1, nu2, Sigma2,
dist = c("renyi", "bhattacharyya", "hellinger"),
bet = NULL, eps = 1e-06)
Arguments
nu1
: numeric. The degrees of freedom of the first distribution.
Sigma1
: symmetric, positive-definite matrix. The correlation matrix of the first distribution.
nu2
: numeric. The degrees of freedom of the second distribution.
Sigma2
: symmetric, positive-definite matrix. The correlation matrix of the second distribution.
dist
: character. The distance or divergence used. One of "renyi"
(default), "battacharyya"
or "hellinger"
.
bet
: numeric, positive and not equal to 1. Order of the Renyi divergence. Ignored if distance="bhattacharyya"
or distance="hellinger"
.
eps
: numeric. Precision for the computation of the partial derivative of the Lauricella D-hypergeometric function (see Details). Default: 1e-06.
Returns
A numeric value: the divergence between the two distributions, with two attributes attr(, "epsilon")
(precision of the result of the Lauricella D-hypergeometric function,see Details) and attr(, "k")
(number of iterations).
Details
Given X1, a random vector of Rp distributed according to the MTD with parameters (ν1,0,Σ1)
and X2, a random vector of Rp distributed according to the MTD with parameters (ν2,0,Σ2).
Let δ1=2ν1+pβ, δ2=2ν2+p(1−β)
and λ1,…,λp the eigenvalues of the square matrix Σ1Σ2−1
sorted in increasing order:
λ1<⋯<λp−1<λp
The Renyi divergence between X1 and X2 is:
DRβ(X1∣∣X1)=β−11[βln(Γ(2ν2+p)Γ(2ν1)ν12pΓ(2ν1+p)Γ(2ν2)ν22p)+ln(Γ(2ν2)Γ(2ν2+p))+ln(Γ(δ1+δ2)Γ(δ1+δ2−2p))−2βi=1∑plnλi+lnFD]
with FD given by:
-
If ν2ν1λ11:
c("\n", "displaystyleFD=FD(p)bigg(delta1,underbracefrac12,dots,frac12p;delta1+delta2;1−fracnu2nu1lambda1,dots,1−fracnu2nu1lambdapbigg)\n")
-
If ν2ν1λp\<1:
c("\n", "displaystyleFD=prodi=1pleft(fracnu1nu2lambdairight)frac12FD(p)bigg(delta2,underbracefrac12,dots,frac12p;delta1+delta2;1−fracnu1nu2lambda1,dots,1−fracnu1nu2lambdapbigg)\n")
-
If ν2ν1λ1\<1 and ν2ν1λp1:
c("\n", "\\displaystyle{ F_D = \\left(\\frac{\\nu_2}{\\nu_1} \\frac{1}{\\lambda_p}\\right)^{\\delta_2} \\prod_{i=1}^p\\left(\\frac{\\nu_1}{\\nu_2}\\lambda_i\\right)^\\frac{1}{2} F_D^{(p)}\\bigg(\\delta_2, \\underbrace{\\frac{1}{2}, \\dots, \\frac{1}{2}}_p, \\delta_1+\\delta_2-\\frac{p}{2}; \\delta_1+\\delta2; 1-\\frac{\\lambda_1}{\\lambda_p}, \\dots, 1-\\frac{\\lambda_{p-1}}{\\lambda_p}, 1-\\frac{\\nu_2}{\\nu_1}\\frac{1}{\\lambda_p}\\bigg) }\n")
where FD(p) is the Lauricella D-hypergeometric function defined for p variables:
FD(p)(a;b1,...,bp;g;x1,...,xp)=m1≥0∑...mp≥0∑(g)m1+...+mp(a)m1+...+mp(b1)m1...(bp)mpm1!x1m1...mp!xpmp
Its computation uses the lauricella
function.
The Bhattacharyya distance is given by:
DB(X1∣∣X2)=21DR1/2(X1∣∣X2)
And the Hellinger distance is given by:
DH(X1∣∣X2)=1−exp(−21DR1/2(X1∣∣X2))
Examples
nu1 <- 2
Sigma1 <- matrix(c(2, 1.2, 0.4, 1.2, 2, 0.6, 0.4, 0.6, 2), nrow = 3)
nu2 <- 4
Sigma2 <- matrix(c(1, 0.3, 0.1, 0.3, 1, 0.4, 0.1, 0.4, 1), nrow = 3)
# Renyi divergence
diststudent(nu1, Sigma1, nu2, Sigma2, bet = 0.25)
diststudent(nu2, Sigma2, nu1, Sigma1, bet = 0.25)
# Bhattacharyya distance
diststudent(nu1, Sigma1, nu2, Sigma2, dist = "bhattacharyya")
diststudent(nu2, Sigma2, nu1, Sigma1, dist = "bhattacharyya")
# Hellinger distance
diststudent(nu1, Sigma1, nu2, Sigma2, dist = "hellinger")
diststudent(nu2, Sigma2, nu1, Sigma1, dist = "hellinger")
References
N. Bouhlel and D. Rousseau (2023), Exact Rényi and Kullback-Leibler Divergences Between Multivariate t-Distributions, IEEE Signal Processing Letters. tools:::Rd_expr_doi("10.1109/LSP.2023.3324594")
Author(s)
Pierre Santagostini, Nizar Bouhlel