ELAI S.r.l.

¿Una medida ausente es neutral? Qué aprende la IA del proceso de recogida

Un ejemplo biomédico totalmente sintético explica selección, imputación y ausencia: cuándo ayudan y por qué cambiar el protocolo las vuelve frágiles.

¿Una medida ausente es neutral? Qué aprende la IA del proceso de recogida

El problema: una celda vacía también registra una decisión

En datos biomédicos algunas filas tienen una medida y otras una celda vacía. Podríamos rellenar con la media. Pero ¿por qué falta? Tal vez no se pidió, llegó tarde o se perdió al transferirse. Estas situaciones pueden afectar a grupos distintos. El modelo puede aprender quién recibe la medición incluso si su valor no aporta información.

Preguntamos si conservar «presente o ausente» mejora predicciones y qué pasa al cambiar la recogida. Separamos predecir un resultado, reconstruir un valor y describir una población. Usamos mil casos sintéticos con conteos explícitos. No son pacientes reales ni evaluación diagnóstica o decisiones clínicas; aislamos un mecanismo estadístico relevante para diseñar IA.

Notación y un ejemplo deliberadamente simple

Y vale uno para un resultado abstracto y cero en otro caso. Retrospectivamente conocemos Y en mil casos; no puede usarse como entrada futura. X es una medida en unidades arbitrarias. R vale uno si X está disponible al predecir y cero si no. Es indicador de observación; el de ausencia es 1 − R. La convención evita invertir fórmulas.

Para aislar el proceso, X siempre vale 7, incluso donde no se observa. Es un extremo explícito: el valor no distingue resultados. Hay doscientos Y = 1 y ochocientos Y = 0, frecuencia 20%. X está disponible en 80% de Y = 1 y 10% de Y = 0. Es asociación, no conocimiento anticipado del resultado; señales correlacionadas pueden originarla.

ResultadoR = 1: presenteR = 0: ausenteTotal
Y = 116040200
Y = 080720800
Σ2407601000

La selección cambia el denominador

Las filas completas contienen 160 positivos de 240: 66,67%. Las incompletas, 40 de 760: 5,26%. Ambas frecuencias son correctas para sus grupos, ninguna para toda la población. Eliminar incompletas y comunicar 66,67% general confunde selección y total. Este problema precede al algoritmo de imputación.

π = P(Y=1), a = P(R=1|Y=1), b = P(R=1|Y=0) P(Y=1|R=1) = πa / [πa + (1−π)b] P(Y=1|R=0) = π(1−a) / [π(1−a) + (1−π)(1−b)]

La barra significa «dado»: restringe el grupo contado. El numerador πa es la fracción positiva con medida; el denominador incluye todos los presentes. Con π = 0,2, a = 0,8 y b = 0,1 resulta 0,16/0,24 = 2/3; para ausentes, 0,04/0,76 = 1/19. La información está en la selección, no en el número 7.

Rellenar bien no equivale a predecir bien

Imputar asigna un sustituto. La media observada es 7: rellenar con 7 reconstruye perfectamente todo X del experimento conocido. Pero borrar R vuelve indistinguibles las filas. Solo X permite asignar 0,2 a todos; conservar R permite 2/3 a presentes y 1/19 a ausentes. Reconstruimos X perfectamente en ambos, con distinta información para Y.

No demuestra que la media siempre falle ni que siempre haga falta indicador: un sustituto distinto de valores reales puede revelar ausencia. La conclusión acotada es que fusionar estados informativos pierde señales. No contradice teoría general: X constante incumple, por ejemplo, la densidad continua asumida en el trabajo citado.

Medir la predicción con un error interpretable

Comparamos probabilidades con Brier binario: media de (p − Y)². Predecir 0,8 aporta 0,04 si Y = 1 y 0,64 si Y = 0; penaliza confianza equivocada. Sin unidades, menor es mejor. No es porcentaje de errores diagnósticos ni beneficio clínico.

