Retour

Détecter les anomalies dans mes données

Publié le par Alisson Baron (Institut de l'Elevage)
Modélisation - méthodes statistiques Autre filière
Qu'est-ce qu'une anomalie ? Quel impact a-t-elle sur mes résultats ? Comment la détecter ? Toutes les réponses sont dans cet article.

Anomalie ≠ Valeur aberrante (ou outlier)

Pourquoi et comment détecter les anomalies ?

Savoir détecter automatiquement les anomalies permet de les supprimer facilement du jeu de données. Contrairement aux valeurs aberrantes, qu’on peut décider de garder lors des analyses comme ce sont des valeurs extrêmes mais possibles, les anomalies ne sont pas à conserver. En effet, elles peuvent impacter les résultats des analyses et complètement les fausser, alors que ce sont des valeurs qui ne peuvent pas exister en temps « normal ».

 

Parfois, il est également intéressant de détecter les anomalies pour pouvoir les analyser en tant que telles en particulier, pour comprendre ce qui les a produites, comment et pourquoi, afin d’éviter que cela ne se reproduise si c’est ce qui est souhaité (avec un rendement par exemple).

 

Le principe est donc de mettre en évidence les observations incompatibles avec le reste de l’ensemble des données. Pour détecter ces observations, les méthodes les plus simples sont les mêmes que pour détecter les valeurs aberrantes, à savoir les histogrammes ou les boxplots. Cependant, ces méthodes restent limitées et fastidieuses lorsqu’on travaille avec de gros jeux de données. 

 

Il existe une multitude de méthodes multidimensionnelles, ce qui signifie qu’elles prennent en compte plusieurs variables, voire toutes les variables du jeu de données d’un coup, pour détecter les anomalies.

Les quatre grandes catégories de méthode sont les suivantes :

  • Les méthodes statistiques  paramétriques (e.g. vraisemblance) ou non-paramétriques (e.g. histogramme, boxplot)
  • Les méthodes basées sur la proximité des données :
    • Clustering : basées sur la distance (e.g. k-means) ou la densité (e.g. DB-SCAN)
    • Plus proche voisin : basées sur la distance (e.g. kNN) ou la densité (e.g. LOF)
  • Les méthodes basées sur le Deep Learning  (e.g. toutes les méthodes à base de réseau de neurones)
  • Les autres méthodes (e.g. OC-SVM, IForest)

Même dans le domaine agricole, ces méthodes sont appliquées :

 

 

Une anomalie c’est une erreur, une valeur aberrante c’est un cas exceptionnel. Toutes les anomalies sont des valeurs aberrantes. ATTENTION, la réciproque est fausse

Une anomalie a deux propriétés importantes sur lesquelles se basent l’ensemble des méthodes de détections : elle a un comportement très différent des autres et elle est rare.

Quelques exemples 

Voici deux exemples d’application de la méthode IForest (basée sur les forêts aléatoires) : 

Exemple 1

Exemple factice avec 3 groupes distincts d’individus (bleu, vert et violet) et quelques individus connus comme étant des anomalies (en noir). Lors de la mise en œuvre de la méthode de détection d’anomalies, les individus en noir sont presque tous repérés comme étant des anomalies. Comme pour chaque méthode, il y a une marge d’erreur acceptable à positionner : ici, les points noirs dans les groupes de couleurs ne sont pas toujours repérés par la méthode ; à l’inverse, certains points de couleur en périphérie des groupes sont considérés comme des anomalies. 

 

Exemple 2

Exemple de mesures de poids d’animaux sur 11 jours. Ici les anomalies sont inconnues, l’idée est de vérifier s’il en existe ou non. A première vue, un poids nul peut-être considérer comme une anomalie et non comme une valeur aberrante, car un animal sans poids ce n’est pas explicable (hormis un défaut de la balance). En revanche, un poids plus faible que la normale pourra être une valeur aberrante, car il peut y avoir une explication à cette chute de poids. Comme pour toute méthode, avec la connaissance métier, il reste à faire le choix de la valeur « seuil » entre anomalie et valeur aberrante, ainsi que du seuil acceptable d’erreur de détection.

 

L’objectif est donc de détecter automatiquement toutes les anomalies afin de les supprimer du jeu de données, car ces données de poids nuls vont forcément impacter la moyenne et les résultats, alors qu’en pratique il n’existe pas d’animaux ayant un poids nul.

Ici, on a bien toutes les valeurs nulles considérées comme des anomalies : on peut les supprimer sans scrupule. Par exemple, ici, les valeurs comprises entre 15 et 30 kg seront considérés comme des valeurs aberrantes mais possibles.

 

Quel que soit le type des données (séquentielles, spatio-temporelles, spatiales, séries temporelles, etc.), il existe une méthode de détection d’anomalie adaptée !

Si tu ne sais pas quelle méthode choisir, n’hésite pas à contacter Data’Stat.