Pourquoi les statistiques robustes ?
L’écart type est une mesure de dispersion puissante, mais il présente une faiblesse critique : une sensibilité extrême aux valeurs aberrantes. Une seule valeur extrême peut gonfler considérablement l’écart type, donnant une image trompeuse de la variation typique.
Les statistiques robustes fournissent des mesures de dispersion qui résistent à l’influence des valeurs aberrantes, ce qui les rend essentielles pour les données réelles où les erreurs de mesure, les erreurs de saisie ou les cas extrêmes authentiques sont courants.
Exemple : L’effet des valeurs aberrantes
Point de rupture
Écart absolu médian (MAD)
Le MAD est la mesure de dispersion la plus robuste. Il calcule la médiane des écarts absolus par rapport à la médiane :
Formule du MAD
Trouver la médiane
Calculer les écarts
Trouver le MAD
Mise à l’échelle du MAD pour estimer σ : Pour des données normalement distribuées, MAD ≈ 0,6745 × σ. Pour estimer l’écart type à partir du MAD, multiplier par 1,4826 :
Estimation de l’écart type à partir du MAD
Pourquoi 1,4826 ?
Écart interquartile (IQR)
L’IQR mesure la dispersion des 50 % centraux des données — l’écart entre le 25e et le 75e centile :
Formule de l’IQR
L’IQR est largement utilisé car il est simple à comprendre, facile à visualiser dans les boîtes à moustaches, et constitue la base de la règle courante « 1,5×IQR » pour la détection des valeurs aberrantes.
Mise à l’échelle de l’IQR pour estimer σ : Pour des données normales, IQR ≈ 1,35 × σ. Pour estimer l’écart type à partir de l’IQR :
Estimation de l’écart type à partir de l’IQR
Comparaison des mesures robustes
Écart type
MAD
IQR
Quand utiliser les statistiques robustes
- Analyse exploratoire : Quand vous ignorez si des valeurs aberrantes existent, commencez par les mesures robustes
- Problèmes de qualité des données : Quand les données peuvent contenir des erreurs ou des problèmes de mesure
- Distributions à queues lourdes : Quand des valeurs extrêmes sont attendues (rendements financiers, sinistres d’assurance)
- Petits échantillons : Quand les valeurs aberrantes ont un impact disproportionné en raison du peu d’observations
- Détection de valeurs aberrantes : Utiliser l’écart type pour détecter les valeurs aberrantes est circulaire ; utilisez plutôt l’IQR ou le MAD
Exemples d’implémentation
import numpy as np
from scipy import stats
def mad(data):
"""Median Absolute Deviation"""
median = np.median(data)
return np.median(np.abs(data - median))
def scaled_mad(data):
"""MAD scaled to estimate SD (for normal data)"""
return 1.4826 * mad(data)
def iqr(data):
"""Interquartile Range"""
return np.percentile(data, 75) - np.percentile(data, 25)
# Compare on data with outlier
data = [10, 12, 11, 13, 12, 11, 100]
print(f"SD: {np.std(data, ddof=1):.2f}")
print(f"MAD: {mad(data):.2f}")
print(f"Scaled MAD: {scaled_mad(data):.2f}")
print(f"IQR: {iqr(data):.2f}")