I am interested in calculating the Hellinger distance $H(f,g)$ between two Beta distributions $f$ and $g$ of which I already know the parameters for. I am aware that you can calculate it directly using the 2-norm of discrete distributions. But it would be nicer to have full analytical expression.
The wikipedia page that I link to give nice expression for Gaussian, exponential, Weibull, and Poisson distributions. But how to derive similar expressions for:
- the 2-parameter Beta distribution defined on $[0,1] \in \mathbf{R}$?
- the 4-parameter Beta distribution having arbitrary support in $\mathbf{R}$?
The last option is also known (atleast for me) as the Pearson Type I distribution (was this the origin of the Beta distribution?). I have used the pearsrnd
function in MATLAB and much of my data seems to fit a type I distribution.
I just need it for univariate statistics. Please remember the factor $1/2$ as I need the distance in the range $[0,1]$. Whether or not the expression gives me the squared distance is not so important.
Addendum:
I tried to solve it directly in Mathematica 7 usintg Integrate
. I created two functions: (1) hellingerDistanceA
that implements the integration directly and (2) hellingerDistanceB
that evaluates the expression given by Sasha below. The answer by Sasha seems to be correct:
hellingerDistanceA[a_, b_, c_, d_] :=
1 - Integrate[
Sqrt[
Times[
PDF[BetaDistribution[a, b], x],
PDF[BetaDistribution[c, d], x]
]
],
{x, 0, 1},
Rule[Assumptions, {Element[x, Reals]}]
]
hellingerDistanceB[a_, b_, c_, d_] :=
1 - Divide[
Beta[(a + c) / 2, (b + d) / 2],
Sqrt[
Times[
Beta[a, b],
Beta[c, d]
]
]
]
hellingerDistanceA[1/2, 1/2, 5, 1] // N (* gives 0.251829... *)
hellingerDistanceB[1/2, 1/2, 5, 1] // N (* also gives 0.251829... *)
hellingerDistanceA[2, 2, 2, 5] // N (* gives 0.148165... *)
hellingerDistanceB[2, 2, 2, 5] // N (* also gives 0.148165... *)