Data Cleaning

La Importancia de la Limpieza de Datos (Data Cleaning)

Una vez recuperada la información de nuestras fuentes, entramos en una de las fases más críticas y que más tiempo consume en el flujo de trabajo: la limpieza de datos.

En el ámbito del Machine Learning rige una máxima fundamental: “Garbage-In, Garbage-Out” (Si entra basura, sale basura). Un modelo predictivo es un reflejo matemático directo de los datos con los que ha sido entrenado; si los datos de entrada son erróneos, ruidosos o están mal formateados, las predicciones resultantes serán completamente deficientes y carecerán de fiabilidad.

Cuando alimentamos un algoritmo con observaciones (rows) deficientes, distorsionamos de forma inmediata la relación matemática real entre nuestras características (features) y la variable objetivo (target).

El impacto de los errores en los componentes del modelo

  • Etiquetas (Labels): Si las variables de salida que intentamos predecir contienen errores humanos, el modelo aprenderá patrones falsos. Consideremos el histórico repositorio de imágenes ImageNet: si los encargados de etiquetar las fotos clasifican erróneamente un gato como un perro, el algoritmo asimilará características visuales equivocadas, frustrando la precisión final en producción.
  • Algoritmos: Los programas informáticos estiman sus parámetros asumiendo por defecto que los datos representan fielmente la realidad. No tienen la capacidad intuitiva de saber si un dato es un error de registro o un evento real.
  • Características (Features): Imagina un modelo de detección de fraude bancario donde los importes de las transacciones o las ubicaciones geográficas se registren de manera incorrecta. Un simple desfase en los dígitos puede hacer que una transacción legítima sea clasificada como fraude, o peor aún, que un patrón delictivo real pase desapercibido.

Desafíos Corporativos en la Gestión de Datos

A pesar de que los líderes empresariales priorizan el uso de la analítica avanzada, la gestión de la infraestructura de datos plantea tres grandes problemáticas operativas:

  1. Escasez de Datos (Lack of Data): Para que un modelo de Machine Learning generalice correctamente, necesita un volumen mínimo de datos relevantes. Si no existen, la organización debe reestructurar sus métodos de captura o adquirir bases de datos de terceros.
  2. Exceso de Datos e Infoxicación: Paradójicamente, poseer demasiada información fragmentada en decenas de servidores, nubes híbridas e infraestructuras on-premises satura la capacidad analítica. El problema deja de ser estadístico y se convierte en un reto de ingeniería de datos: recolectar, centralizar y unificar bajo un mismo criterio antes de programar el modelo.
  3. Calidad Deficiente de los Datos: Las encuestas del sector revelan que el 60% de los líderes empresariales se enfrentan a serias dificultades para gestionar la calidad de sus datos. La Inteligencia Artificial no puede desplegarse en una organización si sus cimientos informáticos carecen de un control de calidad riguroso.

Anatomía de los Datos Corruptos o “Sucios”

¿A qué nos referimos exactamente cuando afirmamos que un conjunto de datos está “sucio” (messy data)? Principalmente a cinco escenarios:

  • Datos Duplicados: Introducen un peso artificial y sesgan el algoritmo. En el caso del fraude con tarjetas de crédito, si una misma transacción fraudulenta se duplica por error 200 veces en la tabla, el modelo hipertrofiará la importancia de esas características específicas, memorizando un patrón artificial.
  • Texto Inconsistente y Errores Tipográficos: Las computadoras son literales. Para un algoritmo, los registros "Madrid", "madrid", "Madrid " o "Madrdi", son cuatro categorías de ciudades completamente distintas, fragmentando la potencia predictiva de la característica.
  • Datos Faltantes (Missing Data): La ausencia de registros es inevitable en el mundo real. Sin embargo, una concentración excesiva de valores nulos en columnas clave anula su utilidad, obligándonos a descartar indicadores que podrían haber sido proyectores altamente determinantes.
  • Valores Atípicos (Outliers): Valores anómalos o extremos que se desvían drásticamente de la tendencia general de la muestra. Pueden sesgar las medias estadísticas y descolocar las líneas de regresión de los modelos, ocultando la verdadera estructura matemática subyacente.
  • Conflictos de Sincronización (Sourcing): Desajustes temporales o de formato que ocurren al fusionar datos extraídos de sistemas operativos dispares (por ejemplo, cruzar bases de datos transaccionales con registros de interacciones web).

Estrategias para el Tratamiento de Datos Duplicados

Frente a las observaciones repetidas, el científico de datos no debe aplicar una política de eliminación automatizada sin antes realizar un análisis de contexto. La naturaleza del problema dicta la regla de limpieza:

