Skip to content

dmmmit/anomaly_detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

RedLabHack | Детекция аномалий во временных рядах

Задача и проблематика

Задача: создание модели, позволяющей размечать аномальные данные в выделенном временном промежутке

Проблематика - своевременное выявление аномалий в данных может предотвратить серьезные проблемы и сбои в работе оборудования и ИТ-систем. Аномалии в данных могут служить ранними индикаторами неисправностей или ухудшения работы системы. В современных ИТ-инфраструктурах простои могут приводить к значительным финансовым потерям и снижению производительности.

Решение и архитектура модели

Наше решение заключалось в том, чтобы написать ансамбль из 5 моделей, которые находят аномалии во временных рядах.

Во-первых, каждая модель хорошо находила аномалии, однако во временных рядах встречались места, в которых модели работали по-разному, поэтому наша идея заключалось в том, чтобы создать ансамбль моделей, в котором их предсказания (вероятности наличия аномалии во временном ряде) аггрегировались бы

- Local Outlier Factor (lof) Ref
  • Clustering-Based Local Outlier (cluster)

  • Connectivity-Based Local Outlier (cof)

  • K-Nearest Neighbors (knn)

  • Minimum Covariance Determinant (mcd) Ref

Как скачать и запустить модель

Скачать модели можно тут

⬇️

Download here

Метрики для оценки точности модели

Оценка значения SNR

Значение SNR выше 30 dB указывает на очень хорошую реконструкцию данных, так как мощность сигнала значительно превышает мощность шума. В реальных приложениях такие высокие значения SNR являются признаком того, что модель работает очень хорошо.

Значения SNR интерпретируются следующим образом:

  • 0-10 dB: Очень плохая реконструкция, шум сопоставим с сигналом.
  • 10-20 dB: Удовлетворительная реконструкция, шум заметен, но сигнал доминирует.
  • 20-30 dB: Хорошая реконструкция, шум минимален.
  • 30+ dB: Отличная реконструкция, шум практически отсутствует.

Оценка значения Anomaly Score

Anomaly Score (оценка аномалии) — это численное значение, которое указывает на степень отклонения текущего наблюдения от ожидаемого поведения в наборе данных. Более высокие значения часто указывают на то, что наблюдение является аномальным или необычным, тогда как более низкие значения указывают на то, что наблюдение является нормальным.

Интерпретация Anomaly Score:

  1. Положительные и отрицательные значения:
    • Положительные значения аномальных оценок могут указывать на аномалии, которые превышают нормальные пределы данных.
    • Отрицательные значения могут указывать на аномалии, которые значительно ниже нормальных пределов данных.
  2. Абсолютные значения:
    • Большие абсолютные значения (как положительные, так и отрицательные) обычно указывают на более значительные отклонения от нормальных значений, что является признаком аномалий.
  3. Пороговое значение:
    • Для практического применения часто устанавливается пороговое значение. Например, если абсолютное значение оценки аномалии превышает определенный порог (например, 2 или 3), то наблюдение считается аномальным.

About

An algorithm for detecting anomalies in a time series

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published