Data Drift vs Concept Drift: как обнаружить и реагировать

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

data driftconcept driftdrift detection

В ML-системах модель может деградировать даже без изменений в коде. Частые причины — data drift и concept drift. Эти термины часто путают, но реагировать на них нужно по-разному.

  • Data Drift — изменилось распределение входных данных. Пример: модель скоринга обучалась на клиентах из офлайна, а потом в поток добавились пользователи из мобильного приложения. Возраст, география, поведение — уже другие.
  • Concept Drift — изменилась сама зависимость между признаками и целевой переменной. Пример: раньше частые ночные покупки были признаком мошенничества, а после распродаж и роста маркетплейсов это стало нормой.

Как отличить

  • Если входные признаки “поплыли”, но логика связи с target осталась прежней — это data drift.
  • Если качество модели падает, хотя входные данные визуально похожи на старые — вероятен concept drift.

Как обнаружить Data Drift

  • Сравнивать распределения признаков между train и production
  • Использовать PSI, KL divergence, JS divergence, KS-test
  • Следить за долей пропусков, выбросами, новыми категориями
  • Настроить мониторинг по ключевым фичам в реальном времени

Сигналы:

  • 📉 рост PSI по важным признакам
  • 📦 появление unseen categories
  • ⚠️ сдвиг среднего, медианы, дисперсии

Как обнаружить Concept Drift

С ним сложнее: нужно смотреть не только на данные, но и на качество предсказаний.

  • Мониторить accuracy, F1, ROC-AUC, MAE — в зависимости от задачи
  • Сравнивать предсказания с фактическими результатами, когда появляется разметка
  • Использовать sliding window и time-based validation
  • Применять drift-детекторы: DDM, EDDM, ADWIN

Сигналы:

  • стабильные входные данные, но метрики качества ухудшаются
  • растёт ошибка на свежих данных
  • меняется business outcome при тех же prediction score

Как реагировать

Если это Data Drift:

  • проверить пайплайн сбора и препроцессинга
  • обновить словари, правила кодирования, feature engineering
  • дообучить модель на более свежих данных
  • ввести алерты на критичные признаки

Если это Concept Drift:

  • переобучить модель на актуальной выборке
  • сократить “срок жизни” обучающего датасета
  • пересмотреть набор признаков и target definition
  • внедрить регулярный retraining или online learning 🔄

Практический вывод

Data drift отвечает на вопрос: “изменились ли данные?”

Concept drift — “изменилась ли сама реальность, которую моделируем?”

Для зрелой ML-системы нужен двойной контроль:

  • мониторинг входных данных
  • мониторинг качества модели
  • привязка к бизнес-метрикам 💡

Иначе модель может выглядеть “живой”, но приносить всё меньше пользы.

👀 Ниже — подборка каналов про IT, где ещё больше практики, кейсов и полезных разборов.

Читайте так же