¿Los duplicados representan la realidad?
 ├── SÍ (Ej. Mediciones físicas idénticas en Iris con pocos decimales) ──> MANTENER observaciones.
 └── NO (Ej. Mismo archivo de imagen subido múltiples veces) ───────────> ELIMINAR mediante filtrado.
  • Cuándo mantener los duplicados: En conjuntos de datos científicos o de mediciones biológicas (como el dataset Iris), es perfectamente factible encontrar dos flores con las mismas dimensiones de sépalo y pétalo si el instrumento de medición solo registra dos decimales. Al ser una ocurrencia real de la naturaleza, ambas observaciones deben conservarse para no alterar la distribución de probabilidad real.
  • Cuándo eliminar los duplicados: En tareas de visión artificial o clasificación de imágenes, tener copias binarias exactamente iguales del mismo archivo de imagen no aporta información nueva al proceso de aprendizaje. Al contrario, satura el almacenamiento y sesga los pesos de la red neuronal, por lo que deben ser eliminados.

Buenas Prácticas en el Laboratorio de Datos

Antes de realizar cualquier purga o eliminación física de registros, es fundamental aplicar filtros exploratorios en Pandas para inspeccionar visualmente la estructura de los duplicados. Como regla de seguridad en ingeniería de datos, nunca destruyas o sobreescribas la base de datos original; mantén siempre una copia intacta de los datos crudos por si requieres auditar o recuperar información esencial en las fases avanzadas del proyecto.

Gestión de Valores Faltantes (Missing Data)

Los modelos de Machine Learning son ecuaciones matemáticas que requieren un valor numérico o categórico en cada celda para operar; no aceptan celdas en blanco o vacías porque carecen de información para realizar cálculos. Por lo tanto, el científico de datos debe aplicar políticas consistentes para asegurar que cada característica (feature) y etiqueta (label) contengan información válida.

Existen tres estrategias principales para resolver la ausencia de datos:

                          Estrategias para Valores Faltantes
                                          
         ┌────────────────────────────────┼────────────────────────────────┐
                                                                         
Eliminación Completa             Imputación de Datos               Enmascaramiento (Masking)
(Descarte de filas/columnas)     (Sustitución estadística)        (Creación de nueva categoría)

Eliminación Completa (Deletion)

Consiste en descartar filas (observaciones) o columnas (características) enteras que contengan nulos. Si asumimos que todas las variables del dataset son útiles para el negocio, la práctica común se reduce a eliminar las filas afectadas.

  • Pros: Es una solución rápida y directa. Limpia el conjunto de datos de inmediato sin necesidad de inventar o “adivinar” un valor de reemplazo artificial.
  • Contras: Si la ausencia de datos se extiende por muchas filas, corremos el riesgo de perder un volumen crítico de información. Además, si los datos faltan por un sesgo sistemático (por ejemplo, un sensor que falla siempre a altas temperaturas), eliminar esos registros sesgará por completo el entrenamiento del modelo.

B. Imputación de Datos (Imputation)

Consiste en rellenar las celdas vacías utilizando métricas estadísticas calculadas a partir del resto de la muestra, como la media (promedio), la mediana o algoritmos predictivos más complejos (como K-Nearest Neighbors).

  • Pros: Evita la pérdida de observaciones valiosas, manteniendo la integridad del volumen del dataset para el entrenamiento del algoritmo.
  • Contras: Introduce un nuevo nivel de incertidumbre y ruido. El modelo entrenará asumiendo que esos valores estimados son certezas reales del mundo real, lo que puede debilitar su precisión en producción.

C. Enmascaramiento (Masking)

Esta técnica consiste en transformar los valores faltantes en una categoría explícita e independiente (por ejemplo, crear la categoría "Desconocido" o "No aportado"). Se aplica bajo la premisa de que la ausencia del dato en sí misma constituye una señal de información útil.

  • Ejemplo Práctico: Imaginemos una encuesta de satisfacción telefónica donde la última pregunta queda sistemáticamente en blanco. Esto puede indicar que los usuarios tienden a colgar el teléfono exhaustos antes de finalizar. Registrar esa celda vacía con la etiqueta "Colgó antes del fin" aporta un valor analítico real para el modelo.
  • Pros: Mantiene intactas las filas y columnas sin alterar artificialmente los valores numéricos mediante promedios.
  • Contras: Añade incertidumbre al asumir homogéneamente que todos los datos faltantes de esa columna ocurren por la misma razón exacta.

Identificación y Tratamiento de Valores Atípicos (Outliers)