BS = (1/N) Σᵢ (pᵢ − Yᵢ)² E[(Y−p)² | R] = q_R(1−q_R) + (p−q_R)², q_R = P(Y=1|R)

La identidad separa incertidumbre del grupo q_R(1−q_R) y penalización por otra probabilidad (p−q_R)². Se verifica expandiendo q_R(1−p)² + (1−q_R)p²; minimiza p = q_R. En la tabla, 0,2 constante da 0,16 y distinguir R da 0,091228. Son valores exactos calculados con fracciones, no estimación de generalización de un clasificador entrenado.

Cambiar el protocolo cambia el significado del vacío

Mantenemos mil casos, doscientos positivos y X = 7, pero medimos a la mitad de cada grupo. Presentes: 100 positivos, 400 negativos; ausentes: igual. Ambos tienen 20%. R pierde señal sin cambiar frecuencia general. Congelamos la regla antigua, como un sistema no actualizado: sigue prediciendo 2/3 y 1/19.

BS_nuovo = 0.5 [0.2(1−2/3)² + 0.8(2/3)²] + 0.5 [0.2(1−1/19)² + 0.8(1/19)²] ≈ 0.279748

Los 0,5 representan grupos iguales. Dentro ponderamos positivos por 0,2 y negativos por 0,8. La regla antigua llega a 0,279748, peor que 0,16 constante. Recalcular probabilidades daría 0,2 en ambos y Brier 0,16. El problema no es guardar el indicador, sino asumir estable su asociación con el resultado.

Dos tablas sintéticas, sin datos clínicos. Izquierda: frecuencias con y sin medida; la diferencia desaparece al cambiar protocolo. Derecha: Brier de probabilidad constante y regla R congelada. Menor es mejor; barras no son intervalos de confianza ni beneficios sanitarios.
Dos tablas sintéticas, sin datos clínicos. Izquierda: frecuencias con y sin medida; la diferencia desaparece al cambiar protocolo. Derecha: Brier de probabilidad constante y regla R congelada. Menor es mejor; barras no son intervalos de confianza ni beneficios sanitarios.

La descomposición cuantifica no actualizar: q_R nuevo es 0,2 y la penalización adicional 0,5(2/3 − 0,2)² + 0,5(1/19 − 0,2)² = 0,119748. Es la diferencia entre 0,279748 y 0,16. Basta cambiar observación, sin modificar población ni valores verdaderos. Demuestra posibilidad, no frecuencia en servicios reales.

No confundir información, causalidad y disponibilidad temporal

Que R prediga Y no significa que pedir la medida cause el resultado. Son asociaciones condicionadas. Ampliar disponibilidad cambia R sin cambiar Y, como en el ejemplo. Darle significado biológico sería injustificado. Hay que conocer solicitud, ejecución, llegada e incorporación informática, eventos con tiempos diferentes.

«Ausencia informativa» no equivale automáticamente a Missing Not At Random, MNAR. La clasificación depende de variables observadas o no que originan ausencia. Aquí Y retrospectivo se conoce para todos y guía el mecanismo: para X faltante depende de una variable observada. Al predecir Y no está disponible. La etiqueta exige información y tarea; no basta una sigla.

Si R usa una medida llegada después de decidir, filtra información futura. El resultado retrospectivo puede ser excelente e imposible en producción. Aquí R se define al predecir; no simulamos retrasos. Datos reales exigen marcas temporales y reglas de disponibilidad, no asumirla por existir una columna final.

Estimar la población es otro problema

Si buscamos el 20% general solo desde medidos y conocemos a = 0,8, b = 0,1, ponderamos por inversa de probabilidad. Los 160 positivos representan 200 y los 80 negativos 800. Frecuencia: 200/(200 + 800) = 0,2. Explica corregir selección, no predecir Y: los pesos dependen del resultado futuro desconocido.

