Ir al contenido principal

Entender el data drift y el model drift: detección de drift en Python

Evita los riesgos del model drift y descubre nuestra guía práctica para monitorizar el data drift.
Actualizado 25 may 2026  · 9 min leer

"Drift" es un término usado en aprendizaje automático para describir cómo el rendimiento de un modelo en producción empeora poco a poco con el tiempo. Puede ocurrir por varios motivos, como cambios en la distribución de los datos de entrada a lo largo del tiempo o porque cambia la relación entre la entrada (x) y el objetivo deseado (y). 

El drift puede ser un gran problema cuando aplicamos machine learning en el mundo real, donde los datos son dinámicos y cambian constantemente. En este artículo profundizamos en por qué se produce, los distintos tipos de drift, los algoritmos para detectarlo y, por último, cerramos con una implementación open source de detección de drift en Python.

Desarrolla habilidades de aprendizaje automático

Eleva tus habilidades de aprendizaje automático al nivel de producción.
Empieza a aprender gratis

¿Qué es el drift?

Los modelos de machine learning se entrenan con datos históricos, pero cuando pasan a producción pueden quedar desfasados y perder precisión con el tiempo por un fenómeno llamado drift. El drift es el cambio, a lo largo del tiempo, de las propiedades estadísticas de los datos con los que se entrenó un modelo. Esto puede hacer que el modelo pierda precisión o se comporte de forma distinta a como fue diseñado. 

En otras palabras, el "drift" es la caída en la capacidad de un modelo para hacer predicciones precisas debido a cambios en el entorno en el que se utiliza.

¿Por qué derivan los modelos de machine learning?

Hay varias razones por las que los modelos de machine learning pueden derivar con el tiempo. 

Una razón habitual es simplemente que los datos con los que se entrenó el modelo quedan obsoletos o dejan de representar las condiciones actuales. 

Por ejemplo, imagina un modelo entrenado para predecir el precio de una acción a partir de datos históricos. Si lo entrenamos con datos de un mercado estable, quizá funcione bien al principio. Sin embargo, si el mercado se vuelve más volátil con el tiempo, el modelo podría dejar de predecir con precisión porque han cambiado las propiedades estadísticas de los datos.

Otra razón es que el modelo no esté diseñado para manejar cambios en los datos. Algunos modelos toleran mejor estos cambios que otros, pero ningún modelo puede evitar el drift por completo. 

Tipos de drift

Veamos dos tipos de drift que debes tener en cuenta:

1. Concept drift

El concept drift, también llamado model drift, ocurre cuando la tarea para la que se diseñó el modelo cambia con el tiempo. Por ejemplo, piensa en un modelo entrenado para detectar spam en correos en función de su contenido. Si los tipos de correos de spam que la gente recibe cambian de forma significativa, el modelo puede dejar de detectarlos con precisión.

El concept drift puede dividirse en cuatro categorías (Learning under Concept Drift: A Review, Jie Lu et al.):

  • Drift súbito
  • Drift gradual
  • Drift incremental
  • Conceptos recurrentes

Concept Drift

Source: https://arxiv.org/pdf/2004.05785.pdf

2. Data drift

El data drift, también conocido como covariate shift, se produce cuando la distribución de los datos de entrada cambia con el tiempo. Por ejemplo, imagina un modelo entrenado para predecir la probabilidad de que un cliente compre un producto a partir de su edad y sus ingresos. Si la distribución de edades e ingresos cambia de forma significativa con el tiempo, el modelo puede dejar de predecir correctamente esa probabilidad.

Es importante tener presentes tanto el concept drift como el data drift y tomar medidas para prevenirlos o mitigar sus efectos. Algunas estrategias pasan por monitorizar y evaluar continuamente el rendimiento del modelo, actualizarlo con datos nuevos y utilizar modelos más robustos al drift.

Puedes saber más sobre la data science postdespliegue, incluido el drift, en nuestro episodio del pódcast DataFramed. 

3. Drift en LLM y embeddings

Los LLM introducen un tipo de drift para el que los métodos anteriores no estaban pensados. Los datos no son filas en una tabla, sino texto libre, y lo que cambia con el tiempo suele ser el significado de lo que piden los usuarios. Actualmente se habla de tres formas de drift en LLM que conviene monitorizar.

Embedding drift

El embedding drift ocurre cuando cambia el significado del texto que envían los usuarios a un modelo, aunque a simple vista el texto parezca el mismo. Los LLM convierten el texto en listas largas de números llamadas embeddings, y el drift puede aparecer en esos números sin reflejarse en métricas textuales habituales.