Un valor atípico u outlier es una observación que se desvía de forma drástica y anormal respecto a la tendencia general del resto de los datos. Por lo general, representan anomalías o errores de captura que distorsionan el fenómeno real que el modelo intenta asimilar.

El peligro de ignorar los outliers

Supongamos que analizamos las ventas semanales de un comercio local. La inmensa mayoría de los registros oscila en un rango normal entre $10$ y $50$. Sin embargo, debido a un error tipográfico en el sistema, una semana registra un valor de $3000$.

Si el modelo predictivo se basa en promedios estadísticos elementales para proyectar el futuro:

  • Sin el outlier, el promedio real rondaría los $30$.
  • Al introducir el valor de $3000$ en un conjunto de datos pequeño, la media se dispara artificialmente a un rango de $200$ o $300$.

Como resultado, el modelo generará predicciones sobredimensionadas que no reflejan el comportamiento histórico real del negocio.

Nota de Contexto Analítico: Aunque muchos outliers deben ser depurados para no sesgar el algoritmo, algunos valores atípicos son altamente informativos. Un pico de $3000$ en ventas podría no ser un error, sino el reflejo de una campaña de marketing viral masiva. Investigar la raíz de un outlier suele ofrecer conclusiones estratégicas más valiosas que analizar los datos estandarizados.

Detección Visual de Outliers

El análisis exploratorio gráfico es el primer mecanismo para capturar anomalías espaciales en nuestras variables. Las librerías de visualización en Python (como Seaborn) ofrecen herramientas directas para este fin:

  • Histogramas y Gráficos de Densidad (sns.displot): Permiten evaluar la distribución de la frecuencia de los datos. Un bloque de barras aislado y muy alejado de la gran “campana” central delata la presencia de outliers.
  • Diagramas de Caja o Boxplots (sns.boxplot): Es el estándar gráfico por excelencia para identificar atípicos. Representa visualmente la mediana, los cuartiles y dibuja los valores anómalos como puntos aislados fuera de unos límites calculados conocidos como “bigotes”.
a box plot diagram showing median quartiles interquartile range and outliers, generada por IA

Implementación en Python (Seaborn)

import seaborn as sns
import matplotlib.pyplot as plt

# Generación de un gráfico de distribución (Histograma)
sns.displot(data=df, x="unemployment", bins=30)
plt.show()

# Generación de un diagrama de caja para detectar puntos atípicos
sns.boxplot(data=df, x="unemployment")
plt.show()

Detección Matemática: El Criterio del Rango Intercuartílico ($IQR$)

Para identificar y aislar matemáticamente estos puntos sin depender exclusivamente de la interpretación visual, aplicamos el método estadístico del Rango Intercuartílico ($IQR$).

El $IQR$ mide la dispersión del 50% central de los datos y se calcula restando el percentil 75 ($Q_3$) menos el percentil 25 ($Q_1$):

$$IQR = Q_3 – Q_1$$

A partir de ahí, establecemos un límite inferior y superior matemáticos (“los bigotes del boxplot”). Cualquier dato que se encuentre fuera de estas fronteras se define formalmente como un outlier:

$$\text{Límite Mínimo} = Q_1 – 1.5 \times IQR$$

$$\text{Límite Máximo} = Q_3 + 1.5 \times IQR$$

Desarrollo del Algoritmo en Python con NumPy

El siguiente bloque de código automatiza el cálculo de los límites matemáticos y utiliza técnicas de comprensión de listas (list comprehension) para extraer la lista exacta de valores que superan la frontera superior de desempleo:

Python

import numpy as np

# 1. Extracción de los percentiles estructurales de la columna
q25 = np.percentile(df["unemployment"], 25)  # Cuartil 1 (Q1)
q75 = np.percentile(df["unemployment"], 75)  # Cuartil 3 (Q3)

# 2. Cálculo del Rango Intercuartílico
iqr = q75 - q25

# 3. Definición matemática de las fronteras de tolerancia
limite_min = q25 - 1.5 * iqr
limite_max = q75 + 1.5 * iqr

# 4. Filtrado y aislamiento de los outliers superiores
outliers = [x for x in df["unemployment"] if x > limite_max]

print(f"Valores atípicos detectados por encima del límite ({limite_max}): {outliers}")

Además del método $IQR$, otra estrategia avanzada para detectar valores atípicos en modelos predictivos consiste en el análisis de residuos (evaluando residuos estandarizados, eliminados o studentizados), una técnica matemática que estudia la desviación entre las predicciones del modelo y los valores reales para capturar observaciones rebeldes. En la próxima sección profundizaremos en estas técnicas de diagnóstico avanzado.

