La Detección y Tratamiento de Outliers (Valores Atípicos) constituye una de las tareas más importantes dentro de la fase de Data Preparation (Preparación de los Datos). Su objetivo consiste en identificar observaciones que presentan un comportamiento significativamente diferente al resto de los datos y decidir la estrategia más adecuada para gestionarlas.
Los outliers pueden aparecer por múltiples causas: errores de captura, fallos en sensores, problemas durante la integración de datos o simplemente porque representan casos reales pero poco frecuentes. Por este motivo, no todos los valores atípicos deben eliminarse automáticamente. En muchos proyectos, precisamente esos valores contienen la información más valiosa.
En este artículo se presenta una visión conceptual sobre la detección y tratamiento de outliers. En artículos posteriores se estudiarán de forma individual las principales técnicas de detección y tratamiento.
¿Qué son los outliers?
Un outlier o valor atípico es una observación cuyo valor se aleja considerablemente del comportamiento general del conjunto de datos.
Estos valores pueden ser:
- Mucho mayores que el resto.
- Mucho menores que el resto.
- Observaciones con combinaciones inusuales de variables.
- Casos poco frecuentes pero legítimos.
Los outliers no siempre representan errores.
En muchos casos corresponden a:
- Fraudes.
- Enfermedades poco frecuentes.
- Clientes con un comportamiento excepcional.
- Eventos extremos.
- Cambios importantes en un proceso.
Por ello, antes de tratarlos es imprescindible comprender su origen.
Objetivos de la detección y tratamiento de outliers
Esta actividad persigue diversos objetivos.
Entre los principales destacan:
- Identificar observaciones anómalas.
- Mejorar la calidad del conjunto de datos.
- Reducir el ruido.
- Mejorar el rendimiento de los modelos.
- Evitar sesgos estadísticos.
- Detectar errores de captura.
- Descubrir eventos excepcionales de interés.
Preguntas que debe responder
Antes de tratar los valores atípicos conviene responder varias preguntas.
Sobre los datos
- ¿Existen valores atípicos?
- ¿Cuántos outliers hay?
- ¿Qué porcentaje representan?
- ¿En qué variables aparecen?
Sobre su origen
- ¿Son errores de medición?
- ¿Se produjeron durante la captura de datos?
- ¿Son casos reales del negocio?
- ¿Representan fenómenos poco frecuentes?
Sobre el tratamiento
- ¿Conviene eliminarlos?
- ¿Es mejor transformarlos?
- ¿Deben mantenerse?
- ¿Afectan al algoritmo utilizado?
Responder correctamente a estas preguntas evita eliminar información importante.
Resultado esperado
Al finalizar esta fase debería disponerse de:
- Un informe de los outliers detectados.
- Una clasificación según su origen.
- Una estrategia de tratamiento documentada.
- Un conjunto de datos preparado para el modelado.
- Una justificación de las decisiones tomadas.
El objetivo no consiste en eliminar todos los valores atípicos, sino en tratarlos adecuadamente según el contexto.
Flujo de trabajo
Una estrategia habitual sigue el siguiente flujo.
- Analizar las variables.
- Detectar posibles outliers.
- Validar si representan errores o casos reales.
- Seleccionar el método de tratamiento.
- Aplicar la transformación correspondiente.
- Validar el impacto sobre el conjunto de datos.
- Documentar todas las decisiones.
Este proceso puede repetirse varias veces durante la preparación de los datos.
¿Cómo funciona?
La detección de outliers consiste en buscar observaciones cuyo comportamiento difiere significativamente del resto.
Para ello pueden utilizarse distintos enfoques.
- Métodos estadísticos.
- Métodos basados en distancias.
- Métodos basados en densidad.
- Algoritmos de Machine Learning.
- Inspección visual.
Una vez detectados, se decide la estrategia más adecuada para gestionarlos.
Tipos de outliers
- Outliers globales: Son observaciones claramente alejadas del resto del conjunto de datos.
- Outliers contextuales: Solo son atípicos dentro de un determinado contexto. Ejemplo: Una temperatura de 35 °C puede ser normal en verano y extraordinaria en invierno.
- Outliers colectivos: Un grupo de observaciones forma un patrón anómalo. Ejemplo: Una serie de transacciones consecutivas con un comportamiento inusual. Este tipo es frecuente en detección de fraude y análisis de series temporales.
¿Por qué aparecen los outliers?
Los valores atípicos pueden tener diferentes orígenes.
- Errores humanos.
- Errores de captura.
- Fallos en sensores.
- Problemas durante la integración de datos.
- Cambios reales del negocio.
- Eventos excepcionales.
- Errores de conversión de unidades.
- Casos legítimos poco frecuentes.
Comprender el origen resulta mucho más importante que aplicar automáticamente una técnica de eliminación.
Métodos de detección de outliers
Existen numerosos métodos para detectar valores atípicos.
| Método | Tipo | Variables |
|---|---|---|
| Inspección visual | Exploratorio | Todas |
| Boxplot | Estadístico | Numéricas |
| Rango Intercuartílico (IQR) | Estadístico | Numéricas |
| Z-Score | Estadístico | Distribuciones aproximadamente normales |
| Modified Z-Score | Estadístico | Más robusto frente a outliers |
| Isolation Forest | Machine Learning | Grandes conjuntos de datos |
| Local Outlier Factor (LOF) | Basado en densidad | Datos complejos |
| DBSCAN | Clustering | Datos espaciales |
| One-Class SVM | Machine Learning | Detección de anomalías |
Cada uno de estos métodos se desarrollará en un artículo independiente.
Estrategias de tratamiento
Una vez detectados los outliers existen varias estrategias.
| Estrategia | Cuándo utilizarla |
|---|---|
| Mantenerlos | Casos reales del negocio |
| Eliminarlos | Errores evidentes |
| Imputarlos | Datos erróneos recuperables |
| Transformar la variable | Distribuciones muy sesgadas |
| Winsorización | Limitar valores extremos |
| Escalado robusto | Reducir el impacto sin eliminarlos |
No existe una estrategia universal.
Detección vs Tratamiento de Outliers
Aunque suelen aparecer conjuntamente, representan actividades diferentes.
| Detección de Outliers | Tratamiento de Outliers |
|---|---|
| Identifica valores atípicos | Decide cómo gestionarlos |
| Analiza el comportamiento | Modifica o conserva los datos |
| No altera el conjunto de datos | Produce un nuevo conjunto preparado |
| Es una fase analítica | Es una fase de transformación |
Primero se detectan; después se decide el tratamiento.
¿Cuándo utilizar la detección de outliers?
Es recomendable aplicar esta tarea cuando:
- Se trabaja con variables numéricas.
- Existen distribuciones muy dispersas.
- Se sospecha de errores de captura.
- Se entrenan modelos sensibles a valores extremos.
- Se realiza análisis exploratorio.
- Se integran múltiples fuentes de datos.
En prácticamente cualquier proyecto de Ciencia de Datos resulta conveniente analizar la presencia de outliers.
Ventajas y desventajas
| Ventajas | Desventajas |
|---|---|
| Mejora la calidad del dataset | Puede eliminar información valiosa |
| Reduce el ruido | Requiere conocimiento del negocio |
| Facilita el entrenamiento | Algunos métodos son sensibles a la distribución |
| Mejora determinadas métricas | No existe un método universal |
| Permite detectar anomalías reales | Puede requerir validación manual |
Limitaciones
La detección y tratamiento de outliers presenta algunas limitaciones.
- No todos los métodos funcionan con cualquier distribución.
- Algunos algoritmos detectan demasiados falsos positivos.
- Un mismo valor puede ser normal en un contexto y anómalo en otro.
- La eliminación automática puede reducir la capacidad predictiva.
- El tratamiento depende tanto del algoritmo como del problema de negocio.
Por ello, siempre debe combinarse el análisis estadístico con el conocimiento del dominio.
Relación con la fase de Data Preparation
La detección y tratamiento de outliers suele realizarse después de la limpieza básica del conjunto de datos.
Un flujo habitual sería:
- Corrección de tipos de datos.
- Eliminación de duplicados.
- Tratamiento de valores nulos.
- Detección de outliers.
- Tratamiento de outliers.
- Transformación de variables.
- Ingeniería de Características.
- Escalado y normalización.
- Selección de variables.
Este orden evita que los valores extremos distorsionen transformaciones posteriores.
Relación con los algoritmos de Machine Learning
No todos los algoritmos se ven afectados por los outliers de la misma forma.
| Muy sensibles | Poco sensibles |
|---|---|
| Regresión Lineal | Random Forest |
| K-Nearest Neighbors (KNN) | XGBoost |
| K-Means | LightGBM |
| PCA | CatBoost |
| Support Vector Machine (SVM) | Árboles de Decisión |
Esta diferencia influye en la necesidad de tratar los valores atípicos antes del entrenamiento. En algunos casos, detectar el outlier constituye el propio objetivo del proyecto.
Buenas prácticas
Para detectar y tratar correctamente los outliers se recomienda:
- Analizar siempre el origen de los valores atípicos antes de modificarlos.
- Combinar métodos estadísticos con conocimiento del dominio.
- Comparar diferentes técnicas de detección en lugar de depender de una sola.
- Documentar los criterios utilizados para identificar y tratar los outliers.
- Validar el impacto del tratamiento sobre el rendimiento del modelo.
- Evitar eliminar automáticamente observaciones sin justificar la decisión.
- Mantener una copia del conjunto de datos original para facilitar la trazabilidad.
- Seleccionar la estrategia de tratamiento en función del algoritmo de Machine Learning que se utilizará posteriormente.