Short paper · Ciencia de datos

Detección multivariante de outliers

Mahalanobis, Mahalanobis robusta e Isolation Forest frente a frente: cuántos outliers detecta cada método y cómo cambia el desempeño de un modelo de fuga de clientes al limpiarlos.

Carlos RondánSenior Data Scientist · CEO de FUTURA · 2024 · Lectura de 7 min
Portada del artículo Detección multivariante de outliers
Esquema · Mahalanobis
  • Observación
  • Distancia 1 y 2
  • Umbral de corte
  • Outlier detectado

Resumen

Este estudio compara tres métodos de detección de outliers en datos multivariados: la distancia de Mahalanobis, su versión robusta y el algoritmo Isolation Forest. Su efectividad se evalúa sobre un conjunto de datos real de fuga de clientes bancarios y, posteriormente, se entrenan modelos de clasificación para examinar el impacto de la limpieza de outliers. Los resultados muestran diferencias relevantes tanto en la detección como en su efecto sobre el desempeño de los modelos, y ofrecen una guía práctica para seleccionar el método de detección en análisis de datos avanzados.

Palabras clave Detección de outliersAnálisis multivarianteDistancia de MahalanobisMahalanobis robustaIsolation Forest
33 · 67 · ~100outliers detectados por Mahalanobis, Mahalanobis robusta e Isolation Forest
62.2%mejor F1 en SVM, obtenido tras limpiar con Mahalanobis robusta
0.825mayor AUC en SVM, obtenido tras limpiar con Isolation Forest
Contenido

Introducción

La detección de outliers es un desafío crítico en el análisis de datos multivariados, con implicaciones en aplicaciones que van desde la detección de fraude hasta el análisis de datos biomédicos. Los outliers pueden aportar información valiosa o, por el contrario, llevar a conclusiones erróneas si no se manejan adecuadamente.

En este estudio profundizamos en tres metodologías para identificarlos: la tradicional distancia de Mahalanobis[1], su adaptación robusta[2,3] y el método Isolation Forest[4]. Cada técnica aborda el problema desde un enfoque distinto, y compararlas directamente permite entender sus fortalezas y limitaciones en un contexto práctico, así como su efecto en la precisión de los modelos predictivos.

Metodología

Aplicamos tres técnicas distintas de detección de outliers sobre un conjunto de datos multivariante y evaluamos cómo su limpieza afecta a dos modelos de clasificación.

Dataset

Utilizamos el conjunto de datos Churn Modelling de Kaggle, ampliamente usado en el análisis predictivo de la rotación de clientes en banca. Contiene 10,000 registros con información demográfica, de productos y de comportamiento de los clientes de un banco. Los campos clave son:

  • CustomerId identificador único del cliente
  • Surname apellido del cliente
  • CreditScore puntuación de crédito
  • Geography país de residencia
  • Gender género
  • Age edad
  • Tenure años como cliente del banco
  • Balance saldo bancario
  • NumOfProducts número de productos contratados
  • HasCrCard tiene tarjeta de crédito
  • IsActiveMember es miembro activo
  • EstimatedSalary salario estimado
  • Exited abandonó el banco (variable objetivo)

Técnicas de detección de outliers

Distancia de Mahalanobis

La distancia de Mahalanobis[1] mide qué tan lejos está un punto de una distribución, teniendo en cuenta la correlación entre variables:

$$D_M(\vec{x}) = \sqrt{(\vec{x} - \vec{\mu})^\top \boldsymbol{\Sigma}^{-1} (\vec{x} - \vec{\mu})}$$

donde \(\vec{x}\) es el vector de observación, \(\vec{\mu}\) el vector de medias de la muestra y \(\boldsymbol{\Sigma}\) la matriz de covarianza, que captura las covarianzas entre cada par de variables.

Distancia de Mahalanobis robusta

La versión robusta[3] evita que los propios outliers distorsionen la media y la covarianza. Para ello las estima con el algoritmo de determinante de covarianza mínimo (MCD)[2] y calcula la distancia de la misma forma:

