El arte de rellenar con estilo

MICE: imputación avanzada de datos.

MICE MICE

La técnica de imputación múltiple por ecuaciones encadenadas (MICE) se basa en un algoritmo predictivo que realiza un proceso iterativo para imputar los datos faltantes de una variables en función de los valores presentes en las otras variables del conjunto de datos. Para ello, es importante asegurar que la presencia de los datos faltantes no depende de la propia variable, sino que son debido al azar o a la relación con otras variables.

En 2014, un grupo de ratones se convirtió en pionero de una misión histórica: Rodent Research-1, el primer experimento oficial de la NASA que llevó roedores a la Estación Espacial Internacional. Fue todo un hito científico… aunque probablemente los ratones no estaban tan entusiasmados. Mientras los astronautas orbitaban la Tierra a 28.000 km/h, los abnegados roedores flotaban en microgravedad, generando datos valiosos sobre cómo afecta el espacio a los mamíferos. Pero claro, como ningún ratón dio una rueda de prensa al regresar, muchos detalles quedaron en el aire. Así que, una vez más, a la ciencia le tocó rellenar los huecos.

Y esa manía de completar lo que falta no es exclusiva de los laboratorios en órbita. En el día a día de los que trabajan con datos, los valores perdidos son el pan nuestro de cada análisis. Encuestas sin terminar, sensores que fallan, registros mal cargados… Si no queremos que nuestros modelos se desmoronen como una estación espacial sin tornillos, tenemos que encontrar formas inteligentes de completar la historia sin inventarla a lo loco.

Ahí es donde entra el verdadero arte de rellenar con estilo. Y cuando digo “con estilo” no me refiero a optar por colores pastel o tipografías cursivas, sino a aplicar técnicas que tengan fundamentos, sean robustas y combinen elegancia estadística con inteligencia práctica.

Una de las técnicas más usadas y poderosas es el método de imputación múltiple por ecuaciones encadenadas (MICE, por su nombre en inglés: Multiple Imputation by Chained Equations). Su nombre puede sonar intimidante, pero su lógica es tan elegante como precisa. En esta entrada descubriremos las claves más sorprendentes y contraintuitivas del algoritmo MICE, para que podáis aplicarlo con confianza y precisión sin caer en trampas estadísticas.

No todos los faltantes son iguales

Antes de aplicar cualquier técnica, debemos reflexionar sobre el motivo causante de que los datos estén ausentes. No todos los valores perdidos o faltantes son iguales, y MICE lo tiene muy en cuenta. Según su origen, podemos dividirlos en tres categorías principales.

Cuando la ausencia del dato se produce totalmente al azar, decimos que son (que nadie se sorprenda) datos faltantes completamente al azar (MCAR, Missing Completely At Random). Esto quiere decir que la probabilidad de que una determinada variable del conjunto de datos tenga valores perdidos no depende de ninguna otra variable del conjunto.

Una segunda categoría la forman los datos perdidos al azar (MAR, Missing At Random), como la anterior, pero sin “completamente”. En este caso, la probabilidad de tener datos perdidos en una variable depende de los valores de otra variable observada en el conjunto de datos. Imaginemos una encuesta en la que el campo “hemoglobina_glicosilada” está vacío sistemáticamente cada vez que el campo “glucemia” tiene una valor de glucemia normal (solo a los que la tienen alta se les pide la hemoglobina glisosilada). En este caso, la ausencia de los valores de hemoglobina no es aleatoria, sino que depende de otra variable observada, la glucemia.

El tercer tipo de datos faltantes son aquellos datos perdidos no al azar (MNAR, Missing Not At Random). En este caso, la ausencia depende del valor de la propia variable que falta. Por poner un ejemplo simpático, imaginad una encuesta de Hacienda: aquellos con ingresos muy altos pueden preferir no declararlos.

El punto más importante es que la imputación con MICE funciona muy bien para los casos MCAR y, sobre todo, MAR (que suelen ser los más habituales). Sin embargo, no es adecuado para datos MNAR. Por tanto, conocer la naturaleza de los datos faltantes es fundamental para no aplicar la técnica equivocadamente y obtener resultados sesgados.

Como veremos a continuación, la razón por la que MICE sobresale en datos MAR tiene que ver con su funcionamiento interno: a diferencia de métodos más simples, no “adivina” aisladamente, sino que aprende activamente de las relaciones entre las variables que causan la ausencia de datos.

MICE: un nombre intimidante para una lógica sencilla

Ya hemos comentado que el nombre “Imputación Múltiple por Ecuaciones Encadenadas” puede sonar abrumador y excesivamente técnico, pero la realidad es que la idea detrás de este algoritmo es sorprendentemente intuitiva. En esencia, MICE no rellena los huecos de una sola vez. En su lugar, realiza un proceso iterativo que va refinando las estimaciones de forma progresiva.

Así, el algoritmo va ejecutando una serie de pasos en cada ciclo. En primer lugar, se selecciona una columna con valores faltantes, considerando sus valores como “variable objetivo” y los valores de todas las demás columnas como “variables predictoras”.

Una vez hecho, se entrena un modelo predictivo que aprende la relación entre las predictoras y los valores conocidos de la variable objetivo. Finalmente, el modelo que se obtiene se utiliza para predecir los valores que faltaban en esa columna.

Este proceso se repite para cada columna con datos faltantes, y todo el conjunto se vuelve a iterar hasta que los valores se estabilizan.

Este enfoque encadenado es la clave del algoritmo de imputación. En lugar de tratar cada columna de forma aislada, MICE aprovecha la interrelación entre variables. Por eso se dice que “aprende” de los otros datos lo que falta en cada variable.

Un ejemplo práctico

Para entender mejor cómo funciona el método MICE de imputación de datos, vamos a ver un pequeño ejemplo con un conjunto de datos muy sencillo que me voy a inventar sobre la marcha.

Supongamos que hemos recogido datos de 10 personas, concretamente sus valores de presión arterial sistólica, glucemia e índice de masa corporal (IMC), tal como veis en la primera tabla de la figura adjunta.

Como podéis ver, no todos los registros están completos, ya que hay casillas en las que figura NA, la forma de marcar los datos faltantes del programa R. Pues bien, estos valores faltantes, que vamos a suponer que son MCAR y MAR, son los que vamos a imputar con el algoritmo MICE.

El primer paso consiste en realizar una inicialización simple univariante. Para ello, rellenamos todos los valores faltantes con una estimación básica, como la media de cada columna, al tratarse de variables cuantitativas. Obtenemos así una estimación completa del conjunto de datos, pero que no es el resultado de la imputación, sino el material con el que el algoritmo llevará a cabo el verdadero trabajo de refinamiento. Podéis verlo en la segunda tabla.

Imputación de presión sistólica

Ahora ya puede comenzar con el refinamiento predictivo. El algoritmo aborda cada columna con datos faltantes, una por una, de forma iterativa. En cada paso, recupera los NA de la columna y la convierte en la variable objetivo, mientras que utiliza las demás como variables predictoras.

Con esta combinación de datos, se entrena un modelo predictivo para predecir el valor de los datos faltantes de la columna objetivo. Yo he realizado el ejemplo con la librería mice del programa R y he utilizado un algoritmo de emparejamiento por media predictiva, que es parecido a una regresión lineal, pero teniendo también en cuenta los valores observados, para que no impute valores imposibles o extraños.

Una vez rellena esa columna, esos valores serán los que se utilizarán para predecir, de la misma forma, los faltantes de las demás columnas.

En las tablas que os muestro podéis ver el proceso de los tres ciclos: presión arterial, glucemia e IMC.

Esto se repite un número de ciclos determinado, generándose varios subconjuntos de datos en cada ciclo, con lo que podemos obtener una tabla final de resultados, tal como veis en las dos últimas tablas (esto es una licencia poética en aras de la docencia, porque en la realidad el modelo que entrenamos utiliza todos los datos de una forma más compleja, pero vamos a dejarlo así).

Para aquellos que tengáis curiosidad, yo he hecho este ejemplo realizando 10 iteraciones con 5 subconjuntos de datos cada una.

Rellenando con estilo

Ahora ya entendemos el verdadero poder de MICE. El algoritmo no se limita a calcular una simple media o mediana para rellenar los huecos, sino que trata la imputación como un problema de predicción. Pensemos en MICE como un detective que investiga un valor desaparecido. No se conforma con mirar la última ubicación conocida (la media de la columna), sino que entrevista a todos los testigos (las demás columnas) para construir un perfil predictivo (modelo de regresión o similar) de dónde debería estar lógicamente ese valor.

