Существует ли комплексный пакет с открытым исходным кодом (предпочтительно на python или R), который можно использовать для обнаружения аномалий во временных рядах?
В scikit-learn есть один класс SVM-пакета, но он не предназначен для данных временных рядов. Я ищу более сложные пакеты, которые, например, используют байесовские сети для обнаружения аномалий.
python
time-series
anomaly-detection
pythinker
источник
источник
Ответы:
Я знаю, что я немного опоздал, но да, есть пакет для обнаружения аномалий вместе с другими комбинациями.
Он все еще находится на ранней стадии разработки на github и скоро будет опубликован в JMLR.
Пакет написан на языке Python, а имя пакета - pyod ( https://github.com/yzhao062/Pyod ).
Он имеет несколько алгоритмов для следующих индивидуальных подходов:
Наконец, если вы ищите временные ряды как таковые, эта ссылка на github будет полезна.
Имеется следующий список пакетов для обнаружения выбросов временных рядов:
datastream.io
линия горизонта
banpei
AnomalyDetection
источник
Есть несколько способов справиться с нарушениями временных рядов
1) Если отклонения известны , создайте модель классификации. Используйте эту модель для обнаружения аномалий того же типа для данных временных рядов.
2) Если аномалии неизвестны, то , что мы сделали в нашей организации - это комбинация кластеризации и классификации -
Сначала используйте расстояние LOF / K-means / Cook для определения выбросов. Конвертируйте все данные в задачу классификации, так как у нас есть 2 класса: выбросы и нормалы. Теперь создайте модель классификации и получите правила (модель классификации) для выявления отклонений во время выполнения (данные временных рядов).
3) Если отклонения неизвестны , во время моего исследования наиболее распространенным способом выявления отклонений является построение нормальной модели, и любое отклонение от нормальной модели (ошибка) является отклонением от нормы, поэтому в случае, если вы прогнозируете свой временной ряд на следующий час, а затем сравниваете с фактическими значениями. Если ошибка больше ожидаемой, происходит что-то ненормальное.
Я не смог найти ни одного прямого пакета в python или R для этого, поскольку никто не знал, что действительно ненормально: P, во всех случаях это было связано с обнаружением выбросов.
некоторые полезные ссылки
https://machinelearningstories.blogspot.com/2018/12/easiest-way-of-detection-abnormality.html
https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html
источник
Попробуйте Пророк Библиотека
Пророк - это процедура прогнозирования данных временных рядов, основанная на аддитивной модели, в которой нелинейные тренды соответствуют годовой, еженедельной и ежедневной сезонности, а также влиянию праздников. Это лучше всего работает с временными рядами, которые имеют сильные сезонные эффекты и несколько сезонов исторических данных. Пророк устойчив к отсутствующим данным и изменениям тренда и обычно хорошо справляется с выбросами.
Больше на: Обнаружение аномалий во временных рядах с библиотекой Пророка
источник