Дрейф данных

14 августа 2023
0 комментариев

Дрейф данных — понятие из машинного обучения, которое связано с изменением статистических распределений, зависимостей и закономерностей в данных, обрабатываемых ML-моделью, в процессе ее промышленной эксплуатации. Результатом дрейфа данных являются ухудшение качества бизнес-решений, принимаемых на основе результатов анализа, и связанные с этим потери бизнеса.

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

Модели, основанные на машинном обучении (далее ML-модели), обучаются на примерах, представляющих собой ретроспективные наблюдения за ходом бизнес-процессов компании, по которым требуется принимать решения. Эти наблюдения могут иметь как исторический характер, что позволяет делать прогнозы (например, ежедневные продажи), так и представлять собой просто множество объектов или событий, для которых время появления несущественно с точки зрения решения задачи (например, множество заемщиков банка или абонентов телекоммуникационной компании).

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

  1. Все обучающие данные собраны до момента завершения обучения ML-модели и ее передачи в эксплуатацию (продакшн-режим).
  2. Обучающие данные должны отражать зависимости и закономерности, связывающие известные признаки, которые описывают объект или событие, с признаками, значения которых должны предсказываться моделью.
  3. На этапе промышленной эксплуатации модель производит предсказания для новых наблюдений, появившихся в ходе бизнес-процессов уже после завершения обучения модели и начала ее практического использования.

Таким образом, существует некоторый момент времени (назовем его моментом отсечки), отделяющий этап обучения модели от начала ее развертывания и промышленной эксплуатации. До этого момента статистические характеристики и зависимости между признаками изучены и известны, после него — нет.

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

  1. Переобучение — слишком точная подстройка модели к обучающим данным, следствием которой становится низкая обобщающая способность.
  2. Утечка данных — невозможность использования некоторых признаков, применяемых в процессе обучения, на практике, а также непреднамеренное включение в обучающее множество целевых признаков.
  3. Дрейф данных — явление, о котором и пойдет речь в данной статье.

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

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

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

Дрейф данных

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

Дрейф данных

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

При этом возможны два варианта:

  1. Изменяются распределения значений входных признаков (среднее, дисперсия и т.д.). Данное явление и называется дрейфом данных или ковариантным дрейфом.
  2. Изменяются зависимости и закономерности, связывающие входные признаки и признаки, значения которых модель должна предсказывать. В этом случае говорят, что имеет место дрейф концепции. При этом распределение самих данных может оставаться неизменным.

Оба типа дрейфа поясняются графически с помощью рисунка для бинарной классификации с линейным дискриминатором.

Типы дрейфа

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

В случае дрейфа концепции, напротив, происходит смещение дискриминирующей прямой классификатора при неизменном положении объектов. Но это тоже приводит к ухудшению точности классификации.

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

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

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

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

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

Ковариантный дрейф

Как известно, обучающие данные содержат примеры, в которых каждому вектору входных признаков X=(x_{1},x_{2},...,x_{n}) соответствует выходной вектор Y=(y_{1},y_{2},...,y_{n}).

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

P(X,Y)=P(Y|X)P(X), (1)

где P(Y|X) — условная вероятность предсказания Y при поступлении на вход модели X. Именно изменение со временем P(X) и называется дрейфом данных. Если обозначить момент времени, с которого начинается промышленная эксплуатация модели, как t, а за \tau принять время, прошедшее с момента t до момента аудита модели с целью обнаружения ковариантного дрейфа, то при его наличии окажется, что:

P_{t}(X)\neq P_{t+\tau }(X) и P_{t}(Y|X) = P_{t+\tau }(Y|X) .

Это означает, что дрейф данных не приводит к дрейфу отражаемых ими зависимостей. Иногда такой тип дрейфа называют простым.

