Détection d'anomalies dans les séries temporelles

Savez-vous comment une banque détecte automatiquement l’utilisation malveillante des cartes bancaires et vous informe que votre carte a été volée ? Ou bien comment un robot de trading décide si un changement soudain du prix des actions est le début d’une tendance, ou s’il s’agit simplement d’un événement soudain et que le prix va revenir à la normale ? Ces sujets, et de nombreux autres, sont des cas de détection d’anomalies dans les séries temporelles.
Les séries temporelles sont l’un des sujets majeurs des statistiques et de la Data Science. On les rencontre dans une grande variété de contextes : ventes d’une entreprise, transactions bancaires ou le nombre des cas du Covid-19.
Elles sont représentées par une suite de valeurs indexées par le temps. Les observations sont auto-corrélées, ce qui signifie que les observations sont fortement liées à celles qui les précèdent. Les données de séries temporelles doivent être traitées d’une manière particulière en raison de ces contraintes.
D’autre part, les anomalies sont des observations rares ou qui ne suivent pas la distribution des données attendue. La détection des anomalies est un sujet fondamental dans de nombreuses applications, dans les transactions financières, ou bien dans le domaine de la sécurité des réseaux.
Venons-en maintenant au sujet en question, la détection des anomalies dans les séries temporelles. En premier lieu nous parlerons des raisons pour lesquelles la détection d’anomalies est importante, ensuite nous discuterons les techniques utilisées. Ces techniques peuvent être regroupées en deux catégories : l’approche statistique et l’approche du Machine Learning.
Pourquoi utiliser l’intelligence artificielle dans la détection des anomalies ?
L’utilisation d’algorithmes d’IA pour la détection d’anomalies a principalement trois intérêts :
- La première est qu’elle réduit le temps de détection et de correction des anomalies, puisque les algorithmes sont beaucoup plus rapides que les humains, le temps de détection sera donc réduit et peut-être, le problème résolu avant que les clients ne s’en aperçoivent.
- Deuxièmement, il aide à la détection d’anomalies qui ne sont pas détectable par les humains, certaines anomalies sont faciles à détecter, mais d’autres sont beaucoup plus difficiles à repérer. Exemple : Dans le contexte de la cybersécurité, un logiciel malveillant peut être exécuté dans l’ordinateur d’un utilisateur particulier et se mettre à rechercher des données sensibles auxquelles il a accès. Bien que cela puisse être considéré comme un comportement normal parce que l’utilisateur a accès à ces données, l’IA peut considérer que c’est anormal en comparant ce comportement au comportement antérieur de l’utilisateur.
- Troisièmement, elle peut aider à comprendre la cause des anomalies et à prendre de meilleures décisions pour en réduire l’impact. Il est possible que certaines anomalies se produisent fréquemment en raison de causes inconnues.
Les types d’anomalies
Les anomalies peuvent être classées en trois types, et il est important de savoir à l’avance quel type d’anomalie est présent dans les données, cela permet de sélectionner les meilleures méthodes de traitement, et donc de rendre les résultats plus fiables.
Anomalies ponctuelles : Il s’agit d’une anomalie qui s’écarte de manière significative de la distribution des données ponctuellement, elle peut être un pic ou un creux. Elle peut être détectée en la comparant soit aux autres valeurs de la série temporelle (valeur aberrante globale), soit à ses points voisins (valeur aberrante locale). Exemple : Une transaction de crédit qui diffère des autres transactions dans ses caractéristiques telles que le montant de la transaction et le pays ou la transaction a été effectuée.
Anomalies collectives : Il s’agit de suites consécutives de points qui s’écartent de manière significative de la distribution jointe, bien que chaque observation prise individuellement ne soit pas nécessairement une anomalie. Exemple, supposons qu’une cliente d’une banque effectue 7 fois des achats avec sa carte bancaire dans la même heure et pour le même montant de 60 €. Bien qu’un achat occasionnel de 60 € soit normal pour la cliente, une série d’achats avec les mêmes caractéristiques et le même montant est inhabituelle.
Anomalies contextuelles : Certains points peuvent être normaux dans un contexte mais anormaux dans un autre. Par exemple : Une température quotidienne de 35 C en été est considérée comme normale en France, alors que la même température en hiver est considérée comme anormale.
Dans cet article, nous nous concentrons sur les techniques de détection d’anomalies ponctuelles et contextuelles.
Techniques de détection d’anomalies dans les séries temporelles
Dans cette partie, nous abordons les méthodes utilisées pour la détection d’anomalies ponctuelles dans les séries temporelles. Les techniques sont divisées en deux catégories, la première est l’approche statistique, où nous supposons que les données sont générées par un processus stochastique, la seconde sont les méthodes Machine Learning, où nous traitons le processus de génération des données comme une boîte noire et essayons d’apprendre uniquement à partir des données.
Illustrons ces approches avec un exemple. Nous allons analyser le nombre de demandes de taxi par heure à New York. Détectons les heures anormales.
Approches statistiques
Intuitivement, une anomalie est une observation qui s’éloigne du trafic normal. On peut classer une observation comme anormale si elle est suffisamment éloignée du trafic et de l’activité normale.
Une façon de détecter les anomalies dans les séries temporelles est d’estimer la valeur attendue ou le trafic normal et de la comparer à la valeur réelle en utilisant une distance. Une observation est considérée comme une anomalie si la distance à sa valeur attendue est supérieure à un seuil prédéfini.
Il existe plusieurs méthodes pour estimer la valeur attendue, l’une d’entre elles consiste à utiliser des mesures statistiques telles que la médiane ou la moyenne, ces mesures étant calculées globalement ou localement. La différence entre la valeur réelle et la mesure statistique est utilisée pour détecter l’anomalie.
Une autre approche statistique est la modélisation probabiliste, dans