Vous cherchez un bon package pour la détection d'anomalies dans les séries chronologiques


17

Existe-t-il un package open source complet (de préférence en python ou R) qui peut être utilisé pour la détection d'anomalies dans les séries temporelles?

Il existe un package SVM d'une classe dans scikit-learn, mais ce n'est pas pour les données de séries chronologiques. Je recherche des packages plus sophistiqués qui, par exemple, utilisent des réseaux bayésiens pour la détection d'anomalies.


nous devons en écrire un, mon frère !! : P
Arpit Sisodia

Réponses:


19

Je sais que je suis un peu en retard ici, mais oui, il existe un package pour la détection des anomalies ainsi que des cadres de combinaison aberrants.

Il est encore à ses premiers stades de développement sur github et sera bientôt publié dans JMLR.

Le package est en langage python et le nom du package est pyod ( https://github.com/yzhao062/Pyod ).

Il dispose de plusieurs algorithmes pour suivre les approches individuelles:

  1. Modèles linéaires pour la détection des valeurs aberrantes ( PCA, vMCD, vOne-Class et SVM )
  2. Modèles de détection des valeurs aberrantes basés sur la proximité ( LOF, CBLOF, HBOS, KNN, AverageKNN et MedianKNN )
  3. Modèles probabilistes pour la détection des valeurs aberrantes ( ABOD et FastABOD )
  4. Ensembles aberrants et cadres de combinaison ( IsolationForest et FeatureBagging )
  5. Réseaux de neurones et modèles d'apprentissage en profondeur ( encodeur automatique avec réseau de neurones entièrement connecté )

Enfin, si vous recherchez spécifiquement des séries chronologiques en soi, ce lien github sera utile.

Il contient les packages de liste suivants pour la détection des valeurs aberrantes de série temporelle:

datastream.io

horizon

banpei

Détection d'une anomalie


une façon de travailler sur les anomalies contextuelles?
Arpit Sisodia

parlez-vous de détection d'anomalies ou de détection de valeurs aberrantes? Il y a une différence.
Arpit Sisodia

6

Il existe plusieurs façons de gérer les anomalies des séries chronologiques -

1) Si des anomalies sont connues , construisez un modèle de classification. Utilisez ce modèle pour détecter le même type d'anomalies pour les données de séries chronologiques.

2) Si les anomalies sont inconnues , ce que nous avons fait dans notre organisation - est une combinaison de regroupement et de classification -

Utilisez d'abord LOF / K-means / Cook's distance pour identifier les valeurs aberrantes. Convertissez des données entières en problème de classification car nous avons maintenant 2 classes: valeurs aberrantes et normales. Maintenant, créez un modèle de classification et obtenez des règles (modèle de classification) pour identifier les anomalies au moment de l'exécution (données de séries chronologiques).

3) Si les anomalies sont inconnues , au cours de mes recherches, le moyen le plus courant d'identifier les anomalies est de construire un modèle normal et tout écart par rapport au modèle normal (erreur) est anormal, donc dans votre cas, vous prévoyez votre série chronologique pour l'heure suivante, puis comparez avec des valeurs réelles. Si l'erreur est plus importante que prévu, quelque chose d'anormal se produit.

Je n'ai pas pu trouver de paquet direct en python ou R pour le faire, car personne ne savait ce qui est vraiment anormal: P, dans tous les cas, il a été lié à la détection des valeurs aberrantes.

quelques liens utiles-

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

Essayez la bibliothèque du prophète

Prophet est une procédure de prévision des données de séries chronologiques basée sur un modèle additif où les tendances non linéaires sont adaptées à la saisonnalité annuelle, hebdomadaire et quotidienne, plus les effets des vacances. Il fonctionne mieux avec des séries chronologiques qui ont de forts effets saisonniers et plusieurs saisons de données historiques. Prophet résiste aux données manquantes et aux changements de tendance, et gère généralement bien les valeurs aberrantes.

Plus d'informations sur: Détection d'anomalies dans les séries temporelles avec la bibliothèque Prophet

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.