Практически это означает, что в результате дрейфа известные значения Y будут оцениваться для X, отличные от тех, что были в обучающих данных. Иными словами, значения зависимой переменной, наблюдавшиеся в обучающем наборе данных для одних значений, на рабочих данных будут наблюдаться для других. Например, если в обучающих данных среднее число посещений сайта равное 100 наблюдалось для клиентов в возрасте 30 лет, то в рабочих данных окажется, что для возраста 35 лет.

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

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

Дрейф концепции

Дрейф концепции (иногда называемый дрейфом модели) связан не с изменением распределений данных, а с изменением характера зависимостей между зависимыми и независимыми переменными. Фактически это означает, что в выражении (1) изменению подвергнется условная вероятность P(Y|X) . По аналогии с ковариантным дрейфом можно записать, что:

P_{t}(Y|X)\neq P_{t+\tau }(Y|X) и P_{t}(X) = P_{t+\tau}(X|Y) ,

т.е. дрейф концепции не сопровождается дрейфом признаков.

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

Двойной дрейф

Если дрейф признаков не сопровождается дрейфом концепции и наоборот, то такой вид дрейфа называется простым. Если данное условие нарушается, т.е.

P_{t}(X)\neq P_{t+\tau }(X) и P_{t}(Y|X)\neq P_{t+\tau }(Y|X),

то имеет место одновременно дрейф признаков и дрейф концепции, т.е. двойной дрейф.

Другие характеристики дрейфа данных

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

По скорости дрейфа — медленный и быстрый. Медленный дрейф разделяют на плавный (incremental) и постепенный (gradual). Как правило медленный дрейф обусловлен естественными, медленно меняющимися факторами бизнес-окружения, такими как рост или снижение экономики (а, соответственно, и уровня доходов людей), миграцией населения, изменением его возрастного состава и т.д.

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

Плавный дрейф

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

Постепенный дрейф

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

Быстрый или внезапный (sudden) дрейф обусловлен факторами случайного, возможно локального во времени и пространстве характера, такими как стихийные бедствия, военные действия, эпидемии, экономические и финансовые кризисы. Быстрый дрейф в силу случайного характера сложно предсказать и учесть, но проще обнаружить, потому что результаты работы модели явно становятся неадекватными. Как видно на рисунке, при внезапном дрейфе происходит очень быстрый переход от одной концепции к другой.

Внезапный дрейф

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

По направленности — однонаправленным (монотонным) и разнонаправленным. При однонаправленном дрейфе параметры распределения данных смещаются в одном направлении, соответственно отклонение результатов работы модели также изменяются в одну сторону.

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

Регулярный дрейф

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

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

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

Обнаружение дрейфа данных

