Ce qu’on peut prouver sans étiquettes
Sans liste d’anomalies validées, la précision et le rappel ne sont
pas calculables. On ne peut donc pas prouver que l’outil trouve les
vraies erreurs de l’Arcep. On peut en revanche vérifier, une par une,
les propriétés qu’un bon outil doit avoir (Campos et al. 2016) : réagir aux défauts
qu’on sait fabriquer et les nommer correctement (Emmott et al. 2013), n’avoir aucun
critère inutile, donner un classement stable, ne pas dépendre d’un seul
détecteur, et distinguer ce qui vient du terrain de ce qui vient du
calcul. Toutes les expériences sont rejouables par la commande
python -m carto_anomalies.experiences.
Elles portent sur la 4G de ZEOP au deuxième trimestre 2026, sur toute l’île, à 10 m, avec des mailles de 500 m : 11 641 mailles, dont 11 561 comparées. 688 mailles dépassent le seuil de 0,9.
Défauts injectés
On choisit des mailles saines (score inférieur à 0,3), on y fabrique un défaut connu, on relance tout le calcul et on regarde trois choses : la maille est-elle signalée, le type affiché est-il le bon, et l’objet d’anomalie correspondant est-il retrouvé ? Chaque défaut est injecté dix fois, avec trois tirages différents, soit trente cas par type.
| Défaut | Type attendu | Signalés | Bien typés | Objet trouvé | Rang médian |
|---|---|---|---|---|---|
| Trou | Zone isolée | 30/30 | 27/30 | 27/30 | 2,95 % |
| Bande | Bande fine | 30/30 | 28/30 | 30/30 | 3,26 % |
| Coupure | Discontinuité rectiligne | 30/30 | 30/30 | 30/30 | 0,44 % |
| Rupture | Transition brutale | 30/30 | 27/30 | 30/30 | 0,04 % |
120 défauts sur 120 sont détectés et 112 sont affichés avec le bon type.
Chaque critère sert
On retire un critère à la fois et on regarde le rang médian des défauts injectés, ainsi que le recouvrement du haut du classement (1 % des mailles) avec la version complète.
| Critère retiré | Trou | Bande | Coupure | Rupture | Haut du classement |
|---|---|---|---|---|---|
| aucun (version complète) | 3,0 | 3,3 | 0,5 | 0,0 | 100 % |
| transitions brutales | 2,8 | 2,7 | 0,3 | 1,1 | 56 % |
| densité de frontières | 2,6 | 3,1 | 0,5 | 0,0 | 76 % |
| micro-zones | 1,8 | 1,5 | 0,3 | 0,0 | 59 % |
| zones isolées | 67,6 | 3,2 | 0,5 | 0,0 | 93 % |
| bandes fines | 1,4 | 69,0 | 0,3 | 0,0 | 34 % |
| bords rectilignes | 3,1 | 3,0 | 28,5 | 0,1 | 76 % |
| écart au voisinage | 2,3 | 2,0 | 1,0 | 0,0 | 62 % |
Chaque défaut dépend du critère conçu pour lui. Sans les zones isolées, les trous injectés passent de 3,0 % à 67,6 % ; sans les bandes fines, les bandes passent de 3,3 % à 69,0 % ; sans les bords rectilignes, les coupures passent de 0,5 % à 28,5 %. Aucun critère n’est donc redondant avec les autres.
Stabilité
Isolation Forest est aléatoire. Avec dix graines différentes, le 1 % des mailles les plus suspectes (115 mailles) se recouvre en moyenne à 0,94 (indice de Jaccard, minimum 0,90). En recalculant le modèle sur dix sous-échantillons de 80 % des mailles, le recouvrement moyen est de 0,93 et la corrélation de rang entre les scores reste de 0,998. Le classement ne dépend donc ni du hasard ni des mailles présentes.
Accord des détecteurs
Les trois détecteurs sont corrélés sans être identiques : entre 0,75 et 0,82. Parmi les 5 % de mailles les plus suspectes de chacun, ils en partagent entre 72 % et 83 % deux à deux. Toutes les mailles au-dessus de 0,9 sont au-dessus de 0,5 pour les trois détecteurs à la fois : le score final ne repose jamais sur un seul avis.
Comparaison entre opérateurs et trimestres
Une anomalie peut venir du terrain ou du calcul. Si elle vient du terrain (une falaise, un ravin), les autres opérateurs, qui simulent la même géographie, devraient montrer la même configuration au même endroit. Si elle vient de la chaîne de calcul de ZEOP, elle devrait lui être propre, et persister d’un trimestre à l’autre tant que cette chaîne ne change pas. Pour chaque objet d’anomalie de ZEOP, on cherche la même configuration de pixels dans les autres cartes, rastérisées sur la même grille ; un objet est retrouvé si au moins 80 % de ses pixels (ou de sa frontière) sont identiques.
| Carte de référence | Rectiligne | Zone isolée | Bande fine | Transition |
|---|---|---|---|---|
| ZEOP 4G, 2025-12-31 | 76 % | 100 % | 97 % | 78 % |
| ZEOP 4G, 2026-03-31 | 84 % | 100 % | 97 % | 76 % |
| OF 4G, 2026-06-30 | 2 % | 56 % | 2 % | 0 % |
| SRR 4G, 2026-06-30 | 0 % | 33 % | 9 % | 1 % |
| TELC 4G, 2026-06-30 | 2 % | 44 % | 1 % | 0 % |