Datos Faltantes

  • Artículos
  • Data Science & IA

En un primer artículo de Limpieza de Datos se habló de la importancia que tiene hacer un análisis exploratorio de datos. Este análisis permite visualizar el tipo de datos con los que se va a trabajar, ver si hay datos duplicados, corregir posibles errores estructurales, corregir outliers y hacerse una idea de cómo manejar los datos faltantes. En el blog de Manejo de Outliers vimos qué se puede hacer cuándo se tienen outliers. Siguiendo en la línea de análisis de datos, en este blog veremos qué se puede hacer cuando hay datos faltantes. En 1976, Donald Rubin (1) postuló que el problema de datos faltantes se puede dividir en 3 categorías. En su teoría, todos los puntos de un set de datos tienen una probabilidad de no estar. El proceso que gobierna estas probabilidades se llama mecanismo de datos faltantes. El modelo para este proceso se llama modelo de datos faltantes.

Es también común hoy en día en agregar un cuarto tipo de dato faltantes, que se relaciona con la estructura de los datos. Veamos a continuación los 4 tipos:

  1. Estructuralmente faltantes
  2. Faltantes completamente al azar (Missing Completely at Random, MCAR).
  3. Faltantes al azar (Missing at Random, MAR):
  4. Faltantes no al azar (Missing not at Random, MNAR)

Cuando se trabaja con datos faltantes, es importante entender cómo se producen y cómo pueden afectar los resultados de nuestro análisis.

Estructuralmente faltantes

  • Ejemplo de Negocio

En una encuesta de satisfacción del cliente para una aerolínea, una de las preguntas podría ser: «¿Cómo calificaría nuestro servicio de comida a bordo?». Para los vuelos de corta distancia que no ofrecen servicio de comida, esta pregunta quedaría sin respuesta. Este es un caso de dato estructuralmente faltante.

Otros ejemplos podrían incluir:

    • Calificación de satisfacción del servicio de WiFi en vuelos que no ofrecen WiFi.
    • Datos de ventas de productos descontinuados en períodos futuros.
    • Mediciones de estatura del segundo hijo en familias que solo tienen un hijo.
    • Mediciones de presión arterial en un paciente amputado de ambos brazos.
  • ¿Por qué son importantes?

Estos datos son valiosos en sí mismos, pues nos permiten entender el por qué la variable no está imputada. No deben tratarse como otros tipos de valores faltantes.

  • ¿Cómo manejarlos?

Se suelen manejar mediante codificación especial, análisis por separado o creación de variables indicadoras. Por ejemplo, en el caso de la aerolínea indicado más arriba, se puede indicar el valor ‘NO APLICA’, o se trabajan los datos por separados (vuelos largos versus vuelos cortos), o se crea una variable nueva que indique el tipo de vuelo.

Faltantes completamente al azar (Missing Completely at Random, MCAR)

Los datos son MCAR cuando la probabilidad de que un valor esté faltante:

    • Es completamente aleatoria
    • No depende de la variable misma
    • No depende de ninguna otra variable en el conjunto de datos
    • No depende de variables observadas

Es importante mencionar que se puede (y se debe) verificar estadísticamente que si los datos son MCAR.

En la práctica, MCAR es bastante raro. La mayoría de los datos faltantes en el mundo real tienen algún tipo de patrón o relación con otras variables. Bajo MCAR, incluso los métodos más simples como la eliminación de casos completos son válidos (aunque no óptimos) sin correr el riesgo de sesgar los resultados.

  • Ejemplo de Negocio

Un ejemplo típico de MCAR sería cuando un equipo de medición falta aleatoriamente o cuando algunas encuestas se pierden debido a problemas técnicos aleatorios. O cuando en una plataforma de comercio electrónico, fallos aleatorios en el servidor causan que algunas transacciones no registren la hora exacta de la compra.

  • ¿Por qué es el más fácil de manejar?

MCAR es el escenario ideal porque la ausencia de datos no introduce ningún sesgo sistemático en nuestros análisis.

  • ¿Se pueden reemplazar?

Sí, los datos MCAR pueden ser imputados utilizando una variedad de métodos, incluyendo imputación simple o métodos más avanzados. Se pueden eliminar siempre y cuando sean un pequeño porcentaje del total de datos (<5%).

Faltantes al azar (Missing at Random, MAR)

Este caso ocurre cuando la probabilidad de que falte un valor está relacionada con otras variables observadas, pero no con el valor faltante en sí.

  • Ejemplo de Negocio

Una cadena de tiendas realiza encuestas de satisfacción después de cada compra. Se observa que la tasa de respuestas está relacionada con el monto de la compra. El patrón que vemos aquí es que aquellos clientes que más gastan más tienden a responder la encuesta. La probabilidad de respuesta depende del monto de compra (variable que sí se observa), NO del nivel de satisfacción (la variable faltante).

Otro ejemplo sería en evaluaciones de desempeño. Se nota que los datos faltantes en las evaluaciones están relacionados con el departamento y la antigüedad del empleado, e.g., departamentos de ventas tienen mejor tasa de completitud (90%), departamentos administrativos, menos (60%), empleados más antiguos tienen mejor tasa de completitud. Los datos faltantes no dependen del desempeño en sí mismo.

  • ¿Por qué es más manejable?

Los valores MAR son más tratables porque el patrón de datos que falta es predecible basándonos en otras variables que sí observamos. Esto implica que podemos utilizar algoritmos sencillos (regresiones lineales/logísticas) para predecir el dato que falta.

  • ¿Se pueden reemplazar?

Sí, los valores MAR se pueden imputar con mayor confianza que los MNAR (que se detallan a continuación) usando técnicas como imputación múltiple o imputación basado en modelos (como se mencionó anteriormente).

Faltantes no al azar (Missing not at Random, MNAR)

Si los datos no son MCAR ni MAR, entonces se clasifican como MNAR. Básicamente, MNAR ocurre cuando la probabilidad de que falte un dato está relacionada con el valor faltante mismo.

  • Ejemplo de Negocio

En una encuesta de satisfacción al cliente en una tienda de lujo, los clientes que tuvieron una experiencia muy negativa podrían ser más propensos a no responder la pregunta sobre si recomendarían la tienda.

Otro ejemplo sería en una aplicación de préstamo bancario, los clientes con altos niveles de deuda tienden a no reportar su deuda total actual. La probabilidad de que falte este dato está directamente relacionada con el monto de la deuda que no quieren revelar.

En un programa de seguimiento de peso en un gimnasio, aquellos clientes que han subido de peso son más propensos a no asistir a las sesiones de pesaje. La probabilidad de un dato faltante de peso está directamente relacionada con el aumento de peso no registrado.

  • ¿Por qué es difícil de manejar?

Son problemáticos porque la razón de su ausencia está relacionada con la información que falta. Ignorar o imputar estos valores podría llevar a conclusiones sesgadas (por ejemplo, en el ejemplo del peso, imputar por el promedio del peso puede llevar a concluir que el programa ha funcionado, cuando en realidad hay gente que ha aumentado su peso).

  • ¿Se pueden reemplazar?

En general, los valores MNAR no deben reemplazarse mediante técnicas de imputación estándar. Se recomienda:

    • Intentar recopilar la información faltante si es posible.
    • Realizar análisis de sensibilidad.
    • Utilizar métodos de modelado que tengan en cuenta explícitamente el mecanismo de valores faltantes, es decir, reconocer que los datos no faltan al azar, utilizar técnicas específicas como el modelo de Heckman, no confiar en imputación simple o eliminación de casos.

Ejemplos en Python

Ejemplo para Estructuralmente Faltante

Ejemplo para Missing Completely at Random

Ejemplo para Missing at Random

Ejemplo para Missing Not at Random

Conclusión

Es muy importante entender y manejar adecuadamente los datos faltantes. Es muy fácil caer en la tentación de eliminar los registros o imputarlos, pero como vimos, cada dato faltante (MNAR, MAR, MCAR y Estructuralmente Faltantes) requiere un enfoque diferente.

En cada proyecto que llevamos a cabo en Brain Food, que involucre datos, hacemos un análisis exhaustivo de los datos en el Análisis Exploratorio de Datos (EDA por sus siglas en inglés). En estos casos, nuestro approach es:

  1. Identificar correctamente el tipo de valores faltantes en los datos
  2. Elegir el método de imputación más apropiado, basándose en el tipo de data faltante y el contexto del negocio
  3. Ser transparentes sobre las decisiones de manejo de valores faltantes y sus posibles impactos en los análisis
  4. Conversar con el cliente para ver la posibilidad de mejorar los procesos de recolección de datos para minimizar los valores faltantes en el futuro (cuando sea posible)

Es importante recalcar que no existe un enfoque único que sea el mejor para todos los casos. La clave está en entender los datos, el contexto del negocio y las implicaciones de las decisiones de manejo de datos faltantes.

Por ello, en Brain Food nos destacamos por realizar un EDA en profundidad, siempre cuestionando y preguntando al cliente sobre los datos, para así entender el contexto del negocio y con esto asegurar el éxito del proyecto.

(1) Inference and Missing Data, Donald Rubin, 1976.