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

24

В настоящее время я использую AnomalyDetection от Twitter в R: https://github.com/twitter/AnomalyDetection . Этот алгоритм обеспечивает обнаружение аномалий временных рядов для данных с сезонностью.

Вопрос: есть ли другие алгоритмы, подобные этому (контроль сезонности не имеет значения)?

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

Эрик Миллер
источник

Ответы:

16

Алгоритм Twitter основан на

Рознер, Б. (май 1983 г.), «Процентные баллы для обобщенной процедуры многократного выброса ОУР», Technometrics, 25 (2), с. 165-172

Я уверен, что было много методов и достижений с 1983 года! Я проверил свои внутренние данные, и обнаружение аномалий в Твиттере не выявляет явных выбросов. Я бы также использовал другие подходы, чтобы проверить выбросы во временных рядах. Лучшее, с чем я столкнулся, - это процедура обнаружения выбросов Цая, которая реализована в программном обеспечении SAS / SPSS / Autobox и SCA. Все из которых являются коммерческими системами. Есть также пакет tsoutliers , который хорош, но нуждается в спецификации arimaмодели для эффективной работы. У меня были проблемы с его настройками по умолчанию в auto.arimaотношении оптимизации и выбора модели.

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

введите описание изображения здесь

предсказатель
источник
14

Вот варианты обнаружения аномалий в R по состоянию на 2017 год.

Пакет аномального обнаружения Twitter

  • Работает с использованием Seasonal Hybrid ESD (SH-ESD);
  • Основывается на Обобщенном тесте ESD для обнаружения аномалий;
  • Может обнаруживать как локальные, так и глобальные аномалии;
  • Использование декомпозиции временных рядов и надежных статистических метрик (например, медиана вместе с ОУР)
  • Использует кусочную аппроксимацию для длинных временных рядов;
  • Также есть метод, когда отметки времени недоступны;
  • Может указывать направление аномалий, интересующее окно, переключать кусочную аппроксимацию и имеет визуальную поддержку.

Пакет anomalyDetection (отличается от Twitter)

  • различные подходы, в том числе расстояние Махаланобиса, факторный анализ, параллельный анализ Горна, проверка блоков, анализ основных компонентов;
  • Есть метод для работы с результатами.

пакет цутлеров

  • Обнаруживает выбросы во временных рядах в соответствии с процедурой Чена и Лю ( https://www.jstor.org/stable/2290724?seq=1#page_scan_tab_contents );
  • Выбросы получают на основе «менее загрязненных» оценок параметров модели, оценки выбросов с использованием множественной линейной регрессии и совместной оценки параметров и эффектов модели.
  • Рассматривает инновационные выбросы, аддитивные выбросы, сдвиги уровней, временные изменения и сезонные сдвиги уровней.

Аномальное-ACM

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

радуга пакет

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

пакет kmodR

  • Использует реализацию k-средних, предложенную Чавлой и Гионисом в 2013 году ( http://epubs.siam.org/doi/pdf/10.1137/1.9781611972832.21 );
  • Полезно для создания (потенциально) более узких кластеров, чем стандартные k-средства, и одновременно для недорогого поиска выбросов в многомерном пространстве.

метод мойки

Представление задачи CRAN для надежных статистических методов

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

РЕДАКТИРОВАТЬ 2018

аномализация: обнаружение аномалий приборки

кибернетический
источник
Любые предложения, которые я могу использовать для данных временных рядов, но без сезонности? Могу ли я использовать пакет Twitter в этом случае?
MikeHuber
Пакет Twitter обрабатывает как локальные, так и глобальные аномалии. Как говорится в их документах, «глобальные аномалии обычно превышают или не превышают ожидаемую сезонность и поэтому не подвержены сезонности и основной тенденции». Так что да, вы можете использовать пакет Twitter, чтобы потенциально обнаружить аномалии во временных рядах без сезонности. blog.twitter.com/engineering/en_us/a/2015/…
Cybernetic
8

Я сталкивался с несколькими источниками, которые могут вам помочь, но они не будут такими же простыми и удобными, как запуск сценария R для ваших данных: - Numenta имеет открытую версию своей платформы NuPIC, которая используется для многих вещей, включая обнаружение аномалий , - Проект Атласа от Netflix скоро выпустит инструмент для обнаружения выбросов / аномалий с открытым исходным кодом. - Prelert имеет механизм обнаружения аномалий, который поставляется как серверное приложение. Их пробная версия предлагает ограниченное использование, которое может удовлетворить ваши потребности.

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

Эндрю Томпсон
источник
3

Autobox (моя компания) обеспечивает обнаружение выбросов. Алгоритм Twitter получает большие выбросы, но пропускает меньшие по сравнению с Autobox .

Запуск занимает много времени, но результаты лучше находят меньшие выбросы, а также изменения в сезонности, которые также являются выбросами. Ниже приведена модель, позволяющая найти 79 выбросов с использованием первых 8 560 наблюдений из 14 398 исходных наблюдений. В стандартном варианте максимум составляет 10 000 наблюдений, но его можно изменить для большего, но нет никакой реальной причины иметь столько данных, если вы хотите идентифицировать и реагировать на выбросы.

На нас повлияла работа, проделанная Цаем по выбросам, изменениям уровня и изменению дисперсии, и работа Чоу по изменению параметров, а также наша собственная работа по выявлению изменений в сезонности,

Если вы загрузите 30-дневную пробную версию и загрузите данные примера Twitter, укажите частоту 60 и сохраните 3 файла триггера в папке установки (noparcon.afs, novarcon.afs, notrend.afs) и создадите файл с именем stepupde. с 100.

введите описание изображения здесь

введите описание изображения здесь

Том Рейли
источник