Imagina un chatbot de soporte que al principio resolvía sobre todo dudas de configuración e inicio. Seis meses después, el volumen de mensajes y su longitud media no cambian, pero ahora la mayoría de preguntas son sobre facturación y bajas. Las estadísticas del texto parecen estables, pero la distribución de embeddings ha cambiado. Para detectarlo, los equipos comparan lotes de embeddings recientes con un lote de referencia usando una medida de distancia estadística.

Drift de prompts o entradas

El drift de prompts sigue la misma idea que el embedding drift, pero un nivel por encima. En lugar de comparar embeddings en bruto, agrupas las consultas entrantes en categorías —con un clasificador u otro LLM— y observas los cambios en la mezcla.

Imagina que un asistente interno para programadores backend empieza poco a poco a recibir tráfico de data scientists con preguntas de pandas. El asistente quizá siga respondiendo bien, pero la población a la que sirve ya no es la que se usó en las pruebas, y el prompt del sistema o el índice de recuperación puede que dejen de encajar con el tiempo.

Drift de rúbrica

El drift de rúbrica es un cambio con el tiempo en las puntuaciones de calidad que un evaluador automático da a las respuestas de un modelo. Muchos equipos en producción usan ahora un LLM como juez, puntuando cada respuesta en utilidad, exactitud o tono. Cuando esas puntuaciones empiezan a caer para las mismas clases de entrada, algo suele haber cambiado: el modelo detrás de una API, los documentos que se recuperan o la mezcla de usuarios.

Lo que hace especialmente útil el drift de rúbrica es que te da una señal de calidad sin necesidad de etiquetas de verdad terreno, que rara vez están disponibles en tiempo real para salidas generativas.

¿Cómo se detecta el drift?

Hay dos formas de detectar drift:

1. Enfoque basado en modelos de machine learning: usar un modelo para detectar si los datos de entrada que llegan han derivado o no.

2. Pruebas estadísticas: existen muchas pruebas para detectar data drift. Se dividen principalmente en tres categorías: 

    • Métodos de análisis secuencial 
    • Un modelo a medida para detectar drift 
    • Métodos basados en la distribución temporal, muy comunes. 

Los métodos basados en la distribución temporal utilizan técnicas estadísticas para calcular la diferencia entre dos distribuciones de probabilidad y así detectar drift. Entre ellos están el Population Stability Index, la divergencia KL, la divergencia JS, la prueba KS y la métrica de Wasserstein. 

Algoritmos para detectar data drift

Prueba de Kolmogorov-Smirnov (K-S)

La prueba de Kolmogorov-Smirnov (K-S) es una prueba estadística no paramétrica que se usa para determinar si dos conjuntos de datos provienen de la misma distribución. Suele emplearse para comprobar si una muestra procede de una población concreta o para comparar dos muestras y ver si pertenecen a la misma población.

La hipótesis nula en esta prueba es que las distribuciones son iguales. Si se rechaza, sugiere que existe drift en el modelo.

La prueba K-S es una herramienta útil para comparar conjuntos de datos y determinar si proceden de la misma distribución.

Population Stability Index

El Population Stability Index (PSI) es una medida estadística que se utiliza para comparar la distribución de una variable (a menudo categórica) en dos conjuntos de datos distintos. 

El Population Stability Index (PSI) sirve para medir cuánto ha cambiado la distribución de una variable entre dos muestras o a lo largo del tiempo. Suele utilizarse para monitorizar cambios en las características de una población e identificar posibles problemas en el rendimiento de un modelo de machine learning.

El PSI se desarrolló originalmente para vigilar cambios en la distribución de una puntuación en scorecards de riesgo, pero hoy se usa para examinar cambios de distribución en todos los atributos relacionados con el modelo, incluidas variables dependientes e independientes. 

Un valor alto de PSI indica una diferencia significativa entre las distribuciones de la variable en ambos conjuntos, lo que puede sugerir drift en el modelo. 

Si la distribución de una variable ha cambiado mucho, o si varias variables han cambiado en cierta medida, puede ser necesario recalibrar o reconstruir el modelo para mejorar su rendimiento.

Método de Page-Hinkley

El método de Page-Hinkley es una técnica estadística para detectar cambios en la media de una serie de datos a lo largo del tiempo. Se usa con frecuencia para monitorizar el rendimiento de modelos de machine learning y detectar cambios en la distribución de los datos que puedan indicar model drift.

