- Оригинальный адрес:Time Series Anomaly Detection Algorithms
- Оригинальный автор:Pavel Tiunov
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:haiyang-tju
- Корректор:nanjingboy
Самая современная технология обнаружения аномалий
существуетStatsbotВ , мы постоянно анализируем развитие методов обнаружения аномалий и повторно улучшаем нашу модель на основе этого.
В этой статье представлен обзор наиболее часто используемых алгоритмов обнаружения аномалий временных рядов, их преимуществ и недостатков.
Эта статья предназначена для неопытных читателей, которые просто хотят понять текущее состояние технологии обнаружения аномалий. Мы не хотим обманывать людей сложными математическими моделями, поэтому размещаем все математические выводы по рекомендуемым ссылкам ниже.
Важные типы исключений
Проблема обнаружения аномалий во временных рядах обычно выражается каквыбросы относительно некоторого стандартного или общего сигнала. Хотя существует много типов аномалий, мы сосредоточимся только на наиболее важных с точки зрения бизнеса типах, таких как неожиданные всплески, провалы, изменения тренда и переходы оценок.
Представьте, что вы отслеживаете количество пользователей на своем веб-сайте и заметили неожиданное увеличение количества пользователей за короткий период времени, которое выглядело как всплеск. Эти типы исключений часто называютДополнительное исключение.
Другой пример веб-сайта — это когда ваш сервер выходит из строя, и вы видите ноль или очень мало посещений пользователей в течение короткого периода времени. Эти типы аномалий обычно классифицируют каканомальное изменение времени.
Пока вы имеете дело с некоторыми проблемами с коэффициентом конверсии, коэффициент конверсии может упасть. Если это происходит, целевая метрика обычно меняет не форму сигнала, а его общее значение за определенный период времени. В зависимости от характера изменений эти типы изменений часто называютГоризонтальное смещение или сезонные аномалии горизонтального смещения.
Как правило, алгоритмы обнаружения аномалий должны маркировать каждый момент времени какисключение/не исключение, или предсказать сигнал в точке и измерить, достаточно ли велика разница между истинным значением точки и предсказанным значением, чтобы считать это аномалией.
Используя последний метод, вы сможете получить визуальный доверительный интервал, который полезен для понимания причины возникновения аномалии и ее проверки.
Отчет об аномалиях Statsbot показывает фактические временные ряды, прогнозируемые временные ряды и доверительные интервалы, чтобы помочь понять, почему возникает аномалия.
Давайте рассмотрим эти два типа алгоритмов с точки зрения приложения и найдем выбросы каждого типа.
STL-разложение
STLПроцесс, представляющий сезонную декомпозицию на основе потерь. Этот метод позволяет разложить сигнал временного ряда на три части:Сезонность, тенденция и остаток.
Сверху вниз: исходный временной ряд и сезонная вариация, вариация тренда и остатки, разложенные с использованием STL.
Как следует из названия, этот метод подходит для сезонных временных рядов, что является более распространенной ситуацией.
Анализируя отклонение остатка, а затем вводя порог остатка, можно получить алгоритм обнаружения аномалий.
Что здесь менее очевидно, так это то, что для получения более надежных результатов обнаружения аномалий мы используемабсолютное среднее отклонение. В настоящее время лучшей реализацией этого метода являетсяБиблиотека обнаружения аномалий для Twitter, который используетGeneralized Extreme Student Deviation(Обобщенный алгоритм ESD) Проверяет, является ли остаточная точка выбросом.
преимущество
Преимуществом этого метода является его простота и надежность. Он может обрабатывать множество различных ситуаций, и все исключения по-прежнему интуитивно интерпретируются.
Это в основном хорошо для дополнительного обнаружения выбросов. Если вы хотите обнаружить некоторые изменения уровня, вы можете проанализировать сигнал скользящего среднего.
недостаток
Недостаток этого метода в том, что он слишком жесткий с точки зрения параметров настройки. Все, что вы можете сделать, это настроить доверительный интервал по уровню значимости.
Этот метод не работает, когда характеристики сигнала резко меняются. Например, отслеживание количества пользователей веб-сайта, который был закрыт для публики, внезапно стал общедоступным. В этом случае следует отдельно отслеживать исключения, возникающие до и после инициации открытия.
дерево регрессии классификации
Деревья классификации и регрессии (CART) — один из самых надежных и эффективных доступных методов машинного обучения. Он также может быть применен к проблемам обнаружения аномалий.
- Во-первых, дерево классификации можно обучить классифицировать аномальные и неаномальные точки данных с помощью обучения с учителем. Здесь требуются помеченные аномальные точки данных.
- Во втором подходе алгоритм обучения без учителя может использоваться для обучения CART прогнозированию следующей точки данных в данных временного ряда, что приводит к тому же доверительному интервалу или ошибке прогнозирования, что и метод декомпозиции STL. Затем используйте обобщенный алгоритм ESD для проверки или использованияАлгоритм теста Граббсачтобы проверить, находятся ли точки данных в пределах доверительного интервала.
Фактические данные временного ряда (зеленый), данные временного ряда, предсказанные моделью CART (синий), аномалии, обнаруженные алгоритмом обнаружения аномалий.
Наиболее популярной реализацией обучения дерева классификации являетсябиблиотека xgboost.
преимущество
Преимущество этого метода заключается в том, что он не ограничен какой-либо структурой сигнала, и многие параметры признаков могут быть введены для обучения для получения более сложных моделей.
недостаток
Недостатком этого метода является то, что будет появляться все больше и больше признаков, что может быстро сказаться на общей вычислительной производительности. В этом случае вы должны сознательно выбирать допустимые функции.
модель АРИМА
Модель авторегрессионного скользящего среднего (ARIMA) — очень простой метод по замыслу, но его эффект достаточно силен, чтобы предсказывать сигнал и находить в нем аномалии.
Идея метода состоит в том, чтобы генерировать прогноз для следующей точки данных из нескольких точек данных в прошлом, добавляя в процессе некоторую случайную переменную (обычно белый шум). И так далее, прогнозируемые точки данных можно использовать для создания новых прогнозов. Очевидно: это сделает последующие данные сигнала предсказания более сглаженными.
Самое сложное в использовании этого методавыберитеКоличество дисперсий, количество авторегрессий и коэффициент ошибки прогноза.
Вы должны создавать новую модель ARIMA каждый раз, когда используете новый сигнал.
Другим препятствием для этого подхода является то, что сигнал должен быть зафиксирован после того, как он был дифференцирован. Тем не менее, это означает, что сигнал не должен зависеть от времени, что является заметным ограничением.
Обнаружение аномалий заключается в использовании выбросов для построения скорректированной модели сигнала, а затем использованииt-статистикачтобы проверить, соответствует ли модель данным лучше, чем исходная модель.
Два временных ряда, построенные с использованием исходной модели ARIMA и модели ARIMA, скорректированной с учетом выбросов.
Наиболее популярна реализация этого метода в R.tsoutliersСумка. В этом случае вы можете найти модель ARIMA, адаптированную к сигналу, которая может обнаруживать все типы аномалий.
Метод экспоненциального сглаживания
Метод экспоненциального сглаживания очень похож на метод ARIMA. Базовая экспоненциальная модель эквивалентна модели ARIMA (0, 1, 1).
С точки зрения обнаружения аномалий наиболее интересным подходом являетсяСезонный метод Холта-Уинтерса. Этот метод требует определения сезонных периодов, таких как недели, месяцы, годы и т. д.
Если необходимо отслеживать несколько сезонных циклов, таких как недельные и годовые циклы, следует выбрать только один. Обычно выбирают самый короткий: поэтому здесь мы должны выбрать недельный сезон.
Это, очевидно, недостаток метода, сильно влияющий на общий горизонт прогноза.
Как и в случае с методом STL или CART, мы можем добиться обнаружения аномалий путем статистического подсчета выбросов.
Нейронные сети
Как и в случае с методом CART,Нейронные сетиСуществует два способа применения: обучение с учителем и обучение без учителя.
Данные, с которыми мы имеем дело, представляют собой временные ряды, поэтому наиболее подходящим типом нейронной сети являетсяLSTM. При правильном построении такие рекуррентные нейронные сети могут моделировать самые сложные зависимости во временных рядах, включая сезонные зависимости высокого уровня.
Этот метод также очень полезен, если имеется несколько связанных друг с другом временных рядов.оно работает.
Эта область все еще находится в стадии изучения,можно обратиться сюда, построение модели временного ряда требует большой работы. После успешного завершения сборки можно добиться отличных результатов с точки зрения точности.
? Помните ?
- Попробуйте самую простую модель и алгоритм, которые лучше всего подходят для вашей задачи.
- Если это не сработает, используйте более продвинутую технику.
- Начать с общего решения, охватывающего все ситуации, — заманчивый вариант, но не всегда лучший.
В Statsbot для крупномасштабного обнаружения аномалий мы начали с STL, а затем использовали разные комбинации моделей CART и LSTM.
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.