Sobes.tech
Middle — Senior

¿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).