Detección Avanzada de Outliers: El Análisis de Residuos

Además de los métodos gráficos y estadísticos tradicionales como el $IQR$, el Machine Learning nos ofrece una perspectiva alternativa para detectar anomalías mediante el uso de residuos.

¿Qué es un residuo?

En el contexto de un modelo predictivo (como una regresión), un residuo es la diferencia matemática entre el valor real observado y el valor estimado o predicho por nuestro algoritmo:

$$\text{Residuo} = \text{Valor Real} – \text{Valor Predicho}$$

Los residuos cuantifican de forma directa el fallo del modelo. Si un punto del dataset arroja un residuo inusualmente grande, significa que las reglas generales que el modelo ha aprendido no sirven para explicar esa observación concreta. Por lo tanto, ese registro se convierte en un candidato inmediato a valor atípico.

Enfoques Estadísticos Basados en Residuos

Para evaluar adecuadamente estos desvíos sin importar la escala de la variable, recurrimos a tres tratamientos matemáticos:

  1. Residuos Estandarizados (Standardized Residuals): Consiste en tomar el residuo bruto y dividirlo por su error estándar. Esta normalización es vital para dar contexto. Por ejemplo, cometer un error de $4$ unidades es insignificante si nuestra variable objetivo se mueve en un rango de millones de dólares, pero es un fallo crítico si la variable oscila únicamente entre $0$ y $5$.
  2. Residuos Eliminados (Deleted Residuals): El procedimiento consiste en extraer físicamente una observación del conjunto de datos, reentrenar el modelo predictivo sin ella y evaluar qué proyecta el nuevo algoritmo para ese punto específico. Si al retirar la observación el comportamiento general del modelo experimenta un cambio drástico, se confirma que dicho punto ejercía una influencia desproporcionada (típica de un outlier).
  3. Residuos Studentizados (Studentized Residuals): También denominados residuos studentizados externamente. Es una técnica híbrida avanzada que toma los residuos eliminados explicados en el punto anterior y los estandariza dividiéndolos por su error estándar calculado. Al aislar por completo la influencia del punto sospechoso durante el cálculo de la varianza, es uno de los criterios matemáticos más robustos para diagnosticar observaciones rebeldes en producción.

Estrategias Operativas ante la Detección de un Outlier

Una vez identificado un valor atípico mediante criterios matemáticos o de residuos, el científico de datos dispone de cinco vías de actuación. La elección de una técnica sobre otra dependerá estrictamente del contexto de negocio y del diseño de los datos.

EstrategiaProsContras
Eliminar por completo (Deletion)Pone fin inmediato a las distorsiones que el outlier causa en el algoritmo.Pérdida de información complementaria útil al destruir la fila entera.
Imputar un valor alternativoModera el impacto nocivo del pico anómalo sin necesidad de sacrificar el resto de la fila.Se destruye el valor real sustituyéndolo por una estimación artificial.
Transformación matemática de la columnaOperaciones como la transformación logarítmica compactan las escalas, integrando los extremos de forma natural.Altera la escala de interpretación original de la característica.
Modelado predictivo (Regresión)Reemplaza el dato utilizando modelos auxiliares basados en las características normales.Requiere un coste de ingeniería y computación significativamente mayor.
Conservar el valor originalMantiene intacta la naturaleza real de los datos y respeta señales que podrían ser informativas.Obliga a usar algoritmos específicos que sean inmunes o robustos ante outliers.

Resumen del Bloque de Limpieza de Datos

Con esta sección cerramos el módulo estratégico de preparación y depuración de datos:

  • Misión Crítica: La limpieza de datos determina el techo de precisión de cualquier sistema de Inteligencia Artificial. Ignorar este paso conduce inevitablemente al efecto Garbage-In, Garbage-Out.
  • Tratamiento Criterioso: La gestión de duplicados, valores faltantes y puntos atípicos jamás debe automatizarse a ciegas. Cada decisión debe sopesar la pérdida de volumen informativo frente a la introducción de incertidumbre o sesgos artificiales.
  • Diagnóstico Avanzado: Herramientas como los diagramas de caja, el rango intercuartílico ($IQR$) y las métricas de residuos transforman la limpieza en un proceso matemático auditable y reproducible.

Una vez que hemos garantizado la higiene analítica de nuestras tablas, estamos listos para avanzar hacia la siguiente etapa del flujo de trabajo: el Análisis Exploratorio de Datos (EDA), donde buscaremos correlaciones ocultas antes de entrenar nuestros primeros modelos de Machine Learning.