Σ
SDCalc
IntermédiaireConcepts·12 min

Statistiques robustes : MAD, IQR et méthodes résistantes aux valeurs aberrantes

Guide complet des statistiques robustes incluant l’écart absolu médian (MAD) et l’écart interquartile (IQR). Apprenez quand utiliser des mesures de dispersion résistantes aux valeurs aberrantes, avec des exemples et du code Python.

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

Données : 10, 12, 11, 13, 12, 11, 100 (une valeur aberrante) Écart type : 32,4 (dominé par la valeur aberrante) MAD : 1,0 (ignore la valeur aberrante) IQR : 1,5 (ignore la valeur aberrante)

Point de rupture

Le « point de rupture » d’une statistique est la proportion de données qui peut être extrême avant que la statistique ne devienne aberrante. L’écart type a un point de rupture de 0 % (une seule valeur aberrante peut le détruire). Le MAD et l’IQR ont des points de rupture de 50 % — la moitié de vos données peut être aberrante et ils fonctionnent toujours.

É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

MAD = median(|xᵢ - median(x)|)
1

Trouver la médiane

Calculer la médiane du jeu de données.
2

Calculer les écarts

Soustraire la médiane de chaque valeur et prendre la valeur absolue.
3

Trouver le MAD

Calculer la médiane de ces écarts absolus.

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

σ̂ = 1.4826 × MAD

Pourquoi 1,4826 ?

Ce facteur de mise à l’échelle provient de la relation entre le MAD et l’écart type pour les distributions normales. Il garantit que le MAD mis à l’échelle est un estimateur non biaisé du vrai écart type lorsque les données sont normales.

É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

IQR = Q3 - Q1 = 75e centile - 25e centile

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

σ̂ = IQR / 1.35 ≈ 0.7413 × IQR

Comparaison des mesures robustes

Écart type

Utilise toutes les observations · Le plus efficace pour les données normales · Très sensible aux valeurs aberrantes · Point de rupture : 0 %

MAD

Mesure la plus robuste · Utilise la médiane (pas la moyenne) · Insensible aux valeurs aberrantes · Point de rupture : 50 %

IQR

Facile à comprendre · Utilisé dans les boîtes à moustaches · Ignore les 50 % extrêmes · Point de rupture : 25 %

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

Python
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}")