Este enfoque predictivo y multivariado es precisamente lo que hace que MICE sea tan potente para los datos MAR. Utiliza eficazmente las demás variables como pistas para resolver el valor faltante. Bajo el capó, MICE puede utilizar modelos de aprendizaje automático sofisticados como bosques aleatorios (Random Forests) o de gradiente‑boosting (XGBoost) para captar relaciones complejas y no lineales entre variables, y así realizar predicciones más robustas.

Otra vez: más no siempre es mejor

Al tratarse de un algoritmo iterativo, es fácil pensar que cuantas más repeticiones ejecutemos, mejor será el resultado. Sin embargo, esto no es necesariamente así y, en la práctica, se ha observado que el promedio de los valores imputados tiende a converger muy rápido. En muchos casos, los valores se estabilizan después de apenas 4 o 5 iteraciones.

Este es algo fundamental para tener en cuenta quienes trabajan con datos: aunque uno se sienta tentado a establecer un número alto de iteraciones “por si acaso”, la realidad demuestra que no se gana nada importante, solo se desperdician ciclos de cómputo, o sea, tiempo y dinero, ambos recursos escasos. La verdadera destreza está en identificar el punto de convergencia, lo que permite procesar incluso conjuntos de datos masivos de forma eficiente.

Para ayudarnos a determinar el número de iteraciones necesarias para conseguir la convergencia, podemos representar la evolución de la media de los valores con las sucesivas imputaciones, tal como veis en la figura adjunta. He de confesaros, no obstante, que me he permitido una pequeña trampa, que ha sido obtener el gráfico con un conjunto de datos mucho más numeroso, para que se muestre de forma más clara.

El éxito se mide en silencio

Ahora que sabemos cómo ejecutar MICE eficientemente, identificando su punto de convergencia, ¿cómo valoramos si el resultado final es realmente bueno? La respuesta no está en los valores imputados individualmente, sino en su impacto colectivo sobre el carácter original de los datos.

El objetivo es rellenar los huecos, no transformar la “personalidad” de las variables. Es como añadir piezas faltantes a un rompecabezas sin cambiar la imagen general.

Una forma subjetiva pero intuitiva de verificar la calidad es comparar las distribuciones de las variables (con histogramas o diagramas de densidad) antes y después de la imputación. Si la forma general de la distribución se mantiene, será una buena señal. Por el contrario, si la distribución cambia radicalmente (modo diferente, colas más gruesas, asimetría inesperada), la imputación puede estar introduciendo sesgos que podrían afectar negativamente a cualquier modelo de aprendizaje automático que entrenemos posteriormente.

En la última figura os muestro la distribución de los datos completos (línea más gruesa azul) y las de las iteraciones. Como podéis ver, son bastante similares, así que podemos estar contentos con nuestra imputación.

Nos vamos…

Parece que, al final, los ratones no solo eran buenos astronautas, sino que también nos han inspirado a encontrar una salida entre laberintos de valores perdidos. MICE, ese método de nombre intimidante, nos recuerda que el objetivo no es simplemente rellenar huecos, sino aprovechar el poder de los modelos predictivos para realizar estimaciones inteligentes, basadas en las relaciones que ya están ocultas dentro de tus datos.

Es su capacidad de detectar estos patrones ocultos lo que explica que tenga mejor rendimiento con datos perdidos al azar, en los que la ausencia depende de la relación con otras variables.

El algoritmo MICE es, en resumen, una forma elegante de ordenar el caos: un sistema que aprende de los propios datos para completar lo que falta sin traicionar su estructura original. Entender que no todos los vacíos son iguales, que su lógica es predictiva y que la convergencia se mide en silencio, cuando las medias dejan de moverse y las distribuciones no se deforman, nos permite usarlo con confianza. Rellenar no es improvisar: es predecir con estilo.

Ya hemos hablado algo de la importancia de elegir el número de iteraciones adecuado, ya que, como buen algoritmo iterativo, MICE puede pasarse de entusiasta y terminar aprendiendo ruido en lugar de estructura: el viejo pecado del sobreajuste, ahora en versión imputadora. Aunque tampoco es un mal inevitable, ya que tenemos medios para evitar que los modelos se enamoren de sus propios datos. Pero esa es otra historia…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Manuel Molina Arias.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Aleph que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Antes de aceptar puedes ver Configurar cookies para realizar un consentimiento selectivo.   
Privacidad