Distancia de Hellinger

Eval

Distancia de Hellinger

Creado: Última actualización: Tiempo de lectura: 2 min
まとめ
  • La distancia de Hellinger mide la diferencia entre distribuciones de probabilidad usando sus raíces cuadradas, con valores entre 0 y 1.
  • Se muestra el cálculo para distribuciones discretas y se compara con la divergencia KL.
  • Se explican consideraciones sobre ceros y normalización.

1. Definición y Propiedades #

Para dos distribuciones discretas \(P = (p_1, \dots, p_n)\) y \(Q = (q_1, \dots, q_n)\), la distancia de Hellinger se define como:

$$ H(P, Q) = \frac{1}{\sqrt{2}} \sqrt{ \sum_{i=1}^n \left(\sqrt{p_i} - \sqrt{q_i}\right)^2 } $$

  • Valores cercanos a 0 indican distribuciones similares; cercanos a 1, distribuciones diferentes.
  • Cumple simetría y la desigualdad triangular, por lo que es una métrica válida.
  • A diferencia de la divergencia KL, permanece finita incluso cuando los soportes no coinciden.

2. Cálculo en Python #

import numpy as np

def hellinger(p: np.ndarray, q: np.ndarray) -> float:
    """Calcula la distancia de Hellinger entre dos distribuciones de probabilidad."""
    p = np.asarray(p, dtype=float)
    q = np.asarray(q, dtype=float)

    # Normalizar para evitar divisiones problemáticas
    p = p / p.sum()
    q = q / q.sum()

    return float(np.linalg.norm(np.sqrt(p) - np.sqrt(q)) / np.sqrt(2))

p = np.array([0.4, 0.4, 0.2])
q = np.array([0.2, 0.5, 0.3])

print(f"Hellinger distance: {hellinger(p, q):.4f}")

Cuando se parte de histogramas, normaliza para que la suma sea 1 antes de calcular la diferencia de raíces cuadradas.


3. Características Clave #

  • Simétrica y métrica: Igual que la distancia Jensen–Shannon, cumple las propiedades métricas.
  • Finita con ceros: Siempre produce valores finitos aunque haya probabilidades nulas.
  • Transformación por raíz cuadrada: Reduce la influencia de probabilidades pequeñas, aportando mayor estabilidad frente a valores atípicos.

4. Aplicaciones Prácticas #

  • Inferencia bayesiana: Cuantificar la diferencia entre distribuciones previa y posterior.
  • Clustering: Medir distancias entre vectores probabilísticos (como distribuciones de temas).
  • Detección de deriva conceptual: Supervisar cambios en distribuciones a lo largo del tiempo y generar alertas al superar umbrales.

5. Consideraciones Prácticas #

  • La distancia depende del método de discretización; define cuidadosamente los intervalos del histograma.
  • Con pocas muestras, aplicar suavizado de Laplace mejora la estabilidad.
  • Combinar con otras métricas (KL, Wasserstein, etc.) para un análisis más completo de las diferencias distributivas.

Resumen #

La distancia de Hellinger mide diferencias entre distribuciones usando raíces cuadradas, generando valores intuitivos entre 0 y 1.
Es robusta ante probabilidades nulas y resulta útil en inferencia bayesiana, clustering y monitoreo de distribuciones.