Прежде всего отметим, что в технологиях обнаружения дрейфа данных выделяют два основных подхода:

  • обнаружение дрейфа в потоковых данных (он-лайн режим), когда на вход системы детектирования подаются наблюдения по отдельности или небольшими блоками, что позволяет обнаруживать дрейф практически в момент его возникновения. Но для этого система должна хранить накопленную статистику ранее поступивших данных и обновлять ее при поступлении новых наблюдений, каждый раз принимая решение о наличии или отсутствии дрейфа;
  • обнаружения дрейфа в накопленных данных (офф-лайн режим), когда на вход системы детектирования подаются наборы наблюдений, накопленные за некоторый временной интервал. Затем вычисляются статистические характеристики и проводятся тесты для определения степени различия распределения данных в предыдущем и текущем наборах. Если такое различие значимо, то делается вывод о наличии дрейфа. Преимущество подхода в том, что не нужно хранить историю статистических характеристик за разные временные срезы и вычислять их в режиме он-лайн для каждого нового наблюдения. Недостатком подхода является то, что интервал накопления должен быть таким, чтобы количество поступивших за него наблюдений было достаточным для оценки статистических характеристик. Поэтому если поток данных не интенсивный (наблюдения накапливаются сравнительно медленно), сигнал о появлении дрейфа может быть получен с опозданием.
    • Кроме этого для обнаружения дрейфа данных в машинном обучении выделяют две методологии:

      • детектирование — обнаружение дрейфа на основе определения значимости различия статистических распределений между обучающими и рабочими данными (поточными или накопленными);
      • аудит моделей — обнаружение дрейфа на основе анализа предсказательной эффективности ML-модели.
        • Компоненты, интегрируемые в аналитические конвейеры, так и называются — детекторы и аудиторы.

          Основная задача детекторов дрейфа — контролировать, насколько сильно распределение рабочих данных отклонилось от распределения обучающих. Или насколько ранее пришедший блок данных отличается от текущего (в случае, если принято решение, что ранее пришедший блок не вызвал дрейф). И как только величина данного отклонения превышает некоторое критическое значение, должно быть принято решение об исправлении ситуации. В отличие от детекторов дрейфа, аудиторы исследуют не данные, а работу ML-моделей на этих данных, т.е. величину или частоту ошибок.

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

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

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

          Затем производится статистический тест (например, тест Колмогорова-Смирнова, t-тест Стьюдента и т.д.), и если альтернативную гипотезу удастся отвергнуть, то можно считать, что дрейф отсутствует. Если отвергается нулевая гипотеза, то дрейф имеет место.

          Кроме этого используются различные меры расстояний между статистическими распределениями (дивергенции, расхождения). Например, индекс стабильности популяции (PSI), дивергенция Кульбака-Лейблера, дивергенция Дженсона-Шеннона, расстояние Хеллингера и другие.

          Еще одним статистическим подходом к обнаружению дрейфа является использование рисков R. Пусть обучение модели производится на выборке S(x_{i},y_{i}), где x_{i}\in X, y_{i}\in Y. Тогда в результате обучения модель должна воспроизводить предсказывающую функцию f:X\rightarrow Y, которая ставит y\in Y в соответствие x\in X.

          Ранее в (1) мы ввели функцию совместного распределения P(X,Y). Тогда обучающая выборка состоит из случайных наблюдений, независимо от извлеченных из P(X,Y). При этом Y является не величиной, функционально зависящей от X, а случайной величиной с распределением P(Y|X) из (1).

          Пусть также задана функция потерь L(y,\widehat{y}), которая показывает, насколько отличается предсказание модели с предсказывающей функцией f от истинного выхода y.

          Тогда риск, связанный с предсказанием f(x), определяется как математическое ожидание функции потерь R(f)=M[L(f(x),y)]. Тогда задача обучения заключается в поиске функции f^{\ast }, которая минимизирует риск.

          В общем случае в процессе обучения истинное распределение P(X,Y) неизвестно, поскольку оно производится на ограниченной выборке, а не генеральной совокупности. Соответственно, и риск R(f) не может быть вычислен, но может быть вычислено некоторое его приближение на обучающей выборке, называемое эмпирическим риском.

          Эмпирический риск определяется как усреднение функции потерь по всем примерам обучающей выборки:

          R_{emp}(f)=\frac{1}{n}\sum\limits_{i=1}^{n}L(f(x_{i}),y_{i}),

          где n — число обучающих примеров. Тогда алгоритм обучения должен выбрать такую оценку предсказывающей функции \widehat{f}, которая минимизирует эмпирический риск, т.е.

          \widehat{f}=arg \; \underset{f}{min}R_{emp}(f).

          Теперь возникает вопрос: а будет ли предсказывающая функция \widehat{f} помимо риска обучения, которым по сути является эмпирический риск, минимизировать и риск обобщения

          R(f)=\frac{1}{n}\sum\limits_{i=1}^{n}L(f(X),Y),

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

          Решение задачи обнаружения дрейфа

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

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

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

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

          Обобщенный сценарий обнаружения дрейфа представлен на рисунке.

          Сценарий обнаружения дрейфа

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

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

          Рассмотренный сценарий относится к группе методов обнаружения дрейфа, основанных на анализе распределений (рассмотрен выше). Кроме него в литературе можно найти описание и других подходов. Кратко рассмотрим некоторые из них.

          Методы, основанные на анализе предсказательной эффективности. Являются наиболее широкой группой методов и связаны с исследованием поведения выходной ошибки модели. Если со временем частота ошибок модели возрастает (т.е. падает ее предсказательная эффективность), то можно предположить наличие дрейфа. Поясним сказанное с помощью рисунка.

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

          На этапе обучения предсказательная эффективность модели возрастает (частота ошибок, соответственно, снижается). Однако как только обученная модель передается в эксплуатацию, из-за дрейфа данных ее предсказательная эффективность начинает падать. Точка на графике производительности, в которой она начинает падать, называется точкой деградации (degradation point).

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

          К числу наиболее популярных методов данной группы является DDM — detector drift method, который анализирует частоту ошибок модели, рассматривая ошибку, как случайную величину с биноминальным распределением. Он отслеживает вероятность ошибки p_{t} в момент времени t и стандартное отклонение s_{t} как:

          s_{t}=\sqrt{p_{t}(1-p_{t})/i},

          где i — число предсказаний модели, на которых производится расчет.

          В момент времени t значения p_{min} и s_{min} заменяются на соответствующие значения p_{t} и s_{t} при условии, что p_{t}+s_{t} < p_{min} + s_{min}. Метод определяет состояние предупреждения, которое срабатывает, когда p_{t}+s_{t} \geqslant p_{min} + 2\cdot s_{min} и дрейф считается обнаруженным когда p_{t}+s_{t} \geqslant p_{min} + 3\cdot s_{min}.

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

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

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

          Одним из наиболее популярных оконных методов обнаружения дрейфа данных является ADWIN (от ADaptive WINdowing). Метод определяет разницу между средними значениями \mu _{hist} и \mu _{new} достаточно больших подокон W_{hist} и W_{new} окна W_{new}, содержащих, соответственно, исторические и новые данные:

          \left | \mu _{hist}-\mu _{new} \right |> 2\cdot \lambda _{cut},

          где \lambda _{cut} — порог отсечки разности средних, при превышении которого распределения данных в окнах считаются значимо различающимися, и делается вывод о наличии дрейфа.

          Оконный метод обнаружения дрейфа

          Оптимальный порог отсечки вычисляется следующим образом:

          \lambda _{cut}=\sqrt{\frac{1}{2m}ln\frac{4\left | W \right |}{\alpha }},

          где m — гармоническое среднее, вычисленное по обоим окнам, \left | W \right | — суммарная мощность (кол-во наблюдений) в обоих окнах, \alpha — предварительно задаваемый параметр достоверности, который позволяет дополнительно регулировать уровень отсечки.

          Окно W_{L}=W_{hist}+W_{new} «скользит» по потоку данных, осуществляя контроль за возникновением дрейфа.

          В литературе можно найти множество адаптаций метода ADWIN. Например, когда окно W разделяется на два подокна: левое W_{L} и правое W_{R}. Для каждого наблюдения, попавшего в эти подокна, устанавливается 1, если оно классифицировано правильно, и 0 в противном случае. Затем вычисляются среднее по каждому подокну и порог отсечки для их разности.

          В настоящее время разработано множество подходов и методов для обнаружения дрейфа данных. Одни из них являются более общими, другие получены при решении конкретных аналитических задач. В любом случае, выбор метода определяется множеством факторов: типом ML-модели (нейронная сеть, дерево решений и т.д.), видом решаемой задачи (классификация, кластеризация, регрессия), доступностью истинных значений предсказаний модели, требованиями к оперативности обнаружения дрейфа и его критичности с точки зрения бизнеса, нежелательности ложной тревоги, ожидаемого вида дрейфа и др.

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

          Дополнительные материалы:

          Курс Loginom Skills «Стандартизация и очистка НСИ»

          Утечка данных в машинном обучении

Орешков Вячеслав
Рязанский государственный радиотехнический университет, Доцент кафедры САПР ВС
#loginom#машинное обучение

Смотрите также