Variational Distance
The variational (total variation) distance [CT06] between two distributions on the same alphabet is
\[\delta(p, q) = \tfrac{1}{2} \sum_x \lvert p(x) - q(x) \rvert\]
Related quantities in the same module are the Hellinger distance, the Bhattacharyya coefficient, and the Chernoff information.
In [1]: from dit.divergences import variational_distance, hellinger_distance, bhattacharyya_coefficient
In [2]: p = dit.Distribution(['0', '1'], [3/4, 1/4])
In [3]: q = dit.Distribution(['0', '1'], [1/2, 1/2])
In [4]: variational_distance(p, q)
Out[4]: 0.25
In [5]: hellinger_distance(p, q)
Out[5]: 0.18459191128251476
API
- variational_distance(dist1, dist2)[source]
Compute the variational distance.
- Parameters:
dist1 (Distribution) – The first distribution.
dist2 (Distribution) – The second distribution.
- Returns:
vd – The variational distance.
- Return type:
- hellinger_distance(dist1, dist2)[source]
Compute the Hellinger distance.
- Parameters:
dist1 (Distribution) – The first distribution.
dist2 (Distribution) – The second distribution.
- Returns:
hd – The Hellinger distance.
- Return type: