¿Por qué estadística robusta?
La desviación estándar es una medida de dispersión poderosa, pero tiene una debilidad crítica: sensibilidad extrema a los valores atípicos. Un solo valor extremo puede incrementar drásticamente la DE, proporcionando una imagen engañosa de la variación típica.
La estadística robusta proporciona medidas de dispersión que resisten la influencia de los valores atípicos, siendo esenciales para datos del mundo real donde los errores de medición, los errores de ingreso de datos o los casos genuinamente extremos son habituales.
Ejemplo: El efecto de los valores atípicos
Punto de ruptura
Desviación absoluta mediana (MAD)
La MAD es la medida de dispersión más robusta. Calcula la mediana de las desviaciones absolutas respecto a la mediana:
Fórmula de la MAD
Calcular la mediana
Calcular las desviaciones
Obtener la MAD
Escalar la MAD para estimar σ: Para datos con distribución normal, MAD ≈ 0.6745 × σ. Para estimar la DE a partir de la MAD, multiplique por 1.4826:
Estimación de DE a partir de MAD
¿Por qué 1.4826?
Rango intercuartílico (IQR)
El IQR mide la dispersión del 50% central de los datos: el rango entre los percentiles 25 y 75:
Fórmula del IQR
El IQR se utiliza ampliamente porque es simple de entender, fácil de visualizar en diagramas de caja y constituye la base de la regla común "1.5×IQR" para la detección de valores atípicos.
Escalar el IQR para estimar σ: Para datos normales, IQR ≈ 1.35 × σ. Para estimar la DE a partir del IQR:
Estimación de DE a partir de IQR
Comparación de medidas robustas
Desviación estándar
MAD
IQR
Cuándo usar estadística robusta
- Análisis exploratorio: Cuando no se sabe si existen valores atípicos, comience con medidas robustas
- Problemas de calidad de datos: Cuando los datos pueden contener errores o problemas de medición
- Distribuciones de colas pesadas: Cuando se esperan valores extremos (rendimientos financieros, reclamaciones de seguros)
- Muestras pequeñas: Cuando los valores atípicos tienen un impacto desproporcionado debido al escaso número de observaciones
- Detección de valores atípicos: Usar la DE para detectar valores atípicos es circular; utilice IQR o MAD en su lugar
Ejemplos de implementación
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}")