Para usar Page-Hinkley, primero se define un umbral y una función de decisión. El umbral es el valor a partir del cual un cambio en la media se considera significativo, y la función de decisión devuelve 1 si se ha detectado un cambio y 0 si no.

Después, se calcula la media de la serie en cada instante y se aplica la función de decisión para determinar si ha ocurrido un cambio. Si la función devuelve 1, indica que se ha detectado un cambio y que el modelo puede estar derivando.

Page-Hinkley es una forma sencilla y eficaz de detectar cambios en la media de una serie temporal. Es especialmente útil para detectar cambios pequeños que podrían pasar desapercibidos a simple vista. No obstante, es importante seleccionar bien el umbral y la función de decisión para que el método sea lo bastante sensible como para detectar cambios sin generar falsas alarmas.

Implementación de detección de drift en Python

En esta sección usaremos Evidently para detectar drift. Evidently es una biblioteca de Python de código abierto para data scientists e ingenieros que trabajan con machine learning. Ayuda a probar, evaluar y hacer seguimiento del rendimiento de los modelos desde la validación hasta producción.

Importar librerías

import pandas as pd
import numpy as np
from sklearn import datasets

from evidently import Report
from evidently.presets import DataDriftPreset

Importar el dataset y crear particiones de referencia y objetivo

# create ref and cur dataset for drift detection
adult_data = datasets.fetch_openml(name='adult', version=2, as_frame=True)
adult = adult_data.frame

adult_ref = adult[~adult.education.isin(['Some-college', 'HS-grad', 'Bachelors'])].copy()
adult_cur = adult[adult.education.isin(['Some-college', 'HS-grad', 'Bachelors'])].copy()

adult_cur.iloc[:2000, 3:5] = np.nan

Generar el informe de drift

#dataset-level metrics
report = Report([DataDriftPreset()], include_tests=True)
my_eval = report.run(current_data=adult_cur, reference_data=adult_ref)
my_eval

Drift Detection Dashboard

Panel de detección de drift - creado con EvidentlyAI

Exportar el informe de drift en formato JSON

#report in a JSON format
my_eval.json()

Echa un vistazo al Notebook completo de Datacamp aquí.

Conclusión

El data drift y el model drift pueden suponer un reto importante para los sistemas de machine learning en producción. Si entiendes sus causas y efectos, e implementas prácticas eficaces de monitorización, tus modelos seguirán siendo precisos y fiables con el tiempo. 

Monitorizar el rendimiento de tus modelos, usar un modelo de detección de drift y reentrenar periódicamente con datos actualizados son solo algunas de las mejores prácticas para mitigar sus riesgos. Si eres proactivo con la monitorización del drift, te asegurarás de que tu sistema de machine learning siga aportando valor a tu organización.

Vigilar el drift es solo una parte de un ámbito más amplio llamado MLOps. Entender los conceptos de MLOps es esencial para cualquier data scientist, ingeniero o líder que quiera llevar modelos desde un notebook local hasta producción. 

Si quieres profundizar en MLOps y cómo puede impulsar tu carrera profesional, consulta nuestro curso MLOps Concepts. Aprenderás qué es MLOps, las distintas fases de sus procesos y los niveles de madurez. Con estos conceptos esenciales, estarás listo para implementar machine learning de forma continua, fiable y eficiente.

Obtén una certificación superior en IA

Demuestra que puedes utilizar la IA de forma eficaz y responsable.

Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Científico de Datos, Fundador y Creador de PyCaret

Preguntas frecuentes sobre detección de drift

¿Qué es el model drift en machine learning?

El model drift en machine learning es cuando el rendimiento de un modelo sobre datos nuevos difiere del que tenía sobre los datos de entrenamiento con los que se construyó. Puede ocurrir por varios motivos, como cambios en la distribución de los datos con el tiempo, la incorporación de datos nuevos que no encajan con los supuestos del modelo original o la incapacidad del propio modelo para adaptarse a condiciones cambiantes.

¿Por qué es un problema el model drift?

El model drift puede afectar de forma notable al rendimiento y la precisión de un modelo. A medida que sus predicciones se vuelven menos fiables, puede llevar a decisiones o acciones incorrectas con consecuencias negativas. Por ejemplo, en sanidad podría provocar diagnósticos o recomendaciones de tratamiento erróneos; en finanzas, malas decisiones de inversión.

¿Cómo se detecta el model drift?

