Comprendre Détection d’anomalies
Tout problème d’anomalies commence par un taux de base, en général assez faible pour briser les habitudes héritées de la classification équilibrée. Avec 100 anomalies sur 20 000 événements, tout appeler normal a raison 19 900 fois : 99,50 % de justesse pour un détecteur qui n’a rien appris. Toute métrique qui moyenne sur la classe majoritaire hérite du taux de base, si bien que la première décision porte sur la métrique qui y survit.
L’aire sous la ROC n’y survit qu’en apparence. Sur un détecteur réaliste elle affiche 0,9468 quand la précision moyenne affiche 0,3245, et les deux sont correctes : le taux de faux positifs divise par les 19 900 événements normaux, si bien que mille fausses alertes le déplacent de cinq points, tandis que la précision divise par le nombre d’alertes, où mille fausses alertes sont toute l’histoire. La précision à un k fixé est le nombre qui décrit ce que quelqu’un doit traiter : 52 % aux 50 premières, 36 % aux 100 premières, 13,4 % aux 500 premières.
Les détecteurs eux-mêmes se répartissent en familles selon ce qu’ils supposent qu’« anormal » signifie, et chaque famille est aveugle à quelque chose. Sur des données à deux amas et vingt anomalies dans l’intervalle clairsemé qui les sépare, la distance de Mahalanobis a trouvé les dix anomalies lointaines, aucune des vingt de l’intervalle, et s’est classée à 0,335 - sous le hasard, parce que l’intervalle se situe à la moyenne globale et que ces points sont les moins extrêmes du jeu de données. La forêt d’isolement a obtenu 0,903 et n’a pas non plus trouvé l’intervalle, un point au centre des deux étendues demandant autant de coupes parallèles aux axes qu’un point ordinaire.
Les méthodes locales existent exactement pour ce cas, et elles ont leur propre défaillance. Le facteur d’aberration local compare la densité d’un point à celle de ses voisins, ce qui suppose les voisins normaux. À mesure que les anomalies de l’intervalle passent de 2 à 40, elles deviennent leur propre voisinage et le rappel du facteur local chute de 100 % à 8 %. La simple distance aux k voisins, qui ignore le caractère anormal des voisins, se dégrade de 100 % à 25 % : le cas inhabituel où la méthode la plus simple est la plus robuste.
Comment calculer
precision@k = (true anomalies in the top k) / k; threshold* = argmin_t [ C_FN · missed(t) + C_FP · false(t) ]
où
- taux de base
- la part des observations qui sont des anomalies ; fixe ce que toute métrique peut signifier
- C_FN, C_FP
- le coût d’une anomalie manquée et celui d’une fausse alerte
- k
- la capacité d’examen, qui fixe le seuil plutôt que l’inverse
- contamination
- le taux d’anomalies dans les données que rencontre le détecteur, et qui bouge
Exemple : Détection d’anomalies
20 000 événements à un taux d’anomalies de 0,5 % : ne jamais déclencher donne 99,50 % de justesse, une aire ROC de 0,9468 contre une précision moyenne de 0,3245, et les 100 meilleurs scores contiennent 36 anomalies réelles.
Deux amas séparés par un intervalle clairsemé : Mahalanobis 0,335, distance aux k voisins 0,978, facteur d’aberration local 0,933, forêt d’isolement 0,903 - mais des vingt anomalies de l’intervalle, les 60 premiers du classement en contiennent 65 % pour les k voisins, 30 % pour le facteur local, et aucune pour les deux autres.
Avec un raté à 500 et une fausse alerte à 20, le seuil de coût minimal déclenche 460 alertes, en attrape 67 sur 100, et coûte 24 360 contre 50 000 pour ne jamais déclencher.
Questions fréquentes
Vaut-il mieux un classifieur supervisé, si j’ai des étiquettes ?
Si vous avez assez d’anomalies étiquetées, oui : un classifieur battra en général un détecteur non supervisé sur les types d’anomalies qu’il a vus. Les méthodes non supervisées persistent parce que l’anomalie intéressante est celle qui n’est pas encore arrivée, et qu’un classifieur entraîné sur les fraudes de l’an dernier est un détecteur des fraudes de l’an dernier.
Où placer le seuil ?
À partir des deux coûts, pas d’un quantile rond. Une fois un raté et une fausse alerte chiffrés, le seuil est de l’arithmétique. Une règle de quantile peut tomber près par chance - le 1 % de tête coûtait 26 980 contre un optimum de 24 360 dans l’exemple - mais elle ne le restera pas quand le rapport des coûts ou la contamination changera.
Pourquoi la précision a-t-elle chuté alors que rien n’a changé dans le modèle ?
Parce que la précision dépend du taux de contamination, qui bouge. Le même seuil sur le même détecteur donnait 25 % de précision à deux fois le taux d’anomalies et 8 % à la moitié, avec un rappel stable autour de 65 %. Un seuil fixe le rappel ; il ne peut pas garantir la propreté de la file.
En résumé
La détection d’anomalies est un problème de métriques déguisé en problème d’algorithmes. Décidez le taux de base, la capacité d’examen et le coût d’un raté avant de choisir une méthode, car ces trois nombres fixent ce que tout détecteur peut valoir - et vérifiez quel type d’anomalie contiennent vos données, puisque chaque famille est aveugle à un type qu’une autre trouve facilement.