Дрейф данных

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 4: Строка 4:
{{TOCright}}
{{TOCright}}
-
'''Дрейф данных''' (англ. ''data drift'') — изменение статистических свойств данных, поступающих в модель после её обучения и внедрения. В эксплуатационной практике этим выражением нередко называют широкий класс изменений распределения (''distribution shift''), хотя в более узком смысле ''data drift'' означает изменение распределения входных признаков <tex>P(X)</tex>. Изменение зависимости целевой переменной от признаков <tex>P(Y\mid X)</tex> обычно называют '''дрейфом концепта''' (''concept drift'').
+
'''Дрейф данных''' (англ. ''data drift'') — изменение статистических свойств данных, поступающих в модель после её обучения и внедрения. В прикладной практике этим выражением иногда называют любой '''распределительный сдвиг''' (''distribution shift''). В более узком смысле ''data drift'' означает изменение распределения входных признаков <tex>P(X)</tex>, тогда как изменение зависимости целевой переменной от признаков <tex>P(Y\mid X)</tex> называют '''дрейфом концепта''' (''concept drift'').
-
Дрейф важен для рекомендательных систем, кредитного скоринга, обнаружения мошенничества, медицинской диагностики и промышленного мониторинга. Модель может оставаться неизменной, но работать хуже, если изменились пользователи, бизнес-процесс, оборудование или способ получения признаков. Вместе с тем обнаруженное различие распределений ещё не доказывает деградацию качества и не является автоматическим основанием для переобучения.
+
Дрейф важен для рекомендательных систем, кредитного скоринга, обнаружения мошенничества, медицинской диагностики и промышленного мониторинга. Модель и её программный код могут оставаться неизменными, но качество способно меняться вместе с пользователями, внешней средой, правилами принятия решений или процессом сбора данных. Вместе с тем обнаруженное различие распределений ещё не доказывает деградацию модели и не является автоматическим основанием для переобучения.
-
== Постановка задачи ==
+
== Формальная постановка ==
Пусть при обучении совместное распределение признаков <tex>X</tex> и целевой переменной <tex>Y</tex> имело вид
Пусть при обучении совместное распределение признаков <tex>X</tex> и целевой переменной <tex>Y</tex> имело вид
Строка 22: Строка 22:
::<tex>P_t(X,Y)\ne P_{\mathrm{train}}(X,Y).</tex>
::<tex>P_t(X,Y)\ne P_{\mathrm{train}}(X,Y).</tex>
-
Совместное распределение можно разложить двумя способами:
+
Совместное распределение допускает два разложения:
::<tex>P(X,Y)=P(Y\mid X)P(X)=P(X\mid Y)P(Y).</tex>
::<tex>P(X,Y)=P(Y\mid X)P(X)=P(X\mid Y)P(Y).</tex>
-
Эти разложения позволяют формально различить несколько идеализированных случаев. В реальной системе могут одновременно изменяться несколько множителей, поэтому однозначно отнести наблюдаемое изменение к одному типу удаётся не всегда.<ref name="gama">{{статья |автор=Gama J., Žliobaitė I., Bifet A., Pechenizkiy M., Bouchachia A. |заглавие=A Survey on Concept Drift Adaptation |издание=ACM Computing Surveys |год=2014 |том=46 |номер=4 |страницы=44:1–44:37 |doi=10.1145/2523813 |ссылка=https://doi.org/10.1145/2523813}}</ref>
+
Они позволяют различить идеализированные типы сдвига. В реальной системе несколько множителей могут изменяться одновременно, поэтому наблюдаемое изменение не всегда однозначно относится к одному типу.<ref name="gama">{{статья |автор=Gama J., Žliobaitė I., Bifet A., Pechenizkiy M., Bouchachia A. |заглавие=A Survey on Concept Drift Adaptation |издание=ACM Computing Surveys |год=2014 |том=46 |номер=4 |страницы=44:1–44:37 |doi=10.1145/2523813 |ссылка=https://doi.org/10.1145/2523813}}</ref>
-
Важно разделять три наблюдения:
+
Для фиксированной модели <tex>f</tex> риск в момент <tex>t</tex> равен
-
* изменение распределения входов <tex>P(X)</tex>;
+
::<tex>R_t(f)=\mathbb{E}_{(X,Y)\sim P_t}\left[\ell(f(X),Y)\right],</tex>
-
* изменение распределения предсказаний модели;
+
-
* изменение качества предсказаний относительно истинных ответов.
+
-
Ни одно из них в общем случае не следует автоматически из другого.
+
где <tex>\ell</tex> — функция потерь. Изменение <tex>P_t(X,Y)</tex> влияет на качество лишь постольку, поскольку меняется средняя потеря модели. Поэтому статистически заметный сдвиг может быть практически безвредным, а небольшое изменение в критической области признакового пространства — существенно ухудшать качество.
 +
 
 +
Важно не смешивать три разных наблюдаемых сигнала:
 +
 
 +
* изменение распределения входов <tex>P_t(X)</tex>;
 +
* изменение распределения предсказаний <tex>P_t(\hat Y)</tex>;
 +
* изменение риска или прикладной метрики по истинным ответам.
 +
 
 +
Ни один из этих сигналов в общем случае не следует автоматически из другого.
== Типы распределительного сдвига ==
== Типы распределительного сдвига ==
Строка 48: Строка 54:
::<tex>P_t(Y\mid X)=P_{\mathrm{train}}(Y\mid X).</tex>
::<tex>P_t(Y\mid X)=P_{\mathrm{train}}(Y\mid X).</tex>
-
Например, после запуска продукта в новом регионе может измениться состав пользователей, хотя связь между наблюдаемыми характеристиками пользователя и целевым действием внутри каждой области признакового пространства сохраняется.
+
Например, после запуска продукта в новом регионе может измениться состав пользователей, хотя связь между наблюдаемыми характеристиками и целевым действием внутри каждой области признакового пространства сохраняется.
-
При выполнении этого предположения риск на новом распределении можно оценивать с помощью весов важности
+
При этих предпосылках новый риск можно представить через обучающее распределение:
-
::<tex>w(x)=\frac{p_t(x)}{p_{\mathrm{train}}(x)}.</tex>
+
::<tex>R_t(f)=\mathbb{E}_{P_{\mathrm{train}}}\left[w(X)\ell(f(X),Y)\right],\qquad w(x)=\frac{p_t(x)}{p_{\mathrm{train}}(x)}.</tex>
-
Такое взвешивание требует, чтобы области, существенные для нового распределения, были достаточно представлены в обучающих данных. Если <tex>p_{\mathrm{train}}(x)</tex> близка к нулю там, где <tex>p_t(x)</tex> велика, оценка отношения плотностей становится неустойчивой, а недостающую информацию невозможно получить одним перевзвешиванием.
+
Перевзвешивание требует условия покрытия: области, имеющие ненулевую вероятность при эксплуатации, должны быть представлены при обучении. Если <tex>p_{\mathrm{train}}(x)</tex> близка к нулю там, где <tex>p_t(x)</tex> велика, отношение плотностей становится неустойчивым, а недостающую информацию невозможно восстановить одними весами.
-
Заметный ковариатный сдвиг может почти не влиять на качество, если изменились неиспользуемые или малоинформативные признаки. И наоборот, отсутствие заметного изменения в отдельных маргинальных распределениях не исключает изменения совместной структуры признаков или зависимости <tex>P(Y\mid X)</tex>.
+
Заметный ковариатный сдвиг может почти не влиять на качество, если изменились признаки, которые модель не использует, или если модель одинаково хорошо работает в обеих областях. И наоборот, стабильность одномерных распределений отдельных признаков не исключает изменения их совместной структуры.
=== Сдвиг априорных вероятностей классов ===
=== Сдвиг априорных вероятностей классов ===
-
'''Сдвиг априорных вероятностей классов''' (''label shift'', ''prior probability shift'') задаётся условиями
+
'''Сдвиг априорных вероятностей классов''' (''label shift'', ''prior probability shift'') определяется условиями
::<tex>P_t(Y)\ne P_{\mathrm{train}}(Y),</tex>
::<tex>P_t(Y)\ne P_{\mathrm{train}}(Y),</tex>
Строка 66: Строка 72:
::<tex>P_t(X\mid Y)=P_{\mathrm{train}}(X\mid Y).</tex>
::<tex>P_t(X\mid Y)=P_{\mathrm{train}}(X\mid Y).</tex>
-
Например, доля мошеннических операций может измениться, тогда как распределения признаков внутри классов «мошенничество» и «обычная операция» остаются прежними. В этом случае обычно меняются и <tex>P(X)</tex>, и апостериорные вероятности <tex>P(Y\mid X)</tex>; поэтому label shift нельзя определять как неизменность <tex>P(Y\mid X)</tex>.
+
Например, доля мошеннических операций может измениться, тогда как распределения признаков внутри классов «мошенничество» и «обычная операция» остаются прежними.
-
При подтверждённых предпосылках можно оценить новые доли классов и скорректировать вероятности или порог решения. Простая перенастройка порога недостаточна, если изменилось также <tex>P(X\mid Y)</tex> или само содержательное значение классов.
+
При label shift обычно изменяются и <tex>P(X)</tex>, и апостериорное распределение <tex>P(Y\mid X)</tex>. Поэтому его нельзя определять через неизменность <tex>P(Y\mid X)</tex>: сохраняется именно <tex>P(X\mid Y)</tex>. При подтверждённых предпосылках можно оценить новые доли классов и скорректировать вероятности либо порог решения. Такая коррекция ненадёжна, если одновременно изменилось <tex>P(X\mid Y)</tex>, модель плохо откалибрована или изменилось содержательное правило присвоения класса.
=== Дрейф концепта ===
=== Дрейф концепта ===
Строка 76: Строка 82:
::<tex>P_t(Y\mid X)\ne P_{\mathrm{train}}(Y\mid X).</tex>
::<tex>P_t(Y\mid X)\ne P_{\mathrm{train}}(Y\mid X).</tex>
-
Например, после изменения кредитной политики одинаковые наблюдаемые характеристики заёмщика могут соответствовать иному риску, а после модернизации оборудования прежние показания датчиков — иной вероятности неисправности. Распределение <tex>P(X)</tex> при этом может как измениться, так и остаться прежним.
+
Например, после изменения кредитной политики одинаковые наблюдаемые характеристики заёмщика могут соответствовать другому риску, а после модернизации оборудования прежние показания датчиков — иной вероятности неисправности. Распределение <tex>P(X)</tex> при этом может измениться или остаться прежним.
-
Изменение <tex>P(Y\mid X)</tex> также называют ''real concept drift''; распределение <tex>P(X)</tex> при нём может измениться или остаться прежним. Если <tex>P(X)</tex> стабильно, такой дрейф принципиально не обнаруживается только сравнением неразмеченных входных данных: для его подтверждения нужны целевые метки, надёжные косвенные сигналы или дополнительные предположения.
+
Если <tex>P(X)</tex> стабильно, такой дрейф принципиально нельзя подтвердить одним сравнением неразмеченных входов. Для его обнаружения нужны целевые метки, проверенные косвенные сигналы или дополнительные предположения. Следовательно, отсутствие feature drift не доказывает сохранение качества.
-
== Как изменение развивается во времени ==
+
=== Смешанные случаи ===
-
В литературе различают несколько форм изменения концепта:<ref name="lu">{{статья |автор=Lu J., Liu A., Dong F., Gu F., Gama J., Zhang G. |заглавие=Learning under Concept Drift: A Review |издание=IEEE Transactions on Knowledge and Data Engineering |год=2019 |том=31 |номер=12 |страницы=2346–2363 |doi=10.1109/TKDE.2018.2876857 |ссылка=https://doi.org/10.1109/TKDE.2018.2876857}}</ref>
+
Идеализированные определения полезны для выбора метода диагностики, но эксплуатационные изменения часто смешаны. Маркетинговая кампания может одновременно изменить состав пользователей <tex>P(X)</tex>, долю положительных исходов <tex>P(Y)</tex> и связь между признаками и целью <tex>P(Y\mid X)</tex>. В таком случае коррекция только одного множителя не устраняет проблему.
-
* '''резкое изменение''' (''abrupt drift'') — один режим быстро сменяется другим;
+
== Изменение во времени ==
-
* '''постепенное изменение''' (''gradual drift'') — старый и новый режимы некоторое время встречаются одновременно, а вероятность нового растёт;
+
-
* '''инкрементальное изменение''' (''incremental drift'') — концепт последовательно проходит через промежуточные состояния;
+
-
* '''повторяющееся изменение''' (''recurring drift'') — ранее наблюдавшийся режим возвращается, например из-за сезонности.
+
-
Кратковременный выброс или единичная аномалия не обязательно являются дрейфом. Для резкого изменения может быть полезно быстро уменьшить влияние старых данных, тогда как при повторяющихся режимах полное забывание истории способно ухудшить модель.
+
В обзорах дрейфа различают несколько временных форм:<ref name="lu">{{статья |автор=Lu J., Liu A., Dong F., Gu F., Gama J., Zhang G. |заглавие=Learning under Concept Drift: A Review |издание=IEEE Transactions on Knowledge and Data Engineering |год=2019 |том=31 |номер=12 |страницы=2346–2363 |doi=10.1109/TKDE.2018.2876857 |ссылка=https://doi.org/10.1109/TKDE.2018.2876857}}</ref>
-
== Причины ==
+
* '''резкий дрейф''' (''abrupt drift'') — один режим быстро сменяется другим;
 +
* '''постепенный дрейф''' (''gradual drift'') — старый и новый режимы некоторое время встречаются одновременно, а доля нового режима растёт;
 +
* '''инкрементальный дрейф''' (''incremental drift'') — концепт проходит через последовательность промежуточных состояний;
 +
* '''повторяющийся дрейф''' (''recurring drift'') — ранее наблюдавшийся режим возвращается, например вследствие сезонности.
-
Изменение данных может отражать реальный процесс:
+
Постепенный и инкрементальный дрейф различаются характером перехода: в первом случае смешиваются наблюдения из старого и нового режимов, во втором сам режим последовательно изменяется. Кратковременный выброс, единичная аномалия и циклическое колебание внутри ожидаемого диапазона не обязательно означают новый устойчивый концепт.
-
* изменение поведения пользователей, рынка или состава аудитории;
+
Временная форма влияет на адаптацию. После резкого изменения полезно быстро уменьшить влияние старых данных; при повторяющихся режимах полное забывание истории может, напротив, ухудшить модель.
-
* появление новых товаров, устройств, категорий или каналов взаимодействия;
+
-
* изменение правил принятия решений, законодательства или внешней среды;
+
-
* старение или замена оборудования;
+
-
* влияние решений самой модели на будущие наблюдения.
+
-
Похожий статистический сигнал возникает и при технической неисправности:
+
== Причины статистического сигнала ==
 +
 
 +
=== Изменение среды ===
 +
 
 +
Дрейф может отражать реальное изменение процесса:
 +
 
 +
* поведение пользователей, рынка или состава аудитории;
 +
* появление новых товаров, устройств, категорий и каналов взаимодействия;
 +
* изменение законодательства, бизнес-правил или внешней среды;
 +
* старение, калибровку или замену оборудования;
 +
* влияние решений самой модели на последующие данные.
 +
 
 +
=== Неисправность данных ===
 +
 
 +
Похожий сигнал возникает из-за технической ошибки:
* изменилась схема таблицы, единица измерения или кодировка категории;
* изменилась схема таблицы, единица измерения или кодировка категории;
-
* нарушился порядок вычисления признаков;
+
* нарушился порядок или версия вычисления признаков;
-
* выросла доля пропусков или дубликатов;
+
* выросла доля пропусков, дубликатов или несогласованных ключей;
-
* при обучении и эксплуатации используются разные версии преобразований;
+
* обучение и эксплуатация используют разные преобразования;
-
* метки стали поступать с ошибкой или по изменившемуся правилу.
+
* метки стали поступать с ошибкой либо по изменившемуся правилу;
 +
* нарушилось соединение таблиц или временное выравнивание событий.
-
Во втором случае переобучение на повреждённых данных не адаптирует систему, а закрепляет ошибку. Поэтому проверка конвейера должна предшествовать содержательной интерпретации дрейфа.
+
Во втором случае переобучение на повреждённых данных не адаптирует систему, а закрепляет неисправность. Поэтому проверка контракта и конвейера данных должна предшествовать содержательной интерпретации дрейфа.
== Мониторинг ==
== Мониторинг ==
-
=== Качество и схема данных ===
+
=== Схема и качество данных ===
 +
 
 +
Сначала контролируют свойства, нарушение которых само является ошибкой: типы и диапазоны значений, обязательные поля, уникальность ключей, долю пропусков, свежесть данных, версии справочников и преобразований. Полезно отдельно проверять момент события и момент загрузки, чтобы задержка поставки не выглядела как изменение поведения пользователей.
-
Сначала контролируют свойства, нарушение которых само по себе является ошибкой: типы и диапазоны значений, обязательные поля, уникальность ключей, долю пропусков, свежесть данных, версии справочников и преобразований. Такие проверки не заменяют статистический мониторинг, но позволяют быстрее отделить неисправность от естественного изменения среды.
+
Такие проверки не заменяют статистический мониторинг, но помогают отделить неисправность от естественного изменения среды.
=== Входные признаки ===
=== Входные признаки ===
-
Для числовых признаков сравнивают квантили, гистограммы и долю пропусков; для категориальных — частоты, новые и исчезнувшие значения. Применяют двухвыборочные статистические критерии и расстояния между распределениями. Полезно оценивать не только отдельные признаки, но и их совместную структуру: стабильные маргинальные распределения могут скрывать изменение зависимостей между признаками.
+
Для числовых признаков сравнивают квантили, гистограммы, средние и доли пропусков; для категориальных — частоты, новые и исчезнувшие значения. Используют двухвыборочные статистические критерии и расстояния между распределениями. Помимо одномерных признаков проверяют совместную структуру или представления, чувствительные к многомерному сдвигу.
-
Порог сигнала должен учитывать размер выборки и практическую значимость. На большом потоке статистический тест способен обнаружить очень малое различие, не влияющее на решения модели. При одновременной проверке множества признаков растёт число ложных тревог. Кроме того, эталонное окно должно учитывать известную сезонность и изменения объёма трафика.
+
Порог тревоги должен учитывать размер выборки и практическую значимость. На большом потоке статистический критерий способен обнаружить очень малое различие, не влияющее на решения. При одновременной проверке множества признаков растёт число ложных сигналов. Эталонный период должен учитывать известные суточные, недельные и сезонные режимы.
-
=== Предсказания ===
+
Полезно связывать мониторинг с моделью: изменение важного для предсказания признака обычно требует большего внимания, чем столь же заметное изменение неиспользуемого поля. Однако оценки важности сами могут быть нестабильны и не заменяют измерение качества.
 +
 
 +
=== Предсказания модели ===
Без меток можно отслеживать распределение прогнозов
Без меток можно отслеживать распределение прогнозов
Строка 129: Строка 150:
::<tex>P_t(\hat Y),</tex>
::<tex>P_t(\hat Y),</tex>
-
доли решений выше порога, неопределённость модели и выход объектов за область, представленную при обучении. Эти показатели дают ранний сигнал, но не измеряют точность. Распределение предсказаний может измениться при полностью корректной модели из-за label shift; оно может и остаться прежним, хотя ошибки перераспределились между объектами.
+
доли решений выше порога, неопределённость, калибровочные суррогаты и выход объектов за область, представленную при обучении. Эти показатели дают ранний сигнал, но не измеряют точность. Распределение предсказаний может корректно измениться вслед за долей классов; оно может остаться почти прежним, хотя ошибки перераспределились между объектами.
=== Качество по поступившим меткам ===
=== Качество по поступившим меткам ===
-
Когда истинные ответы доступны, отслеживают целевую функцию потерь, метрики классификации или регрессии, калибровку и бизнес-показатели. Для последовательности ошибок <tex>e_i</tex> можно вычислять среднее на недавнем окне <tex>W_t</tex>:
+
Когда истинные ответы доступны, отслеживают функцию потерь, метрики классификации или регрессии, калибровку и прикладные показатели. Для последовательности ошибок <tex>e_i</tex> средняя ошибка на недавнем окне <tex>W_t</tex> равна
::<tex>\bar e_t=\frac{1}{|W_t|}\sum_{i\in W_t}e_i.</tex>
::<tex>\bar e_t=\frac{1}{|W_t|}\sum_{i\in W_t}e_i.</tex>
-
При задержке разметки метрики следует группировать по времени получения прогноза, а не только по времени появления метки. Необходимо учитывать зрелость исхода: неполные когорты, для которых положительные или отрицательные события ещё не успели проявиться, дают смещённую оценку.
+
Средняя метрика может скрывать деградацию в важной подгруппе. Поэтому качество проверяют по заранее определённым регионам, типам устройств, категориям объектов и другим сегментам, одновременно показывая размер и неопределённость оценки для каждой группы.
-
Средняя метрика может скрывать деградацию в важной подгруппе. Поэтому качество проверяют по регионам, типам устройств, категориям объектов и другим заранее определённым сегментам, контролируя достаточность размера каждой выборки.
+
=== Задержка разметки ===
-
== Методы обнаружения ==
+
Метка может появляться через дни или месяцы после прогноза. Метрики следует группировать по времени, когда был сделан прогноз, а не только по времени получения метки. Для каждой когорты проверяют '''зрелость исхода''': успела ли пройти длительность, необходимая для наблюдения положительных и отрицательных событий.
 +
 
 +
Сравнение незрелой свежей когорты со зрелой исторической создаёт систематическое смещение. Поэтому мониторинг должен отдельно показывать ранние неразмеченные сигналы и запаздывающую оценку качества, не выдавая одно за другое.
 +
 
 +
== Методы обнаружения изменений ==
=== Фиксированные окна ===
=== Фиксированные окна ===
-
Простейшая схема сравнивает недавнее окно с эталонным периодом либо два соседних окна. Короткое окно быстрее реагирует, но даёт шумные оценки; длинное устойчивее, но обнаруживает изменение с задержкой. Размер окна и пороги следует выбирать на временно упорядоченных исторических данных, а не по тестовой выборке итоговой модели.
+
Простейшая схема сравнивает недавнее окно с эталонным периодом либо два соседних окна. Короткое окно быстрее реагирует, но даёт шумные оценки; длинное устойчивее, но обнаруживает изменение с задержкой. Размер окна и пороги выбирают на временно упорядоченных исторических данных, воспроизводя реальные задержки меток и сезонность.
 +
 
 +
Один неизменный эталон со временем может устареть. Обновляемый эталон лучше отражает текущий режим, но способен постепенно «принять» нежелательное изменение как норму. Поэтому часто сохраняют одновременно исходную обучающую базу и более свежую эксплуатационную базу.
=== ADWIN ===
=== ADWIN ===
-
ADWIN (''Adaptive Windowing'') предназначен для последовательности ограниченных скалярных наблюдений, например ошибок классификатора или выбранной статистики. Алгоритм поддерживает окно переменной длины и проверяет возможные разбиения на старую и новую части. Если различие их средних превышает порог, связанный с допустимой вероятностью ложной тревоги, устаревшая часть отбрасывается.<ref name="adwin">{{статья |автор=Bifet A., Gavaldà R. |заглавие=Learning from Time-Changing Data with Adaptive Windowing |издание=Proceedings of the 7th SIAM International Conference on Data Mining |год=2007 |страницы=443–448 |doi=10.1137/1.9781611972771.42 |ссылка=https://doi.org/10.1137/1.9781611972771.42}}</ref>
+
ADWIN (''Adaptive Windowing'') предназначен для последовательности ограниченных скалярных наблюдений, например ошибок классификатора или выбранной числовой статистики. Алгоритм поддерживает окно переменной длины и рассматривает его разбиения на более старую и более новую части. Если различие средних превышает порог, зависящий от допустимой вероятности ложной тревоги и объёма данных, старая часть окна отбрасывается.<ref name="adwin">{{статья |автор=Bifet A., Gavaldà R. |заглавие=Learning from Time-Changing Data with Adaptive Windowing |издание=Proceedings of the 7th SIAM International Conference on Data Mining |год=2007 |страницы=443–448 |doi=10.1137/1.9781611972771.42 |ссылка=https://doi.org/10.1137/1.9781611972771.42}}</ref>
 +
 
 +
В стабильный период окно может расти и использовать больше наблюдений; после сигнала изменения оно сокращается. ADWIN обнаруживает изменение среднего поданной скалярной последовательности, а не произвольное изменение любого многомерного распределения. Для таблицы с несколькими признаками необходимо заранее определить отдельные скалярные потоки или статистики и учитывать множественные проверки. Если на вход подаётся ошибка модели, скорость сигнала зависит от задержки меток.
-
В стабильный период окно может расти и использовать больше наблюдений; после изменения оно сокращается. ADWIN не устанавливает причину сигнала и сам по себе не является универсальным детектором произвольного многомерного сдвига. Результат зависит от того, какая скалярная величина подана на вход, и от наличия задержки меток, если контролируется ошибка модели.
+
Детектор не устанавливает причину изменения и не выбирает действие. Он лишь сообщает, что выбранная последовательность перестала выглядеть стационарной в рамках его предпосылок и порога.
== Адаптация модели ==
== Адаптация модели ==
-
Сигнал детектора должен запускать диагностику, а не безусловное переобучение. После подтверждения изменения применяют одну или несколько стратегий.
+
Сигнал мониторинга должен запускать диагностику, а не безусловное переобучение. После подтверждения содержательного изменения применяют одну или несколько стратегий.
=== Периодическое переобучение ===
=== Периодическое переобучение ===
-
Переобучение по расписанию предсказуемо с точки зрения эксплуатации и аудита. Однако оно расходует ресурсы в стабильные периоды и может опоздать после резкого изменения. Без проверки качества свежих данных расписание способно регулярно выпускать модель хуже предыдущей.
+
Переобучение по расписанию предсказуемо с точки зрения эксплуатации, вычислительного бюджета и аудита. Однако оно расходует ресурсы в стабильные периоды и может опоздать после резкого изменения. Без проверки свежих данных и сравнения с действующей моделью расписание способно регулярно выпускать модель хуже предыдущей.
=== Скользящее окно ===
=== Скользящее окно ===
Обучение только на последних <tex>k</tex> наблюдениях быстро забывает устаревший режим. Цена этого — меньший эффективный объём выборки и потеря редких либо сезонных случаев. Размер окна задаёт компромисс между скоростью адаптации и дисперсией оценки.
Обучение только на последних <tex>k</tex> наблюдениях быстро забывает устаревший режим. Цена этого — меньший эффективный объём выборки и потеря редких либо сезонных случаев. Размер окна задаёт компромисс между скоростью адаптации и дисперсией оценки.
 +
 +
Окно следует определять по времени наступления события, а не случайному числу последних строк, если скорость потока меняется.
=== Взвешивание по давности ===
=== Взвешивание по давности ===
Строка 171: Строка 202:
::<tex>w_i=\lambda^{t-i},\qquad 0<\lambda<1.</tex>
::<tex>w_i=\lambda^{t-i},\qquad 0<\lambda<1.</tex>
-
Такое затухание даёт плавную адаптацию, но не гарантирует соответствия реальной скорости дрейфа. Параметр <tex>\lambda</tex> выбирают на прошлых временных периодах с имитацией доступности данных и меток.
+
Такое затухание даёт плавную адаптацию, но не гарантирует соответствия реальной скорости дрейфа. Параметр <tex>\lambda</tex> выбирают на прошлых временных периодах с имитацией фактической доступности данных и меток.
=== Онлайн-обучение ===
=== Онлайн-обучение ===
-
Онлайн-алгоритм обновляется по мере поступления новых примеров и может быстро реагировать на изменение. Одновременно возрастают риски обучения на временной аномалии, повреждённых данных или обратной связи от собственных решений. Нужны ограничения на обновление, журналирование версий и возможность отката.
+
[[онлайн-обучение|Онлайн-алгоритм]] обновляется по мере поступления новых размеченных примеров и может быстро реагировать на изменение. Одновременно возрастают риски обучения на временной аномалии, повреждённых данных или обратной связи от собственных решений. Нужны ограничения на обновление, журналирование версий, контрольные выборки и возможность отката.
=== Ансамбли ===
=== Ансамбли ===
-
Ансамбль может добавлять модели, обученные на свежих данных, уменьшать вес устаревших моделей и сохранять специалистов для повторяющихся режимов. Это повышает гибкость, но усложняет интерпретацию, калибровку и контроль вычислительной стоимости.
+
Ансамбль может добавлять модели, обученные на свежих данных, уменьшать вес устаревших моделей и сохранять специалистов для повторяющихся режимов. Это повышает гибкость, но усложняет калибровку, интерпретацию, выбор правила обновления и контроль вычислительной стоимости.
-
Выбор стратегии зависит от типа изменения. При чистом label shift иногда достаточно коррекции вероятностей и порога; при изменении <tex>P(Y\mid X)</tex> может потребоваться новое обучение, новые признаки или пересмотр постановки задачи.
+
=== Коррекция без полного переобучения ===
 +
 
 +
При подтверждённом чистом label shift иногда достаточно скорректировать вероятности классов и порог решения. При изменении <tex>P(Y\mid X)</tex> может потребоваться обучение на свежих метках, изменение признаков или пересмотр постановки задачи. Если причина сигнала — неисправность конвейера, правильным действием является исправление и восстановление данных, а не адаптация модели.
== Практический порядок действий ==
== Практический порядок действий ==
-
# До внедрения фиксируют версии данных и преобразований, эталонные распределения, целевые метрики и допустимые задержки меток.
+
# До внедрения фиксируют версии данных и преобразований, эталонные распределения, целевые метрики, подгруппы и допустимые задержки меток.
-
# В эксплуатации отдельно контролируют схему данных, входные признаки, предсказания и качество по созревшим меткам.
+
# В эксплуатации отдельно контролируют контракт данных, входные признаки, предсказания и качество по зрелым меткам.
-
# После сигнала определяют затронутые признаки, интервалы и подгруппы; проверяют журналы поставщиков данных и недавние изменения продукта.
+
# После сигнала определяют затронутые признаки, интервалы, источники и подгруппы; проверяют журналы поставщиков данных и недавние изменения продукта.
-
# Исключают поломку конвейера, изменение единиц измерения, неполную когорту меток и ошибку расчёта метрики.
+
# Исключают изменение схемы, единиц измерения, версии вычисления признаков, неполную когорту меток и ошибку расчёта метрики.
-
# Проверяют, связано ли наблюдаемое изменение с деградацией модели и имеет ли оно практическую величину.
+
# Проверяют, связано ли статистическое изменение с деградацией модели или бизнес-показателя и имеет ли эффект практическую величину.
-
# Кандидатную стратегию адаптации оценивают на последующих временных интервалах без перемешивания будущих наблюдений в прошлое.
+
# Формулируют гипотезу о типе сдвига и проверяют её предпосылки; не назначают стратегию только по названию тревоги.
-
# Новую модель сравнивают со старой по общей метрике, подгруппам, калибровке и эксплуатационным ограничениям; сохраняют возможность отката.
+
# Кандидатную адаптацию оценивают на последующих временных интервалах без перемешивания будущих наблюдений в прошлое.
 +
# Новую модель сравнивают с действующей по общей метрике, подгруппам, калибровке и эксплуатационным ограничениям; сохраняют возможность отката.
-
Если решения модели влияют на то, какие данные будут наблюдаться далее, мониторинг отражает одновременно изменение среды и изменение политики сбора. Например, рекомендательная система получает отклики преимущественно на показанные ею объекты. Такое замыкание обратной связи требует анализа процесса принятия решений, а не только сравнения таблиц.
+
Если решения модели влияют на будущие наблюдения, мониторинг отражает одновременно изменение среды и политики сбора. Например, рекомендательная система получает отклики преимущественно на показанные ею объекты, а кредитная модель видит исходы только по одобренным заявкам. Такой контур обратной связи требует анализа механизма отбора данных, а не только сравнения таблиц.
== Ограничения мониторинга ==
== Ограничения мониторинга ==
Строка 199: Строка 233:
Детектор сдвига не доказывает его причину и не выбирает правильное действие. Мониторинг без разметки способен обнаружить изменения наблюдаемых входов и выходов, но не измеряет непосредственно ошибку и не гарантирует обнаружение изменения <tex>P(Y\mid X)</tex>.
Детектор сдвига не доказывает его причину и не выбирает правильное действие. Мониторинг без разметки способен обнаружить изменения наблюдаемых входов и выходов, но не измеряет непосредственно ошибку и не гарантирует обнаружение изменения <tex>P(Y\mid X)</tex>.
-
Отсутствие тревоги также не является доказательством стабильности: детектор может не видеть совместный сдвиг, редкую подгруппу или новый тип объекта. Напротив, тревога может быть вызвана ожидаемой сезонностью, маркетинговой кампанией либо безвредным изменением малоинформативного признака.
+
Отсутствие тревоги также не доказывает стабильность: детектор может не видеть совместный сдвиг, редкую подгруппу или новый тип объекта. Напротив, тревога может быть вызвана ожидаемой сезонностью, маркетинговой кампанией или безвредным изменением малоинформативного признака.
 +
 
 +
Качество меток само может дрейфовать. Изменение инструкции разметчика, состава экспертов или доступного горизонта наблюдения способно выглядеть как деградация модели. Поэтому происхождение и версия целевой переменной входят в мониторинг наравне с входами.
-
Адаптация создаёт собственные риски. Частое переобучение увеличивает вариативность системы, может усиливать исторические смещения и затрудняет аудит. Поэтому правила обнаружения, диагностики, выпуска и отката должны проектироваться как единый эксплуатационный процесс.
+
Адаптация создаёт собственные риски. Частое переобучение увеличивает вариативность системы, может закреплять ошибки и исторические смещения и затрудняет аудит. Правила обнаружения, диагностики, выпуска и отката следует проектировать как единый эксплуатационный процесс.
== Связь с философией искусственного интеллекта ==
== Связь с философией искусственного интеллекта ==
Строка 207: Строка 243:
Дрейф показывает ограниченность представления модели о мире: закономерность, найденная в исторических данных, действует лишь при определённых условиях сбора и применения. Модель не знает автоматически, сохранились ли эти условия после внедрения.
Дрейф показывает ограниченность представления модели о мире: закономерность, найденная в исторических данных, действует лишь при определённых условиях сбора и применения. Модель не знает автоматически, сохранились ли эти условия после внедрения.
-
Поэтому надёжность системы определяется не только качеством исходного обучения, но и способностью обнаруживать изменение области применимости, получать обратную связь и пересматривать решения. При этом сам сигнал дрейфа не заменяет содержательного объяснения того, что именно изменилось.
+
Поэтому надёжность системы определяется не только качеством исходного обучения, но и способностью обнаруживать изменение области применимости, получать обратную связь и пересматривать решения. При этом статистический сигнал не заменяет содержательного объяснения того, что именно изменилось.
== См. также ==
== См. также ==
Строка 215: Строка 251:
* [[Рекомендательные системы]]
* [[Рекомендательные системы]]
* [[A/B-тестирование]]
* [[A/B-тестирование]]
-
* [[Причинное машинное обучение]]
 
== Литература ==
== Литература ==

Версия 13:16, 19 июля 2026

Статья написана с использованием LLM GPT-5.6 Terra High и проверена участником Oleg Batsiev 18:20, 11 июля 2026 (MSD).

Промпты и описание редакторской проверки приведены в Обсуждение:Дрейф данных.


Содержание

Дрейф данных (англ. data drift) — изменение статистических свойств данных, поступающих в модель после её обучения и внедрения. В прикладной практике этим выражением иногда называют любой распределительный сдвиг (distribution shift). В более узком смысле data drift означает изменение распределения входных признаков P(X), тогда как изменение зависимости целевой переменной от признаков P(Y\mid X) называют дрейфом концепта (concept drift).

Дрейф важен для рекомендательных систем, кредитного скоринга, обнаружения мошенничества, медицинской диагностики и промышленного мониторинга. Модель и её программный код могут оставаться неизменными, но качество способно меняться вместе с пользователями, внешней средой, правилами принятия решений или процессом сбора данных. Вместе с тем обнаруженное различие распределений ещё не доказывает деградацию модели и не является автоматическим основанием для переобучения.

Формальная постановка

Пусть при обучении совместное распределение признаков X и целевой переменной Y имело вид

P_{\mathrm{train}}(X,Y),

а в момент эксплуатации t оно равно

P_t(X,Y).

Распределительный сдвиг имеет место, если

P_t(X,Y)\ne P_{\mathrm{train}}(X,Y).

Совместное распределение допускает два разложения:

P(X,Y)=P(Y\mid X)P(X)=P(X\mid Y)P(Y).

Они позволяют различить идеализированные типы сдвига. В реальной системе несколько множителей могут изменяться одновременно, поэтому наблюдаемое изменение не всегда однозначно относится к одному типу.[1]

Для фиксированной модели f риск в момент t равен

R_t(f)=\mathbb{E}_{(X,Y)\sim P_t}\left[\ell(f(X),Y)\right],

где \ell — функция потерь. Изменение P_t(X,Y) влияет на качество лишь постольку, поскольку меняется средняя потеря модели. Поэтому статистически заметный сдвиг может быть практически безвредным, а небольшое изменение в критической области признакового пространства — существенно ухудшать качество.

Важно не смешивать три разных наблюдаемых сигнала:

  • изменение распределения входов P_t(X);
  • изменение распределения предсказаний P_t(\hat Y);
  • изменение риска или прикладной метрики по истинным ответам.

Ни один из этих сигналов в общем случае не следует автоматически из другого.

Типы распределительного сдвига

Ковариатный сдвиг

Ковариатный сдвиг (covariate shift) — случай, когда распределение признаков изменилось,

P_t(X)\ne P_{\mathrm{train}}(X),

но условное распределение цели при фиксированных признаках осталось прежним:

P_t(Y\mid X)=P_{\mathrm{train}}(Y\mid X).

Например, после запуска продукта в новом регионе может измениться состав пользователей, хотя связь между наблюдаемыми характеристиками и целевым действием внутри каждой области признакового пространства сохраняется.

При этих предпосылках новый риск можно представить через обучающее распределение:

R_t(f)=\mathbb{E}_{P_{\mathrm{train}}}\left[w(X)\ell(f(X),Y)\right],\qquad w(x)=\frac{p_t(x)}{p_{\mathrm{train}}(x)}.

Перевзвешивание требует условия покрытия: области, имеющие ненулевую вероятность при эксплуатации, должны быть представлены при обучении. Если p_{\mathrm{train}}(x) близка к нулю там, где p_t(x) велика, отношение плотностей становится неустойчивым, а недостающую информацию невозможно восстановить одними весами.

Заметный ковариатный сдвиг может почти не влиять на качество, если изменились признаки, которые модель не использует, или если модель одинаково хорошо работает в обеих областях. И наоборот, стабильность одномерных распределений отдельных признаков не исключает изменения их совместной структуры.

Сдвиг априорных вероятностей классов

Сдвиг априорных вероятностей классов (label shift, prior probability shift) определяется условиями

P_t(Y)\ne P_{\mathrm{train}}(Y),
P_t(X\mid Y)=P_{\mathrm{train}}(X\mid Y).

Например, доля мошеннических операций может измениться, тогда как распределения признаков внутри классов «мошенничество» и «обычная операция» остаются прежними.

При label shift обычно изменяются и P(X), и апостериорное распределение P(Y\mid X). Поэтому его нельзя определять через неизменность P(Y\mid X): сохраняется именно P(X\mid Y). При подтверждённых предпосылках можно оценить новые доли классов и скорректировать вероятности либо порог решения. Такая коррекция ненадёжна, если одновременно изменилось P(X\mid Y), модель плохо откалибрована или изменилось содержательное правило присвоения класса.

Дрейф концепта

Дрейф концепта — изменение зависимости целевой переменной от признаков:

P_t(Y\mid X)\ne P_{\mathrm{train}}(Y\mid X).

Например, после изменения кредитной политики одинаковые наблюдаемые характеристики заёмщика могут соответствовать другому риску, а после модернизации оборудования прежние показания датчиков — иной вероятности неисправности. Распределение P(X) при этом может измениться или остаться прежним.

Если P(X) стабильно, такой дрейф принципиально нельзя подтвердить одним сравнением неразмеченных входов. Для его обнаружения нужны целевые метки, проверенные косвенные сигналы или дополнительные предположения. Следовательно, отсутствие feature drift не доказывает сохранение качества.

Смешанные случаи

Идеализированные определения полезны для выбора метода диагностики, но эксплуатационные изменения часто смешаны. Маркетинговая кампания может одновременно изменить состав пользователей P(X), долю положительных исходов P(Y) и связь между признаками и целью P(Y\mid X). В таком случае коррекция только одного множителя не устраняет проблему.

Изменение во времени

В обзорах дрейфа различают несколько временных форм:[1]

  • резкий дрейф (abrupt drift) — один режим быстро сменяется другим;
  • постепенный дрейф (gradual drift) — старый и новый режимы некоторое время встречаются одновременно, а доля нового режима растёт;
  • инкрементальный дрейф (incremental drift) — концепт проходит через последовательность промежуточных состояний;
  • повторяющийся дрейф (recurring drift) — ранее наблюдавшийся режим возвращается, например вследствие сезонности.

Постепенный и инкрементальный дрейф различаются характером перехода: в первом случае смешиваются наблюдения из старого и нового режимов, во втором сам режим последовательно изменяется. Кратковременный выброс, единичная аномалия и циклическое колебание внутри ожидаемого диапазона не обязательно означают новый устойчивый концепт.

Временная форма влияет на адаптацию. После резкого изменения полезно быстро уменьшить влияние старых данных; при повторяющихся режимах полное забывание истории может, напротив, ухудшить модель.

Причины статистического сигнала

Изменение среды

Дрейф может отражать реальное изменение процесса:

  • поведение пользователей, рынка или состава аудитории;
  • появление новых товаров, устройств, категорий и каналов взаимодействия;
  • изменение законодательства, бизнес-правил или внешней среды;
  • старение, калибровку или замену оборудования;
  • влияние решений самой модели на последующие данные.

Неисправность данных

Похожий сигнал возникает из-за технической ошибки:

  • изменилась схема таблицы, единица измерения или кодировка категории;
  • нарушился порядок или версия вычисления признаков;
  • выросла доля пропусков, дубликатов или несогласованных ключей;
  • обучение и эксплуатация используют разные преобразования;
  • метки стали поступать с ошибкой либо по изменившемуся правилу;
  • нарушилось соединение таблиц или временное выравнивание событий.

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

Мониторинг

Схема и качество данных

Сначала контролируют свойства, нарушение которых само является ошибкой: типы и диапазоны значений, обязательные поля, уникальность ключей, долю пропусков, свежесть данных, версии справочников и преобразований. Полезно отдельно проверять момент события и момент загрузки, чтобы задержка поставки не выглядела как изменение поведения пользователей.

Такие проверки не заменяют статистический мониторинг, но помогают отделить неисправность от естественного изменения среды.

Входные признаки

Для числовых признаков сравнивают квантили, гистограммы, средние и доли пропусков; для категориальных — частоты, новые и исчезнувшие значения. Используют двухвыборочные статистические критерии и расстояния между распределениями. Помимо одномерных признаков проверяют совместную структуру или представления, чувствительные к многомерному сдвигу.

Порог тревоги должен учитывать размер выборки и практическую значимость. На большом потоке статистический критерий способен обнаружить очень малое различие, не влияющее на решения. При одновременной проверке множества признаков растёт число ложных сигналов. Эталонный период должен учитывать известные суточные, недельные и сезонные режимы.

Полезно связывать мониторинг с моделью: изменение важного для предсказания признака обычно требует большего внимания, чем столь же заметное изменение неиспользуемого поля. Однако оценки важности сами могут быть нестабильны и не заменяют измерение качества.

Предсказания модели

Без меток можно отслеживать распределение прогнозов

P_t(\hat Y),

доли решений выше порога, неопределённость, калибровочные суррогаты и выход объектов за область, представленную при обучении. Эти показатели дают ранний сигнал, но не измеряют точность. Распределение предсказаний может корректно измениться вслед за долей классов; оно может остаться почти прежним, хотя ошибки перераспределились между объектами.

Качество по поступившим меткам

Когда истинные ответы доступны, отслеживают функцию потерь, метрики классификации или регрессии, калибровку и прикладные показатели. Для последовательности ошибок e_i средняя ошибка на недавнем окне W_t равна

\bar e_t=\frac{1}{|W_t|}\sum_{i\in W_t}e_i.

Средняя метрика может скрывать деградацию в важной подгруппе. Поэтому качество проверяют по заранее определённым регионам, типам устройств, категориям объектов и другим сегментам, одновременно показывая размер и неопределённость оценки для каждой группы.

Задержка разметки

Метка может появляться через дни или месяцы после прогноза. Метрики следует группировать по времени, когда был сделан прогноз, а не только по времени получения метки. Для каждой когорты проверяют зрелость исхода: успела ли пройти длительность, необходимая для наблюдения положительных и отрицательных событий.

Сравнение незрелой свежей когорты со зрелой исторической создаёт систематическое смещение. Поэтому мониторинг должен отдельно показывать ранние неразмеченные сигналы и запаздывающую оценку качества, не выдавая одно за другое.

Методы обнаружения изменений

Фиксированные окна

Простейшая схема сравнивает недавнее окно с эталонным периодом либо два соседних окна. Короткое окно быстрее реагирует, но даёт шумные оценки; длинное устойчивее, но обнаруживает изменение с задержкой. Размер окна и пороги выбирают на временно упорядоченных исторических данных, воспроизводя реальные задержки меток и сезонность.

Один неизменный эталон со временем может устареть. Обновляемый эталон лучше отражает текущий режим, но способен постепенно «принять» нежелательное изменение как норму. Поэтому часто сохраняют одновременно исходную обучающую базу и более свежую эксплуатационную базу.

ADWIN

ADWIN (Adaptive Windowing) предназначен для последовательности ограниченных скалярных наблюдений, например ошибок классификатора или выбранной числовой статистики. Алгоритм поддерживает окно переменной длины и рассматривает его разбиения на более старую и более новую части. Если различие средних превышает порог, зависящий от допустимой вероятности ложной тревоги и объёма данных, старая часть окна отбрасывается.[1]

В стабильный период окно может расти и использовать больше наблюдений; после сигнала изменения оно сокращается. ADWIN обнаруживает изменение среднего поданной скалярной последовательности, а не произвольное изменение любого многомерного распределения. Для таблицы с несколькими признаками необходимо заранее определить отдельные скалярные потоки или статистики и учитывать множественные проверки. Если на вход подаётся ошибка модели, скорость сигнала зависит от задержки меток.

Детектор не устанавливает причину изменения и не выбирает действие. Он лишь сообщает, что выбранная последовательность перестала выглядеть стационарной в рамках его предпосылок и порога.

Адаптация модели

Сигнал мониторинга должен запускать диагностику, а не безусловное переобучение. После подтверждения содержательного изменения применяют одну или несколько стратегий.

Периодическое переобучение

Переобучение по расписанию предсказуемо с точки зрения эксплуатации, вычислительного бюджета и аудита. Однако оно расходует ресурсы в стабильные периоды и может опоздать после резкого изменения. Без проверки свежих данных и сравнения с действующей моделью расписание способно регулярно выпускать модель хуже предыдущей.

Скользящее окно

Обучение только на последних k наблюдениях быстро забывает устаревший режим. Цена этого — меньший эффективный объём выборки и потеря редких либо сезонных случаев. Размер окна задаёт компромисс между скоростью адаптации и дисперсией оценки.

Окно следует определять по времени наступления события, а не случайному числу последних строк, если скорость потока меняется.

Взвешивание по давности

Старые наблюдения можно не удалять, а постепенно уменьшать их вес, например

w_i=\lambda^{t-i},\qquad 0<\lambda<1.

Такое затухание даёт плавную адаптацию, но не гарантирует соответствия реальной скорости дрейфа. Параметр \lambda выбирают на прошлых временных периодах с имитацией фактической доступности данных и меток.

Онлайн-обучение

Онлайн-алгоритм обновляется по мере поступления новых размеченных примеров и может быстро реагировать на изменение. Одновременно возрастают риски обучения на временной аномалии, повреждённых данных или обратной связи от собственных решений. Нужны ограничения на обновление, журналирование версий, контрольные выборки и возможность отката.

Ансамбли

Ансамбль может добавлять модели, обученные на свежих данных, уменьшать вес устаревших моделей и сохранять специалистов для повторяющихся режимов. Это повышает гибкость, но усложняет калибровку, интерпретацию, выбор правила обновления и контроль вычислительной стоимости.

Коррекция без полного переобучения

При подтверждённом чистом label shift иногда достаточно скорректировать вероятности классов и порог решения. При изменении P(Y\mid X) может потребоваться обучение на свежих метках, изменение признаков или пересмотр постановки задачи. Если причина сигнала — неисправность конвейера, правильным действием является исправление и восстановление данных, а не адаптация модели.

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

  1. До внедрения фиксируют версии данных и преобразований, эталонные распределения, целевые метрики, подгруппы и допустимые задержки меток.
  2. В эксплуатации отдельно контролируют контракт данных, входные признаки, предсказания и качество по зрелым меткам.
  3. После сигнала определяют затронутые признаки, интервалы, источники и подгруппы; проверяют журналы поставщиков данных и недавние изменения продукта.
  4. Исключают изменение схемы, единиц измерения, версии вычисления признаков, неполную когорту меток и ошибку расчёта метрики.
  5. Проверяют, связано ли статистическое изменение с деградацией модели или бизнес-показателя и имеет ли эффект практическую величину.
  6. Формулируют гипотезу о типе сдвига и проверяют её предпосылки; не назначают стратегию только по названию тревоги.
  7. Кандидатную адаптацию оценивают на последующих временных интервалах без перемешивания будущих наблюдений в прошлое.
  8. Новую модель сравнивают с действующей по общей метрике, подгруппам, калибровке и эксплуатационным ограничениям; сохраняют возможность отката.

Если решения модели влияют на будущие наблюдения, мониторинг отражает одновременно изменение среды и политики сбора. Например, рекомендательная система получает отклики преимущественно на показанные ею объекты, а кредитная модель видит исходы только по одобренным заявкам. Такой контур обратной связи требует анализа механизма отбора данных, а не только сравнения таблиц.

Ограничения мониторинга

Детектор сдвига не доказывает его причину и не выбирает правильное действие. Мониторинг без разметки способен обнаружить изменения наблюдаемых входов и выходов, но не измеряет непосредственно ошибку и не гарантирует обнаружение изменения P(Y\mid X).

Отсутствие тревоги также не доказывает стабильность: детектор может не видеть совместный сдвиг, редкую подгруппу или новый тип объекта. Напротив, тревога может быть вызвана ожидаемой сезонностью, маркетинговой кампанией или безвредным изменением малоинформативного признака.

Качество меток само может дрейфовать. Изменение инструкции разметчика, состава экспертов или доступного горизонта наблюдения способно выглядеть как деградация модели. Поэтому происхождение и версия целевой переменной входят в мониторинг наравне с входами.

Адаптация создаёт собственные риски. Частое переобучение увеличивает вариативность системы, может закреплять ошибки и исторические смещения и затрудняет аудит. Правила обнаружения, диагностики, выпуска и отката следует проектировать как единый эксплуатационный процесс.

Связь с философией искусственного интеллекта

Дрейф показывает ограниченность представления модели о мире: закономерность, найденная в исторических данных, действует лишь при определённых условиях сбора и применения. Модель не знает автоматически, сохранились ли эти условия после внедрения.

Поэтому надёжность системы определяется не только качеством исходного обучения, но и способностью обнаруживать изменение области применимости, получать обратную связь и пересматривать решения. При этом статистический сигнал не заменяет содержательного объяснения того, что именно изменилось.

См. также

Литература

Личные инструменты