Hay varias formas de determinar si un modelo está derivando: pruebas estadísticas, algoritmos de detección de drift y el seguimiento del rendimiento del propio modelo. Algunas técnicas están pensadas para detectar drift en tiempo real, mientras que otras funcionan mejor en chequeos periódicos o por lotes. Es importante elegir la técnica adecuada para la aplicación y el contexto de datos concretos.

¿Cómo se previene el model drift?

Prevenir el model drift requiere una combinación de una buena selección de modelos, monitorización y pruebas periódicas e intervención proactiva. Puede implicar usar algoritmos más robustos al drift, reentrenar regularmente con datos nuevos o aplicar estrategias para abordar activamente el drift cuando se detecta. También es clave entender bien los factores que lo causan para poder prevenirlos.

¿Cómo influye la distribución de los datos en el model drift?

La distribución de los datos puede afectar mucho al rendimiento de un modelo de machine learning. Si la distribución cambia con el tiempo, puede provocar model drift, ya que el modelo puede dejar de predecir con precisión datos nuevos que no encajan con sus supuestos originales. Esto puede suceder por variaciones naturales en los datos, la incorporación de nuevas fuentes o cambios en los procesos o sistemas que generan los datos.

¿Es reversible el model drift?

En algunos casos, el model drift puede revertirse reentrenando el modelo con datos nuevos o ajustando sus parámetros. Sin embargo, no siempre es posible, especialmente si la distribución ha cambiado mucho o el modelo se ha vuelto demasiado complejo o especializado. En estas situaciones, puede ser necesario empezar de cero con un modelo nuevo.

¿Es posible eliminar por completo el model drift?

Eliminar por completo el model drift es difícil, si no imposible. Incluso los modelos más robustos y bien diseñados pueden verse afectados por cambios en los datos o en los procesos que los generan. La mejor estrategia es gestionar y mitigar su impacto mediante monitorización, pruebas e intervención regulares.

¿Cómo impacta el model drift en el rendimiento del modelo?

El model drift puede afectar de forma importante al rendimiento de un modelo. A medida que las predicciones se vuelven menos precisas, puede reducirse el rendimiento en métricas clave como accuracy, precision, recall y la efectividad general del modelo. En algunos casos, incluso puede provocar fallos completos, generando predicciones incorrectas o poco fiables.

¿Cómo afecta el model drift a la precisión del modelo?

El model drift puede perjudicar la precisión de un modelo de machine learning. A medida que sus predicciones pierden exactitud, pueden conducir a decisiones o acciones erróneas, con consecuencias negativas en aplicaciones reales. Por ejemplo, en sanidad podría causar diagnósticos o tratamientos equivocados; en finanzas, malas decisiones de inversión. Es importante monitorizar y comprobar regularmente el model drift para mantener la precisión del modelo.

Temas

Cursos de MLOps

Curso

Conceptos de MLOps

2 h
42.6K
Descubre cómo los MLOps llevan los modelos de machine learning del cuaderno a modelos funcionales en producción que generan valor empresarial real.
Ver detallesRight Arrow
Iniciar curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial de Lasso y regresión Ridge en Python

Conozca las técnicas de regresión del lazo y la cresta. Compare y analice los métodos en detalle.
DataCamp Team's photo

DataCamp Team

Tutorial

Las mejores técnicas para gestionar valores perdidos que todo científico de datos debe conocer

Explore varias técnicas para manejar eficazmente los valores perdidos y sus implementaciones en Python.
Zoumana Keita 's photo

Zoumana Keita

Tutorial

Tutorial del Optimizador Adam: Intuición e implementación en Python

Comprender y aplicar el optimizador Adam en Python. Aprende la intuición, las matemáticas y las aplicaciones prácticas del aprendizaje automático con PyTorch
Bex Tuychiev's photo

Bex Tuychiev

Tutorial

Aprendizaje automático de datos categóricos con el tutorial de Python

Aprenda los trucos más comunes para manejar datos categóricos y preprocesarlos para construir modelos de aprendizaje automático.
Moez Ali's photo

Moez Ali

Python

Tutorial

Comprender la regresión logística en el tutorial de Python

Aprende sobre la regresión logística, sus propiedades básicas, y construye un modelo de machine learning sobre una aplicación del mundo real en Python.
Avinash Navlani's photo

Avinash Navlani

Tutorial

Ajuste fino de GPT-3 mediante la API OpenAI y Python

Libere todo el potencial de GPT-3 mediante el ajuste fino. Aprenda a utilizar la API de OpenAI y Python para mejorar este modelo de red neuronal avanzado para su caso de uso específico.
Zoumana Keita 's photo

Zoumana Keita

Ver másVer más