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

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

Важно установить некоторые границы определения аномалии [3]. Аномалии можно условно разделить на:

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

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

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

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

Самый простой подход к выявлению нерегулярностей в данных состоит в том, чтобы пометить точки данных, которые отклоняются от общих статистических свойств распределения, включая среднее значение, медиану, моду и квантили. Допустим, определение аномальной точки данных — это точка, которая отклоняется на определенное стандартное отклонение от среднего значения. Обход среднего значения данных временного ряда не совсем тривиален, поскольку он не является статическим. Вам понадобится скользящее окно для вычисления среднего значения по точкам данных. Технически это называется скользящей средней или скользящей средней, и она предназначена для сглаживания краткосрочных колебаний и выделения долгосрочных. Математически простая скользящая средняя с периодом n также может быть определена как «фильтр нижних частот».

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

1) Данные содержат шум, который может быть похож на аномальное поведение, потому что граница между нормальным и аномальным поведением часто неточна.

2) Определение ненормального или нормального может часто меняться, поскольку злонамеренные злоумышленники постоянно адаптируются. Следовательно, пороговое значение, основанное на скользящем среднем, может применяться не всегда.

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

Для случаев 1–3 выше нам потребуется применить более сложный подход, основанный на машинном обучении.

Подходы, основанные на машинном обучении, станут предметом следующего блога.

Чтобы ознакомиться с нашими предыдущими блогами и более подробной информацией о DomaniSystems, посетите наш веб-сайт по адресу https://www.domanisystems.com.

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

Ссылки:

[1] Обнаружение аномалий в IoT с помощью анализа временных рядов, 26 июля 2016 г., Zenrichsocial.

[2] https://numenta.com/resources/papers/unsupervised-real-time-anomaly-detection-for-streaming-data/

[3] Введение в обнаружение аномалий, Пранит Чоудхари, 14 февраля 2017 г.