En datos reales esas probabilidades pueden ser desconocidas o mal estimadas. Deben ser positivas: pesos infinitos no crean datos de un grupo jamás observado. Probabilidades pequeñas generan pesos grandes e inestables. Nuestra tabla ya daba el total; ponderar no era necesario, solo distingue composición poblacional y predicción individual.

Qué no revelan los valores presentes

Cambiamos pregunta e hipótesis, abandonando explícitamente X = 7 para todos. Solo sabemos que 24% está observado y vale 7; los restantes están entre 0 y 10. Si μ₀ es su media, la total es 0,24 × 7 + 0,76 × μ₀. Los presentes no determinan μ₀: faltantes todos 1 o todos 9 producen el mismo archivo observado.

μ = 0.24 × 7 + 0.76 × μ₀ 0 ≤ μ₀ ≤ 10 ⇒ 1.68 ≤ μ ≤ 9.28

Las medias son 2,44 y 8,52. El intervalo 1,68–9,28 deriva del límite de valores, no es confianza al 95%. Reducirlo exige información o supuestos, nuevas medidas o relaciones justificadas. Rellenar con 7 elige una hipótesis invisible, no la prueba. Varias imputaciones tampoco eliminan automáticamente ambigüedad; reflejan modelo y supuestos.

Reproducibilidad, investigación y límites

La descarga contiene tablas, fórmulas y resultados. Fraction de Python evita redondeos intermedios; convierte a decimales al guardar y dibujar. No hay muestreo ni semilla. Imprime probabilidades, Brier y límites de la media del problema separado. Las aserciones comprueban 2/3, 1/19, pérdida de ventaja y ponderación. No evalúan historias clínicas ni modelos entrenados.

Le Morvan, Josse, Scornet y Varoquaux, NeurIPS 2021, distinguen imputación y predicción, estudian consistencia y comparan regresiones sintéticas con información de ausencia. No reproducimos NeuMiss ni sus experimentos; nuestra tabla discreta plantea una cuestión distinta y acotada.

Un modelo real requiere datos temporalmente válidos, protocolo documentado y pruebas ante cambios plausibles de sede o recogida. Comparar imputación, valores con indicador y métodos nativos manteniendo otros factores. Ajustar medias y transformaciones en entrenamiento, sin adaptar al test. Evaluar patrones por separado: el agregado puede ocultar grupos problemáticos. Es diseño propuesto, no ejecutado.

Queda un límite operativo: monitorizar ausencia detecta cambios, no revela automáticamente la relación con Y. Hacen falta resultados fiables, a menudo posteriores. Recoger más puede mejorar el servicio y volver obsoleto un modelo basado en selección antigua. Datos y proceso deben analizarse juntos, sin convertir correlación histórica en regla permanente.

Conclusión: conservar el contexto del dato

Una celda vacía puede no ser neutral. Aquí revelaba selección y mejoraba predicción; cambiado el protocolo, la regla empeoraba frente a probabilidad constante. No justifica ignorar ausencia ni explotarla siempre. Hay que conservar significado y tiempo, separar imputación y predicción, verificar estabilidad y declarar lo que no revelan observaciones. La calidad depende también de ese conocimiento.

Bibliografía y reproducibilidad

Le Morvan, Josse, Scornet & Varoquaux — What’s a good imputation to predict with missing values? NeurIPS 2021.

from experiment import run
r = run()
for row in r['scenarios']:
    print(row['scenario'], row['conditional_p'])
    print(round(row['brier_prior'], 6),
          round(row['brier_frozen_mask'], 6))
print(r['separate_nonidentifiability'])

Código, datos e instrucciones · JSON. Cálculos didácticos ejecutados con Python 3.14.0; figuras con Matplotlib 3.11.2. Análisis asistido por IA, sin afirmar revisión por pares ni humana. Portada original ImageGen ilustrativa: no documenta personas, sedes ni instalaciones de EL-AI. Fuentes consultadas el 4 de octubre de 2026.