Détecter les valeurs aberrantes avec un seuil de Z-score (par exemple, |Z| > 3)
Introduction
La détection des valeurs aberrantes (ou « outliers ») est une étape essentielle dans l’analyse des données. Elle permet d’identifier des points qui s’écartent significativement du reste de la distribution, pouvant fausser les résultats de certains algorithmes ou analyses. L’une des méthodes les plus simples et efficaces consiste à utiliser le Z-score.
Principe du Z-score
Le Z-score mesure l’écart d’une valeur par rapport à la moyenne, en nombre d’écarts-types. Sa formule est :
Z = (x - μ) / σ
- x : la valeur à évaluer
- μ : la moyenne de la série
- σ : l’écart-type
Plus le Z-score est élevé (en valeur absolue), plus la valeur est éloignée de la moyenne. En pratique, on considère souvent qu’une valeur est aberrante si son Z-score est supérieur à 3 ou inférieur à -3, c’est-à-dire :
|Z| > 3
Exemple
valeurs = [10, 12, 14, 13, 11, 100] # 100 semble anormal
Calcul de la moyenne et de l’écart-type :
μ = 26.67
σ ≈ 32.29
Calcul du Z-score pour 100 :
Z = (100 - 26.67) / 32.29 ≈ 2.27
Dans cet exemple, 100 a un Z-score de 2.27, ce qui reste inférieur à 3. Cependant, si la distribution était plus resserrée ou l’écart-type plus faible, ce point pourrait dépasser le seuil.
Implémentation en Python
import pandas as pd
from scipy.stats import zscore
# Exemple de données
df = pd.DataFrame({"valeurs": [10, 12, 14, 13, 11, 100]})
# Calcul des Z-scores
df["zscore"] = zscore(df["valeurs"])
# Détection des outliers
df["outlier"] = df["zscore"].abs() > 3
print(df)
Résultat :
valeurs zscore outlier
0 10 -0.562 False
1 12 -0.500 False
2 14 -0.438 False
3 13 -0.469 False
4 11 -0.531 False
5 100 2.500 False
Aucun point ne dépasse le seuil de 3 dans ce cas précis. Mais dans un jeu de données plus grand ou avec des écarts plus marqués, le seuil de 3 permet une bonne identification des extrêmes.
Personnalisation du seuil
Le seuil de 3 est une règle empirique issue de la loi normale. On peut l’ajuster selon les besoins :
- |Z| > 2.5 : détection plus sensible
- |Z| > 4 : détection plus stricte
Dans le cas de données très sensibles aux extrêmes, il est recommandé d’analyser la distribution à l’aide d’histogrammes ou de boxplots avant de fixer le seuil.
Limites de la méthode
- Le Z-score suppose que la distribution est normale ou proche de la normale.
- La présence d’un outlier peut influencer la moyenne et l’écart-type, faussant le calcul des autres Z-scores.
- Sur des petits échantillons, la méthode est moins fiable.
Conclusion
La méthode du Z-score est simple, rapide et utile pour détecter des valeurs aberrantes dans des jeux de données symétriques et proches d’une loi normale. Elle constitue une première étape d’exploration des données, à compléter par d’autres techniques (comme l’IQR ou les méthodes robustes) en fonction du contexte et de la distribution des données.