- La distancia de Wasserstein mide la diferencia entre dos distribuciones como el costo de mover masa probabilística.
- Se muestra cómo calcularla en una dimensión y se introducen métodos aproximados para casos multidimensionales.
- Incluye consideraciones prácticas sobre normalización, costo computacional y ajuste de parámetros.
1. Definición e Intuición #
Para dos distribuciones discretas unidimensionales \(P\) y \(Q\), la distancia 1-Wasserstein se define como:
$$ W_1(P, Q) = \int_{-\infty}^{\infty} |F_P(x) - F_Q(x)| , dx $$
En dimensiones superiores, se formula como un problema de transporte óptimo, buscando el costo mínimo para trasladar la masa de una distribución a otra.
A diferencia de las métricas basadas solo en la media, refleja diferencias tanto en posición como en forma.
2. Cálculo en Python #
import numpy as np
from scipy.stats import wasserstein_distance
x = np.random.normal(0, 1, size=1_000)
y = np.random.normal(1, 1.5, size=1_000)
dist = wasserstein_distance(x, y)
print(f"Wasserstein distance: {dist:.3f}")
scipy.stats.wasserstein_distance calcula la distancia en 1D.
Para datos multidimensionales, se suelen usar métodos aproximados como la distancia de Sinkhorn del paquete POT (Python Optimal Transport).
3. Características Principales #
- Sensible a la forma de la distribución: aunque las medias sean iguales, diferencias en varianza o multimodalidad aumentan la distancia.
- Robusta: a diferencia de la divergencia KL, no se vuelve infinita cuando los soportes no coinciden y es menos sensible a los valores atípicos.
- Costo computacional: en altas dimensiones el cálculo es costoso; la regularización de Sinkhorn mejora la eficiencia.
4. Aplicaciones Prácticas #
- Evaluación de modelos generativos: cuantificar las diferencias globales entre distribuciones generadas y reales.
- Control de calidad y simulación: comparar distribuciones completas en lugar de solo estadísticas agregadas.
- Monitoreo temporal: seguir cambios en la distribución a lo largo del tiempo y activar alertas si superan un umbral.
5. Consideraciones Prácticas #
- La métrica depende de la escala numérica; conviene estandarizar o normalizar los datos antes de comparar.
- Una distancia pequeña no implica igualdad de medias o varianzas; debe complementarse con otros indicadores.
- En la distancia de Sinkhorn, los parámetros de regularización influyen en los resultados, por lo que deben ajustarse según el propósito.
Resumen #
La distancia de Wasserstein evalúa las diferencias entre distribuciones considerando tanto la posición como la forma.
Es fácil de calcular en 1D y puede aproximarse de manera eficiente en dimensiones superiores.
Combinada con métricas como KL o JS Divergence, ofrece una visión integral de los cambios en la distribución.