Accueil / Factory / Algos ML / Score z et IQR — factory / algos ML / détection d'anomalies

SCORE Z ET IQR.

Deux règles de statistique descriptive pour signaler les valeurs extrêmes d'une variable. Le score z mesure l'écart à la moyenne en écarts-types ; la règle IQR place des bornes autour des quartiles, comme les moustaches d'une boîte à moustaches. À tester avant tout algorithme : elles sont immédiates, explicables, et suffisent parfois.

Détection d'anomaliesStatistiques descriptivesRègles simplesContrôleNiveau : débutant

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceSuffisantes sur des anomalies extrêmes, variable par variable
InterprétabilitéUne règle que tout le monde comprend et peut vérifier
VitesseUne moyenne ou des quartiles : calcul instantané
Facilité de réglageUn seuil à choisir, et la bonne transformation
Tolérance aux données brutesLe score z est faussé par les extrêmes qu'il doit trouver
EN 30 SECONDES

Un contrôleur de gestion qui trie les notes de frais : tout ce qui dépasse largement la dépense habituelle part en vérification, sans modèle ni boîte noire.

1. Score z : on compte les écarts-types

z = (valeur - moyenne) / écart-type. Au-delà de 3 en valeur absolue, la valeur est signalée. Sur une loi normale, cela concerne environ 0,3 % des données.

2. IQR : on part des quartiles

L'écart interquartile (IQR) sépare le 1er et le 3e quartile. Toute valeur au-delà de Q3 + 1,5 x IQR ou en deçà de Q1 - 1,5 x IQR est signalée. C'est la règle des moustaches de Tukey.

3. On transforme si la variable est asymétrique

Montants, distances et durées ont une longue traîne : les règles brutes y signalent trop ou trop peu. On les applique alors au logarithme de la variable.

LE CAS MÉTIER

fraude · contrôle de premier niveau / paiement
EN ENTRÉE

La distance de chaque transaction

5 000 paiements par carte, avec la distance entre le lieu d'achat et le domicile du porteur. La plupart se font à quelques kilomètres, quelques-uns à des milliers. Les 40 fraudes confirmées du jeu servent seulement à évaluer les règles.

EN SORTIE

Quatre règles, quatre files d'alertes

Sur le jeu d'exemple, le score z sur la distance brute signale 34 transactions, toutes frauduleuses, mais laisse passer 6 fraudes. L'IQR brut attrape les 40 fraudes, noyées dans 269 alertes. Appliqués au logarithme de la distance, score z et IQR signalent 40 et 41 transactions, dont les 40 fraudes.

CE QU'ON MESURE

Fraudes trouvées et volume d'alertes

Une règle se juge sur deux chiffres : la part des fraudes attrapées et le nombre d'alertes à traiter. Le score z brut rate des fraudes parce que les distances extrêmes gonflent l'écart-type qui sert à les détecter : c'est l'effet de masque. Le logarithme règle les deux problèmes.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Premier contrôle sur une variable : montant, durée, quantité, délai
  • Nettoyage de données avant un modèle : erreurs de saisie, unités fausses
  • Règle à expliquer à un auditeur, un client ou un régulateur
  • Point de référence pour mesurer le gain d'un algorithme plus complexe

NON

  • Anomalies visibles seulement sur une combinaison de variables : distance de Mahalanobis, Isolation Forest
  • Variable très asymétrique sans transformation : l'IQR brut noie les vrais cas dans les fausses alertes
  • Série avec saisonnalité ou tendance : appliquer la règle aux écarts à la tendance, pas aux valeurs brutes
  • Petits échantillons (quelques dizaines de valeurs) : moyenne et écart-type sont trop instables
LES 3 CHOIX QUI COMPTENT

Aucun package nécessaire : R base et pandas suffisent. Les décisions portent sur le seuil et la préparation.

Seuil du score z

3 est l'usage courant. Sur de grands volumes, même une variable parfaitement normale produit des dépassements : sur 5 000 lignes, on en attend environ 13 au-delà de 3 par pur hasard.

Coefficient IQR : 1,5 ou 3

1,5 donne les moustaches classiques de la boîte à moustaches. 3 ne garde que les valeurs très éloignées, dites extrêmes. On ajuste selon le nombre d'alertes que l'équipe peut traiter.

Version robuste : médiane et MAD

Remplacer moyenne et écart-type par la médiane et l'écart absolu médian (MAD) donne un score z robuste, qui ne se laisse pas masquer par les extrêmes. Le seuil usuel est alors 3,5.

LE CODE MINIMAL

jeu d'exemple : transactions.csv ↓
# Contrôle de premier niveau : score z et IQR en R
transactions <- read.csv("transactions.csv")
fraude <- transactions$fraude_confirmee   # sert seulement à évaluer les règles

regle_z <- function(x, seuil = 3) abs((x - mean(x)) / sd(x)) > seuil
regle_iqr <- function(x, k = 1.5) {
  q <- quantile(x, c(0.25, 0.75))
  x < q[1] - k * (q[2] - q[1]) | x > q[2] + k * (q[2] - q[1])
}

distance <- transactions$distance_km
regles <- list("z brut" = regle_z(distance), "IQR brut" = regle_iqr(distance),
               "z sur log" = regle_z(log1p(distance)), "IQR sur log" = regle_iqr(log1p(distance)))

# Nombre d'alertes et fraudes attrapées pour chaque règle
for (nom in names(regles)) {
  alerte <- regles[[nom]]
  cat(sprintf("%-12s : %4d alertes, %d fraudes sur %d\n", nom, sum(alerte), sum(fraude[alerte]), sum(fraude)))
}

QUESTIONS FRÉQUENTES

Quelle différence entre score z et IQR ?

Le score z repose sur la moyenne et l'écart-type, eux-mêmes tirés par les valeurs extrêmes. La règle IQR repose sur les quartiles, insensibles aux extrêmes, ce qui la rend plus robuste. En contrepartie, sur une variable asymétrique, l'IQR signale beaucoup de valeurs simplement situées dans la longue traîne.

Quel seuil de score z pour détecter une valeur aberrante ?

3 en valeur absolue est l'usage le plus courant, parfois 2,5 pour être plus sensible. Pour un score z robuste, fondé sur la médiane et le MAD, le seuil recommandé est 3,5. Le bon seuil dépend surtout du nombre d'alertes que l'on peut traiter.

Faut-il supprimer les valeurs aberrantes détectées ?

Pas automatiquement. Une valeur aberrante peut être une erreur de saisie à corriger, ou justement le cas intéressant : une fraude, une panne, un gros client. On les examine, on corrige les erreurs avérées et on documente la règle appliquée.

LES ALGOS VOISINS

à comparer avant de choisir
la version multivariée

Distance de Mahalanobis

Généralise le score z à plusieurs variables en tenant compte de leurs corrélations.

Voir la fiche →
l'étape suivante

Isolation Forest

Détecte des anomalies sur toutes les variables à la fois, sans hypothèse de distribution.

Voir la fiche →
pour les anomalies locales

Local Outlier Factor

Repère les points isolés par rapport à leur voisinage, là où une règle globale ne voit rien.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →