Auf der Suche nach einem guten Paket zur Erkennung von Anomalien in Zeitreihen


15

Gibt es ein umfassendes Open Source-Paket (vorzugsweise in Python oder R), das zur Erkennung von Anomalien in Zeitreihen verwendet werden kann?

In scikit-learn gibt es ein SVM-Paket für eine Klasse, das jedoch nicht für Zeitreihendaten bestimmt ist. Ich suche nach komplexeren Paketen, die beispielsweise Bayes'sche Netzwerke zur Erkennung von Anomalien verwenden.


wir müssen eins schreiben, Bruder !! : P
Arpit Sisodia

Antworten:


18

Ich weiß, dass ich hier etwas spät dran bin, aber ja, es gibt ein Paket zur Erkennung von Anomalien zusammen mit Ausreißer-Kombinations-Frameworks.

Es befindet sich noch in einem frühen Entwicklungsstadium für Github und wird in Kürze in JMLR veröffentlicht.

Das Paket ist in Python-Sprache und der Name des Pakets ist pyod ( https://github.com/yzhao062/Pyod ).

Es verfügt über mehrere Algorithmen für folgende individuelle Ansätze:

  1. Lineare Modelle zur Ausreißererkennung ( PCA, vMCD, vOne-Class und SVM )
  2. Näherungsbasierte Ausreißererkennungsmodelle ( LOF, CBLOF, HBOS, KNN, AverageKNN und MedianKNN )
  3. Probabilistische Modelle zur Ausreißererkennung ( ABOD und FastABOD )
  4. Ausreißer-Ensembles und Kombinations-Frameworks ( IsolationForest und FeatureBagging )
  5. Neuronale Netze und Deep-Learning-Modelle ( Auto-Encoder mit vollständig verbundenem neuronalen Netz )

Wenn Sie speziell nach Zeitreihen an sich suchen, ist dieser Github-Link hilfreich.

Es enthält die folgenden Listenpakete für die Erkennung von Zeitreihen-Ausreißern:

datastream.io

Horizont

Banpei

AnomalyDetection


Wie kann man an kontextbasierten Anomalien arbeiten?
Arpit Sisodia

Sprechen Sie über die Erkennung von Anomalien oder Ausreißern? Da ist ein Unterschied.
Arpit Sisodia

6

Es gibt mehrere Möglichkeiten, mit Zeitreihenanomalien umzugehen.

1) Wenn Anomalien bekannt sind , erstellen Sie ein Klassifizierungsmodell. Verwenden Sie dieses Modell, um dieselbe Art von Anomalien für Zeitreihendaten zu erkennen.

2) Wenn Anomalien unbekannt sind , haben wir in unserer Organisation eine Kombination aus Clustering und Klassifizierung durchgeführt.

Verwenden Sie zuerst LOF / K-means / Cooks Abstand, um Ausreißer zu identifizieren. Konvertieren Sie ganze Daten in Klassifizierungsprobleme, da wir jetzt 2 Klassen haben - Ausreißer und Normalen. Erstellen Sie nun ein Klassifizierungsmodell und rufen Sie Regeln ab (Klassifizierungsmodell), um Anomalien zur Laufzeit zu identifizieren (Zeitreihendaten).

3) Wenn Anomalien unbekannt sind, besteht die häufigste Methode zur Identifizierung von Anomalien darin, ein normales Modell zu erstellen, und jede Abweichung vom normalen Modell (Fehler) ist abnormal. In Ihrem Fall prognostizieren Sie also Ihre Zeitreihen für die nächste Stunde und vergleichen sie dann mit tatsächlichen Werten. Wenn der Fehler größer als erwartet ist, passiert etwas Anormales.

Ich konnte kein direktes Paket in Python oder R finden, da niemand wusste, was wirklich abnormal ist: P, in allen Fällen wurde es mit der Erkennung von Ausreißern in Verbindung gebracht.

einige nützliche Links-

https://machinelearningstories.blogspot.com/2018/12/easiest-way-of-detection-abnormality.html

https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html


2

Versuchen Sie es mit der Prophet Library

Prophet ist ein Verfahren zur Vorhersage von Zeitreihendaten auf der Grundlage eines additiven Modells, bei dem nichtlineare Trends mit der jährlichen, wöchentlichen und täglichen Saisonalität sowie Feiertagseffekten übereinstimmen. Es funktioniert am besten mit Zeitreihen mit starken saisonalen Effekten und mehreren Jahreszeiten historischer Daten. Prophet ist robust gegenüber fehlenden Daten und Trendverschiebungen und geht normalerweise gut mit Ausreißern um.

Mehr unter: Anomalieerkennung in Zeitreihen mit Prophetenbibliothek

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.