$$D_{MR}(\vec{x}) = \sqrt{(\vec{x} - \vec{\mu}_{\text{rob}})^\top \boldsymbol{\Sigma}_{\text{rob}}^{-1} (\vec{x} - \vec{\mu}_{\text{rob}})}$$
import numpy as np
from sklearn.covariance import MinCovDet

# Minimum Covariance Determinant
robust_cov = MinCovDet().fit(data[numerical_cols])

# Media y covarianza del estimador robusto
robust_mean = robust_cov.location_
robust_cov_matrix = robust_cov.covariance_
robust_cov_matrix_inv = np.linalg.inv(robust_cov_matrix)

def mahalanobis(x, mean, inv_cov_matrix):
    x_minus_mu = x - mean
    return np.dot(np.dot(x_minus_mu, inv_cov_matrix), x_minus_mu.T)

Cálculo de la distancia de Mahalanobis robusta en Python con scikit-learn.

Isolation Forest

Isolation Forest[4] no mide distancias: aísla los puntos. Construye árboles aleatorios que, en cada nodo, eligen un atributo al azar y un valor de corte entre su mínimo y su máximo. Un outlier necesita pocas divisiones para quedar aislado, así que la profundidad media se convierte en un puntaje de anormalidad:

$$s(\vec{x}, n) = 2^{-\frac{E(h(\vec{x}))}{c(n)}}$$

donde \(E(h(\vec{x}))\) es el número promedio de divisiones necesarias para aislar \(\vec{x}\) y \(c(n)\) es un factor de normalización que depende del tamaño de la muestra \(n\).

Modelos de clasificación

Regresión logística

Estima la probabilidad de que una observación pertenezca a la clase positiva:

$$P(Y=1 \mid \mathbf{x}) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \dots + \beta_n x_n)}}$$

donde \(\beta_0, \dots, \beta_n\) son los coeficientes del modelo y \(x_1, \dots, x_n\) las características de la observación.

Máquinas de vectores de soporte (SVM)

Buscan el hiperplano que mejor separa las clases en el espacio de características:

$$\mathbf{w}^\top \mathbf{x} + b = 0$$

donde \(\mathbf{w}\) es el vector de pesos, perpendicular al hiperplano, y \(b\) el término de sesgo.

Métricas de evaluación

Usamos cuatro métricas, expresadas en términos de verdaderos positivos (VP), falsos positivos (FP) y falsos negativos (FN):

$$\text{Precisión} = \frac{\text{VP}}{\text{VP} + \text{FP}} \qquad \text{Recall} = \frac{\text{VP}}{\text{VP} + \text{FN}}$$
$$\text{F1} = 2 \times \frac{\text{Precisión} \times \text{Recall}}{\text{Precisión} + \text{Recall}} \qquad \text{AUC} = \int_0^1 \text{ROC}(t)\,dt$$

La precisión mide cuántas predicciones positivas son correctas; el recall, cuántos positivos reales detecta el modelo; el F1 equilibra ambas, y el AUC resume la capacidad de distinguir entre clases (1 es perfecto; 0.5 equivale al azar).

Resultados

Consideraciones previas

Más de un tercio de las cuentas tiene saldo cero, así que dividimos los datos en dos grupos:

Balance (saldo)CantidadProporción
Saldo positivo6,38363.83%
Saldo nulo (0)3,61736.17%
Distribución de la variable Balance.
  1. Para la limpieza de datos nos centramos en el grupo con saldo positivo.
  2. La edad presenta asimetría positiva, por lo que aplicamos una transformación logarítmica antes de calcular las distancias de Mahalanobis.
  3. Para Isolation Forest proyectamos los datos con PCA y así visualizar mejor el patrón de los puntos anómalos.
Distancia de Mahalanobis estándar por observación con 33 outliers sobre el umbral
Figura 1a. Mahalanobis estándar: 33 outliers. La línea discontinua verde marca el umbral.
Distancia de Mahalanobis robusta por observación con 67 outliers sobre el umbral
Figura 1b. Mahalanobis robusta: 67 outliers.
Proyección PCA con los outliers de Isolation Forest marcados en rojo
Figura 1c. Isolation Forest sobre la proyección PCA: alrededor de 100 puntos marcados como outliers (en rojo), claramente diferenciados del conjunto principal.

