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.
python
time-series
anomaly-detection
Pythoninker
quelle
quelle
Antworten:
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:
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
quelle
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
quelle
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
quelle