Séries temporelles et détection d'anomalies

15

Je voudrais configurer un algorithme pour détecter une anomalie dans les séries temporelles, et je prévois d'utiliser le clustering pour cela.

  • Pourquoi devrais-je utiliser une matrice de distance pour le clustering et non les données brutes des séries temporelles ?,

  • Pour la détection de l'anomalie, j'utiliserai un clustering basé sur la densité, un algorithme comme DBscan, alors cela fonctionnerait-il dans ce cas? Existe-t-il une version en ligne pour le streaming de données?

  • Je voudrais détecter l'anomalie avant qu'elle ne se produise, alors, utiliser un algorithme de détection de tendance (ARIMA) serait-il un bon choix?

napsterockoeur
la source
Il est correctement écrit DBSCAN. C'est une abréviation. Je ne sais pas trop ce que vous essayez de faire. Détectez les anomalies dans une série chronologique ou les séries chronologiques anormales globales.
A QUIT - Anony-Mousse
Oui DBSCAN, exacte! Ce que j'essaie de faire, c'est une anomalie de détection en ligne dans un ensemble de données de séries chronologiques! donc! des demandes ? merci salutations
napsterockoeur
En ligne comme dans une série temporelle croissante ou comme dans des séries supplémentaires ajoutées? Encore une fois, ce sont très différents, et vous devez être très clair sur ce que vous voulez dire.
A QUIT - Anony-Mousse
Je veux dire par en ligne (flux), une série chronologique croissante provenant d'un capteur .. chaque heure, un ensemble de données (vecteur) est reçu ..
napsterockoeur

Réponses:

12

Concernant votre première question, je vous recommande de lire ce fameux article (Le clustering des séquences de séries temporelles n'a pas de sens) avant de faire le clustering sur une série temporelle. Il est clairement écrit et illustre de nombreux pièges que vous souhaitez éviter.

gui11aume
la source
6

La détection d'anomalies ou «détection d'intervention» a été défendue par GCTiao et d'autres. Faire de la science, c'est rechercher des schémas répétés, détecter des anomalies, c'est identifier des valeurs qui ne suivent pas des schémas répétés. Nous apprenons de Newton "Quiconque connaît les voies de la Nature remarquera plus facilement ses déviations et, d'autre part, celui qui connaît ses déviations décrira plus précisément ses voies". On apprend les règles en observant quand les règles actuelles échouent. Considérez les séries chronologiques 1,9,1,9,1,9,5,9. Pour identifier l'anomalie, il faut avoir un modèle. Le "5" est autant une anomalie que le "14". Pour identifier le modèle, utilisez simplement ARIMA et dans ce cas, "l'anomalie" devient évidente. Essayez différents logiciels / approches et voyez lequel suggère un modèle ARIMA d'ordre 1,0, 0 avec un coefficient de -1,0. Utilisez les procédures google / search pour trouver "arima automatique" ou "détection d'intervention automatique". Vous pouvez être déçu par les trucs gratuits car cela en vaut la peine. L'écrire vous-même peut être intéressant si vous avez une longue expérience des séries chronologiques et quelques années à perdre. Il y a de sérieuses limites aux méthodes basées sur la distancehttp://www3.ntu.edu.sg/SCE/pakdd2006/tutorial/chawla_tutorial_pakddslides.pdf

IrishStat
la source
Merci beaucoup Sir IrishStat, je suis totalement d'accord avec vous, qu'il y a de grandes limites dans les méthodes basées sur la distance et je suppose que les autres méthodes aussi, c'est pourquoi je teste la méthode de la base de densité, j'ai vu beaucoup d'articles parler sur la détection d'anomalies de séries chronologiques, comme la recherche de la nasa, les universités ..etc mais de petits progrès, pour des problèmes de données particuliers Et récemment, j'ai trouvé un bon logiciel gratuit pour la détection des valeurs aberrantes: MOA de Weka! L'avez-vous déjà testé? c'est un logiciel open source, j'essaie de l'utiliser pour développer et intégrer mon petit algorithme d'anomalie de détection,
napsterockoeur
oh: pour info: je traite des données en streaming
napsterockoeur