Pourquoi trois détecteurs
Chaque maille m est décrite par un vecteur de sept critères x_m \in \mathbb{R}^7. Il s’agit maintenant de dire à quel point ce vecteur sort de l’ordinaire, sans exemple d’anomalie pour apprendre. Les grands bancs d’essai de détection non supervisée montrent qu’aucune méthode ne domine les autres sur tous les jeux de données (Han et al. 2022) : les performances dépendent de la forme des anomalies, que l’on ne connaît pas ici. La littérature sur les ensembles recommande alors de combiner des détecteurs qui regardent les données de façons différentes (Aggarwal 2013; Zimek, Campello, et Sander 2014).
On en combine trois, choisis pour leurs points de vue complémentaires : ECOD regarde chaque critère séparément, Isolation Forest repère les combinaisons inhabituelles, et la distance aux plus proches voisins mesure l’isolement global. Les implémentations s’appuient sur scikit-learn (Pedregosa et al. 2011) ; ECOD, qui tient en quelques lignes, est écrit directement, selon l’article original et l’implémentation de référence de PyOD (Zhao, Nasrullah, et Li 2019).
ECOD
ECOD (Li et al. 2022) part d’une idée simple : une valeur est aberrante si elle tombe dans une queue de la distribution empirique de son critère. Pour chaque critère j, on estime la probabilité d’observer une valeur au moins aussi grande, \hat{F}_j^{>}(x) = \frac{1}{n} \left| \{ i : x_{ij} \geq x \} \right| , puis on additionne les rarétés sur tous les critères : O_{\mathrm{ECOD}}(x_m) = \sum_{j} -\log \hat{F}_j^{>}(x_{mj}) . L’article original regarde les deux queues et choisit selon l’asymétrie de chaque critère ; comme nos critères sont tous orientés (plus grand veut dire plus suspect), on ne garde que la queue droite. ECOD a trois qualités précieuses ici : il n’a aucun hyperparamètre, il est déterministe, et sa décomposition critère par critère explique directement le score. C’est lui qui donne le type d’anomalie : la famille de critères qui contribue le plus à O_{\mathrm{ECOD}}.
Isolation Forest
Isolation Forest (Liu, Ting, et Zhou 2008, 2012) isole les points par des coupures aléatoires : on choisit un critère au hasard, puis un seuil au hasard entre son minimum et son maximum, et on recommence jusqu’à ce que chaque point soit seul. Un point atypique s’isole en peu de coupures. En notant h(x) la profondeur à laquelle x est isolé et c(\psi) la profondeur moyenne attendue pour un échantillon de taille \psi, s(x) = 2^{-\mathbb{E}[h(x)] / c(\psi)}, \qquad c(\psi) = 2H(\psi - 1) - \frac{2(\psi - 1)}{\psi}, où H est le nombre harmonique. On utilise 300 arbres et des sous-échantillons de 512 mailles. Contrairement à ECOD, Isolation Forest voit les combinaisons : une maille un peu au-dessus de la moyenne sur trois critères à la fois peut s’isoler vite.
Avant ce détecteur et le suivant, chaque critère est divisé par le 90e centile de ses valeurs non nulles puis passé en \log(1 + x), pour qu’aucun ne domine les distances à cause de son unité.
Distance aux plus proches voisins
Le troisième détecteur mesure la distance moyenne d’une maille à ses k = 20 plus proches voisines dans l’espace des critères (Ramaswamy, Rastogi, et Shim 2000; Angiulli et Pizzuti 2002) : O_{\mathrm{kNN}}(x_m) = \frac{1}{k} \sum_{v \in \mathrm{kNN}(x_m)} \lVert x_m - x_v \rVert . On l’a préféré au facteur local d’aberration (LOF), plus courant, parce que des milliers de mailles homogènes ont exactement les mêmes valeurs. Ces doublons rendent les densités locales de LOF instables, alors qu’ils ne gênent pas une simple distance.
Du score à la probabilité estimée
Les trois scores n’ont ni la même échelle ni la même signification. On les ramène entre 0 et 1 par la normalisation gaussienne proposée par Kriegel et al. (2011) : P(s) = \max\left(0,\ \mathrm{erf}\left(\frac{s - \mu}{\sigma\sqrt{2}}\right)\right), où \mu et \sigma sont la moyenne et l’écart-type du score sur les mailles comparées. Le score final est la moyenne des trois probabilités. Une maille est dite anormale au-delà de 0,9 ; l’outil permet de déplacer ce seuil.
Il faut être clair sur ce que représente cette valeur. Sans anomalie étiquetée, on ne peut pas vérifier que «0,9» correspond à neuf chances sur dix d’être une erreur. C’est un degré de suspicion, comparable d’une maille à l’autre et d’une carte à l’autre, qu’on appelle «probabilité estimée» par commodité. Quelques dizaines de cas validés par l’Arcep suffiraient à le recaler.
Comme la normalisation sature vers 1 pour les cas extrêmes, plusieurs dizaines de mailles peuvent afficher 1,00. On les départage par leur rang moyen dans les trois détecteurs.
Quelles mailles on compare
On ne compare au modèle que les mailles où il se passe quelque chose : celles qui sont couvertes, ou voisines d’une maille couverte. Les mailles entièrement en mer ou vides loin de toute couverture écraseraient sinon la distribution «normale», et toute maille couverte paraîtrait atypique. Les mailles dont moins de 30 % des pixels sont dans la zone (sur la côte par exemple) sont également écartées, parce que leurs proportions ne sont pas fiables.