Вопрос или проблема
После нескольких дней исследований, я смог получить общее представление о существующих методах выявления аномалий во временных рядах, а именно:
-
Прогнозирование с использованием глубокого обучения. Например, RADM или модель LSTM
-
Прогнозирование без глубокого обучения. Например, Сезонная ARIMA + Фильтры Калмана
-
Устранение шума на фиксированной длине с помощью автокодировщиков (подход глубокого обучения). Например, MAD-GAN, автокодировщики CNN/LSTM, вариационные автокодировщики и т.д.
-
Устранение шума без глубокого обучения. Например, применение фильтров, таких как Калмана или Ходрика-Прескотта, и проверка, если отклонение предсказанного значения от оригинального временного ряда находится ниже порога.
Возможно, существуют и другие методы, которые не поддаются классификации на этом скриншоте.
Мой вопрос заключается в том, в зависимости от типов наборов данных, которые могут возникнуть, какой подход лучше всего соответствует потребностям разработки системы аномалий временных рядов, которая:
- Выявляет аномалии в униварьентном формате, но позволяет многомерную последующую интеграцию.
- Подходит для онлайн-потоковой передачи данных и адаптации/обучения в реальном времени.
- Способна изучать распределения данных, содержащие более одной сезонности.
- [Дополнительно] Может позволять полусупервизированное улучшение на любом этапе.
Примечание: имейте в виду временные ряды, которые могут иметь разные тренды; никаких, один или несколько сезонностей; качественные/шаговые/непрерывные временные ряды; с большим или меньшим количеством пропущенных данных и т.д.
Я бы порекомендовал здесь FB Prophet в качестве одного из алгоритмов для прогнозирования временных рядов. Он помогает включать как линейные, так и нелинейные тренды в данные временных рядов, сезонность, эффекты праздников, а также дополнительные предсказательные характеристики в качестве дополнительных регрессоров.
Ответ или решение
Для выбора наиболее подходящего подхода к обнаружению аномалий в временных рядах необходимо учитывать специфические характеристики данных и требования к системе. Рассмотрим различные подходы с учетом ваших критериев:
1. Методы, основанные на глубоком обучении для прогнозирования
- Примеры: LSTM, RADM.
- Преимущества: Эти модели могут эффективно обрабатывать сложные зависимости во временных рядах и хорошо работают при наличии нескольких сезонностей и трендов. LSTM подходит для работы с долгосрочными зависимостями в данных и может адаптироваться к новым данным в режиме онлайн.
- Недостатки: Необходимость в большом объеме данных для обучения, а также высокая вычислительная сложность. Также, настройка может оказаться сложной.
2. Методы, не использующие глубокое обучение для прогнозирования
- Примеры: Seasonal ARIMA и Калмановский фильтр.
- Преимущества: Эти методы хорошие для временных рядов с сезонными компонентами и имеют более простую интерпретацию. Они могут быть эффективны в условиях ограниченных данных и позволяют во многом избегать переобучения.
- Недостатки: Ограничения с обработкой мульти-сезонности и сложных взаимосвязей. Кроме того, для реализации алгоритмов может потребоваться время на предварительную настройку.
3. Денойзинг фиксированных окон с автоэнкодерами
- Примеры: MAD-GAN, CNN/LSTM автоэнкодеры, вариационные автоэнкодеры.
- Преимущества: Эти методы проявляют высокую эффективность в обнаружении аномалий, так как могут обрабатывать большие объемы данных и выявлять сложные паттерны. Также, они хороши для онлайн-обработки и могут поддерживать адаптацию с течением времени.
- Недостатки: Аналогично глубокому обучению, требуется много данных для обучения и значительно больше вычислительных ресурсов, чем у традиционных методов.
4. Денойзинг без глубокого обучения
- Примеры: Применение фильтров, таких как Калмановский фильтр или фильтр Ходрика–Прескотта.
- Преимущества: Подходы на основе фильтрации менее ресурсоемкие и могут быть проще в внедрении и интерпретации. Они также могут быть быстро адаптированы в онлайн-режиме.
- Недостатки: Ограничения в плане гибкости и способности к обучению сложным паттернам.
Рекомендации:
С учетом ваших требований, таких как необходимость в обнаружении аномалий в униварии (с возможностью последующего мультивариантного анализа), подходящие для работы с данными в реальном времени, способные учитывать сложные многосезонные распределения и допускающие полуобучение в любой момент времени, можно рассмотреть следующее:
-
FB Prophet: Является мощным инструментом для временных рядов, который способен учитывать как линейные, так и нелинейные тренды, сезонность и дополнительные регрессоры. Это делает его подходящим для работы с многими аспектами временных рядов, особенно когда присутствует несколько сезонных эффектов.
-
Модели на основе LSTM: Подходят для сложных временных зависимостей и могут эффективно обрабатывать многосезонные данные, а их онлайн-адаптация позволяет непрерывно обновлять модель по мере поступления новых данных. Их можно использовать в сочетании с автоэнкодерами для денойзинга и выявления аномалий.
В целом, выбор подхода должен основываться на данных и их характеристиках, а также на необходимых вычислительных ресурсах и требованиях к времени обработки.