En los proyectos de Data Science y Machine Learning, es habitual encontrar variables numéricas con valores atípicos (outliers) que pueden distorsionar significativamente los procesos de análisis y modelado. Cuando se aplican técnicas de escalado tradicionales como Min-Max Scaling o Standardization (Z-Score), estos valores extremos pueden influir en los parámetros utilizados para la transformación, produciendo resultados poco representativos para la mayoría de las observaciones.
Para solucionar este problema, Scikit-Learn proporciona una técnica denominada Robust Scaling, diseñada específicamente para escalar variables numéricas utilizando medidas estadísticas robustas que son menos sensibles a los valores extremos.
Esta técnica es especialmente útil cuando se trabaja con datos reales, donde la presencia de outliers es frecuente y no siempre es conveniente eliminarlos.
¿Qué es Robust Scaling?
Robust Scaling es una técnica de escalado que transforma las variables utilizando:
- La mediana como medida de tendencia central.
- El rango intercuartílico (IQR) como medida de dispersión.
A diferencia de StandardScaler, que utiliza la media y la desviación estándar, RobustScaler emplea estadísticas que apenas se ven afectadas por valores extremos. El objetivo es conseguir que las variables tengan una escala comparable sin que los outliers distorsionen la transformación.

¿Cómo Funciona?
La transformación consiste en restar la mediana a cada observación y dividir posteriormente por el rango intercuartílico.
La fórmula utilizada es:
$$x’=\frac{x-Q_2}{Q_3-Q_1}$$
Donde:
- Q₁ representa el primer cuartil (25%).
- Q₂ representa la mediana (50%).
- Q₃ representa el tercer cuartil (75%).
- Q₃ – Q₁ corresponde al rango intercuartílico (IQR).
Como resultado:
- La mediana queda centrada en 0.
- La escala se basa en el rango central de los datos.
- Los valores extremos tienen una influencia mucho menor.
Conceptos Clave
Para comprender Robust Scaling es necesario conocer los cuartiles. Supongamos la siguiente distribución ordenada:
10, 15, 20, 25, 30, 35, 40, 45, 50Los cuartiles serían:
- Q1 = 20
- Mediana (Q2) = 30
- Q3 = 40
Por tanto:
IQR = Q3 - Q1 = 40 - 20 = 20El rango intercuartílico representa la dispersión del 50% central de los datos, ignorando los extremos.
Beneficios de Robust Scaling
- Reduce la influencia de valores atípicos.
- Utiliza estadísticas robustas frente a observaciones extremas.
- Facilita la comparación entre variables con distintas magnitudes.
- Mantiene la estructura general de los datos.
- Mejora el comportamiento de algoritmos sensibles a la escala.
- Resulta especialmente útil en conjuntos de datos reales con ruido.
¿Cuándo Utilizar Robust Scaling?
- Existen valores atípicos significativos.
- No se desea eliminar los outliers.
- Las variables presentan distribuciones con colas largas.
- Se utilizan algoritmos sensibles a la escala.
- Los datos provienen de fuentes reales con alta variabilidad.
También suele ser una excelente alternativa cuando StandardScaler produce resultados poco satisfactorios debido a la presencia de observaciones extremas.
Ventajas
- Es mucho menos sensible a outliers que Min-Max Scaling y StandardScaler.
- Mantiene la información de los datos extremos.
- No requiere eliminar observaciones atípicas.
- Es sencillo de implementar.
- Funciona correctamente con distribuciones no normales.
- Mejora la estabilidad de muchos algoritmos.
Desventajas
- No elimina los valores atípicos.
- Los outliers continúan presentes en el conjunto de datos.
- No corrige problemas de asimetría.
- No transforma la distribución hacia una forma normal.
- Puede ser menos intuitivo de interpretar que Min-Max Scaling.
- No siempre ofrece mejoras cuando los datos carecen de valores extremos.
Limitaciones
Es importante entender que Robust Scaling no sustituye otras técnicas de preparación de datos.
Entre sus principales limitaciones se encuentran:
- No reduce la asimetría de una distribución.
- No corrige heterocedasticidad.
- No elimina errores de captura de datos.
- No aproxima la distribución a una normal.
- No reemplaza el tratamiento específico de outliers cuando estos son errores evidentes.
Si el objetivo es corregir distribuciones sesgadas, técnicas como Box-Cox o Yeo-Johnson suelen ser más adecuadas.
Comparación con Otros Métodos de Escalado
| Característica | Min-Max | StandardScaler | RobustScaler |
|---|---|---|---|
| Utiliza media | No | Sí | No |
| Utiliza mediana | No | No | Sí |
| Utiliza desviación estándar | No | Sí | No |
| Utiliza IQR | No | No | Sí |
| Sensible a outliers | Alta | Alta | Baja |
| Escala fija | Sí | No | No |
| Adecuado para datos con outliers | No | Parcialmente | Sí |
Aplicaciones en Data Science y Machine Learning
Robust Scaling se utiliza frecuentemente en:
- Regresión Lineal.
- Regresión Logística.
- Support Vector Machines (SVM).
- K-Nearest Neighbors (KNN).
- K-Means.
- Redes Neuronales.
- PCA.
- Modelos de clustering.
- Sistemas de detección de anomalías.
Es especialmente útil cuando los datos contienen valores extremos que no deben eliminarse porque representan situaciones reales del negocio.
Implementación en Python
Aplicación Básica con Scikit-Learn
from sklearn.preprocessing import RobustScaler
import pandas as pd
df = pd.DataFrame({
"salario": [20000, 25000, 28000, 30000, 32000, 35000, 500000]
})
scaler = RobustScaler()
df["salario_robust"] = scaler.fit_transform(df[["salario"]])
print(df)
Escalado de varias variables
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
X_scaled = scaler.fit_transform(X)
Personalización del Rango Intercuartílico
Por defecto se utiliza el rango comprendido entre los percentiles 25 y 75. Sin embargo, puede modificarse:
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler(
quantile_range=(10, 90)
)
X_scaled = scaler.fit_transform(X)
Uso dentro de un Pipeline
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import RobustScaler
from sklearn.linear_model import LogisticRegression
pipeline = Pipeline([
("scaler", RobustScaler()),
("model", LogisticRegression())
])
pipeline.fit(X_train, y_train)
Esta es la forma recomendada para evitar problemas de data leakage durante el entrenamiento del modelo.
Buenas Prácticas
- Analizar previamente la presencia de outliers.
- Comparar los resultados con StandardScaler y MinMaxScaler.
- Ajustar el escalador únicamente con los datos de entrenamiento.
- Aplicar la misma transformación a los datos de prueba.
- Integrar el proceso dentro de un Pipeline.
- Evaluar si los valores extremos representan errores o información relevante.
Conclusión
Robust Scaling es una técnica de escalado diseñada para trabajar eficazmente con conjuntos de datos que contienen valores atípicos. Al utilizar la mediana y el rango intercuartílico en lugar de la media y la desviación estándar, consigue reducir significativamente la influencia de los outliers sin necesidad de eliminarlos.
Gracias a esta característica, se ha convertido en una herramienta fundamental dentro de los procesos modernos de preparación de datos para Machine Learning. Aunque no corrige problemas de asimetría ni transforma la distribución de los datos, proporciona una escala más estable y representativa cuando se trabaja con datos reales que contienen observaciones extremas.