¿Qué es la deriva de distribución y cómo detectarla (prueba KS, PSI)?
sobes.tech AI
Respuesta de la IA
El desplazamiento de distribución — es un cambio en la distribución de los datos a lo largo del tiempo, lo que puede llevar a una disminución en la calidad del modelo de aprendizaje automático, ya que el modelo se entrena en una distribución, mientras que en producción los datos provienen de otra.
Para detectar el desplazamiento de distribución, a menudo se utilizan pruebas estadísticas y métricas:
-
Prueba KS (Kolmogorov-Smirnov) — una prueba no paramétrica que compara dos muestras y verifica cuánto difieren sus distribuciones. Si el valor p de la prueba es bajo, significa que las distribuciones difieren significativamente.
-
PSI (Índice de Estabilidad de la Población) — una métrica que mide el cambio en la distribución de una variable entre dos períodos. PSI se calcula mediante los bins de distribución y muestra el grado de desplazamiento. Normalmente:
- PSI < 0.1 — desplazamiento insignificante
- 0.1 < PSI < 0.25 — desplazamiento moderado
- PSI > 0.25 — desplazamiento significativo
Ejemplo de uso de la prueba KS en Python:
from scipy.stats import ks_2samp
reference_data = [...] # datos de la muestra de entrenamiento
current_data = [...] # nuevos datos
statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
print("Se detectó un desplazamiento de distribución")
else:
print("Las distribuciones son similares")
De esta manera, el monitoreo regular de las distribuciones mediante la prueba KS y PSI ayuda a detectar oportunamente el desplazamiento y tomar medidas (por ejemplo, volver a entrenar el modelo).