Con cada una de las tres limpiezas entrenamos dos modelos, regresión logística y SVM, y los evaluamos con precisión, recall, F1 y AUC.

Impacto en la regresión logística

La distancia de Mahalanobis estándar ofreció un AUC de 0.752, mientras que la versión robusta e Isolation Forest alcanzaron 0.774 y 0.772, una ligera mejora en la capacidad de discriminación. En precisión, recall y F1, en cambio, la distancia estándar mostró un rendimiento más consistente, especialmente en recall y F1.

Curvas ROC comparativas de la regresión logística para las tres técnicas de limpieza
Figura 2. Curvas ROC de la regresión logística tras excluir outliers: Mahalanobis estándar (verde, AUC = 0.752), Mahalanobis robusta (rojo, AUC = 0.774) e Isolation Forest (azul, AUC = 0.772). La línea punteada representa la clasificación aleatoria.

Impacto en SVM

LimpiezaPrecisiónRecallF1AUC
Mahalanobis estándar55.21%63.84%59.21%0.808
Mahalanobis robusta55.76%70.28%62.21%0.817
Isolation Forest50.54%72.68%59.62%0.825
Desempeño de SVM según la técnica de limpieza. En azul, el mejor valor de cada métrica.

Isolation Forest maximiza el recall y el AUC, pero a costa de la precisión. La distancia de Mahalanobis robusta logra el mejor equilibrio entre precisión y recall, con el F1 más alto (62.21%) y un AUC de 0.817.

Curvas ROC comparativas de SVM para las tres técnicas de limpieza
Figura 3. Curvas ROC de SVM tras excluir outliers: Mahalanobis estándar (verde, AUC = 0.808), Mahalanobis robusta (rojo, AUC = 0.817) e Isolation Forest (azul, AUC = 0.825). La línea punteada representa la clasificación aleatoria.

En la práctica: la elección depende del objetivo. Si importa no dejar escapar a ningún cliente en riesgo, Isolation Forest ofrece el mayor recall; si se busca un balance entre aciertos y falsas alarmas, la distancia de Mahalanobis robusta es la opción más equilibrada.

Conclusiones

Este estudio analizó el impacto de distintas técnicas de tratamiento de outliers en la eficacia de la regresión logística y SVM para predecir la fuga de clientes bancarios. Los resultados indican que elegir bien el método de limpieza es fundamental para optimizar los modelos predictivos.

En la regresión logística, técnicas como la distancia de Mahalanobis robusta mejoran la capacidad de discriminación del modelo. En SVM, la versión robusta emergió como la técnica más equilibrada, con el F1 más alto y un AUC consistente.

La implicación práctica es clara: un preprocesamiento adecuado mejora la identificación de clientes con alta probabilidad de abandono y permite a las instituciones bancarias intervenir de forma proactiva para retenerlos.

Referencias

  1. Mahalanobis PC. On the generalized distance in statistics. Proceedings of the National Institute of Sciences of India. 1936;2(1):49–55.
  2. Rousseeuw PJ, Van Driessen K. A fast algorithm for the minimum covariance determinant estimator. Technometrics. 1999;41(3):212–223. doi:10.1080/00401706.1999.10485670
  3. Cabana E, Lillo RE, Laniado H. Multivariate outlier detection based on a robust Mahalanobis distance with shrinkage estimators. Statistical Papers. 2021;62:1583–1609. doi:10.1007/s00362-019-01148-1
  4. Liu FT, Ting KM, Zhou ZH. Isolation Forest. En: 2008 Eighth IEEE International Conference on Data Mining. 2008:413–422. doi:10.1109/ICDM.2008.17
Sobre el autor
Carlos RondánSenior Data Scientist · CEO de FUTURA

Parte de Discover: viz de coyuntura e investigación con datos reales, fuentes citadas y método a la vista.