Обнаружение аномалий

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

Версия от 00:14, 19 июля 2026; Egor Goroshko (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM GPT-5.6 Thinking и проверена участником Egor Goroshko 04:14, 19 июля 2026 (MSD)


Обнаружение аномалий (англ. anomaly detection, также outlier detection) — задача анализа данных, состоящая в выявлении объектов, событий или последовательностей, существенно отличающихся от ожидаемого поведения системы или основной массы наблюдений. Такие объекты называют аномалиями, выбросами или отклонениями. Аномалия может указывать на ошибку измерения, неисправность оборудования, мошенничество, компьютерную атаку, редкое природное явление или ранее неизвестный режим работы системы.[1]

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

Содержание

Основные понятия

Пусть набор данных состоит из объектов X={x_1,\ldots,x_n}. Алгоритм обнаружения аномалий обычно строит функцию


s:X\rightarrow\mathbb{R},

где s(x)оценка аномальности объекта. Чем больше значение этой оценки, тем сильнее объект отличается от предполагаемой нормы. Для получения бинарного решения вводят порог \tau:


\hat y(x)=
\begin{cases}
1, & s(x)>\tau,\\
0, & s(x)\leq\tau.
\end{cases}

Значение \hat y(x)=1 означает, что объект признан аномальным.

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

Выброс, новизна и шум

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

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

Мотивация и применения

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

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

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

Типы аномалий

Точечные аномалии

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

Контекстные аномалии

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

Объект можно условно представить в виде пары


x=(x^{(c)},x^{(b)}),

где x^{(c)} обозначает контекстные признаки, а x^{(b)} — признаки поведения. Аномальность в таком случае оценивается с учётом зависимости поведения от контекста.

Коллективные аномалии

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

Коллективные аномалии особенно важны при анализе временных рядов, текстов, графов и пространственно-временных данных.[1]

Глобальные и локальные аномалии

Глобальная аномалия отличается от всего набора данных. Локальная аномалия отличается прежде всего от объектов в своей окрестности. Это различие важно для данных, содержащих кластеры неодинаковой плотности: объект может не быть экстремальным относительно всей выборки, но заметно отличаться от ближайших соседей.

Постановки задачи

Обучение с учителем

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

Обычная доля правильных ответов, или \mathrm{accuracy}, при сильном дисбалансе классов малоинформативна. Модель, почти всегда предсказывающая нормальный класс, может иметь высокую точность по этой метрике, но не обнаруживать практически ни одной аномалии.

Полуконтролируемое обнаружение

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

К этому классу относятся методы оценки носителя распределения, в частности одноклассовый метод опорных векторов.[1]

Обучение без учителя

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

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

Слабый надзор

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

Основные методы

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

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

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

Для одномерных данных, моделируемых нормальным распределением, может использоваться стандартизованное отклонение


z_i=\frac{x_i-\mu}{\sigma}.

Наблюдения с большим значением |z_i| считаются подозрительными. Однако среднее значение и стандартное отклонение чувствительны к выбросам. Более устойчивый подход основан на медиане и медианном абсолютном отклонении:


\operatorname{MAD}=
\operatorname{median}_i
\left|
x_i-\operatorname{median}_j(x_j)
\right|.

Для многомерных данных применяются вероятностные модели, смеси распределений и расстояние Махаланобиса:


d_M(x)=
\sqrt{
(x-\mu)^{\mathsf T}
\Sigma^{-1}
(x-\mu)
}.

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

Методы на основе расстояний

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


s(x)=d\bigl(x,N_k(x)\bigr),

где N_k(x)k-й ближайший сосед объекта x.

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

Методы на основе плотности

Плотностные методы сравнивают локальную плотность в окрестности объекта с плотностью около его соседей. Алгоритм Local Outlier Factor (LOF) присваивает объекту высокий балл, если его локальная плотность заметно ниже плотности соседних объектов.[1]

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

Кластеризационные методы

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

После применения метода k-средних оценкой аномальности может служить расстояние до ближайшего центра:


s(x)=\min_j\|x-\mu_j\|.

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

Одноклассовые методы

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

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

Методы изоляции

Isolation Forest строит ансамбль случайных деревьев, рекурсивно разделяющих пространство признаков. Аномальные объекты обычно изолируются за меньшее число разбиений и поэтому имеют меньшую среднюю глубину в деревьях.[1]

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

Методы реконструкции

Методы реконструкции обучают модель восстанавливать нормальные объекты. Оценкой аномальности служит ошибка реконструкции:


s(x)=\|x-f_\theta(x)\|^2,

где f_\theta — модель реконструкции.

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

Глубокое обучение

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

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

Обнаружение аномалий во временных рядах

Для временного ряда x_1,\ldots,x_T нормальность наблюдения зависит от предыдущих значений, тренда, сезонности, внешних факторов и текущего режима работы системы. Поэтому методы, рассматривающие каждую точку независимо, часто оказываются недостаточными.

Распространённый подход состоит в построении прогноза


\hat x_t=f(x_{t-1},\ldots,x_{t-p})

и вычислении ошибки


s_t=d(x_t,\hat x_t).

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

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

Подготовка данных

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

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

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

Выбор порога

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

Если модель оценивает плотность распределения p(x), область аномальных объектов можно определить как

A_{\tau}=\{x\in X:\ p(x)<\tau\}.

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

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

Оценка качества

Матрица ошибок

При наличии истинных меток используются четыре основных числа: TP — правильно обнаруженные аномалии, FP — нормальные объекты, ошибочно объявленные аномальными, FN — пропущенные аномалии и TN — правильно распознанные нормальные объекты.

Точность обнаружения тревог определяется как


\operatorname{precision}=
\frac{TP}{TP+FP},

а полнота — как


\operatorname{recall}=
\frac{TP}{TP+FN}.

Их гармоническое среднее задаёт меру


F_1=
2\cdot
\frac{
\operatorname{precision}\cdot\operatorname{recall}
}{
\operatorname{precision}+\operatorname{recall}
}.

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

ROC- и PR-кривые

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

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

Оценка ранжирования

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

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

Временные события

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

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

Оценка без меток

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

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

Основные трудности

Редкость и неполнота разметки

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

Изменение нормального поведения

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

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

Высокая размерность

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

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

Загрязнение обучающей выборки

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

Интерпретируемость

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

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

Практические рекомендации

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

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

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

См. также


Литература


Дополнительная литература

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