¿Por qué estadística robusta?
El desvío estándar es una medida de dispersión muy útil, pero tiene una debilidad crítica: una sensibilidad extrema a los valores atípicos. Un solo valor extremo puede inflar drásticamente el DE, dando 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, lo que las hace esenciales para datos del mundo real donde los errores de medición, los errores de carga de datos o los casos genuinamente extremos son frecuentes.
Ejemplo: el efecto de un valor atípico
Punto de quiebre
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:
MAD Formula
Encontrar la mediana
Calcular las desviaciones
Encontrar la MAD
Escalado de MAD para estimar σ: Para datos distribuidos normalmente, MAD ≈ 0,6745 × σ. Para estimar el DE a partir de la MAD, multiplicá por 1,4826:
SD Estimate from MAD
¿Por qué 1,4826?
Rango Intercuartílico (RIC)
El RIC mide la dispersión del 50% central de los datos, es decir, el rango entre los percentiles 25 y 75:
IQR Formula
El RIC es ampliamente utilizado porque es simple de entender, fácil de visualizar en diagramas de caja y constituye la base de la regla habitual de “1,5×RIC” para la detección de valores atípicos.
Escalado del RIC para estimar σ: Para datos normales, RIC ≈ 1,35 × σ. Para estimar el DE a partir del RIC:
SD Estimate from IQR
Comparación de medidas robustas
Desvío estándar
MAD
RIC
Cuándo usar estadística robusta
- Análisis exploratorio: cuando no sabés si existen valores atípicos, empezá 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, reclamos de seguros)
- Muestras pequeñas: cuando los valores atípicos tienen un impacto desproporcionado debido a las pocas observaciones
- Detección de valores atípicos: usar el DE para detectar valores atípicos es circular; usá el RIC o la 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}")