/ Proyectos / Salud / Predicción de esquema de vacunación incompleto

Predicción de esquema de vacunación incompleto: selección estadística de variables

Cómo identificar con anticipación qué casos tienen mayor riesgo de quedarse con el esquema de vacunación infantil incompleto, usando pruebas de hipótesis para elegir variables en vez de la importancia de un solo modelo.

13 min de lectura Python · scikit-learn · XGBoost · Optuna Datos: registro de vacunación infantil con variables demográficas Aplicable a tesis y proyectos aplicados de analítica en salud pública
Registro de vacunación infantil analizado con machine learning para identificar riesgo de esquema incompleto

El objetivo era identificar con anticipación qué casos tenían mayor riesgo de quedarse con el esquema de vacunación infantil incompleto (dosis de IPV, Pentavalente, Neumococo, Rotavirus e Influenza), para poder priorizar el seguimiento donde más se necesita. No es un proyecto sobre seguridad o eficacia de vacunas, es un problema operativo de salud pública: dado un registro administrativo, ¿qué variables predicen mejor que un esquema se quede incompleto?

El reto real fue de rigor antes que de modelado. Con docenas de variables demográficas y administrativas disponibles, elegir cuáles usar por intuición, o por la importancia que le diera un solo modelo, hubiera sido una decisión débil. La respuesta fue tratarlo como lo que era: un problema de inferencia estadística antes de ser un problema de machine learning.


Mapa del casoContenido


Estructura de alto nivelDiagrama de la solución

Fuente Registro de vacunación Objetivo Esquema completo / incompleto Estabilidad temporal del target Pruebas estadísticas + corrección FDR Top variables numéricas Top variables categóricas Balance de clases SMOTENC (datos mixtos) Comparación de modelos Logística · Random Forest · XGBoost Optimización con Optuna Búsqueda bayesiana Riesgo de esquema incompleto

Pasa el cursor sobre cada bloque para ver qué hace ese paso.

La revisión de estabilidad temporal del target y las pruebas estadísticas ocurren antes que cualquier modelo, no como un paso de limpieza rápida sino como el filtro que decide qué datos y qué variables merecen entrar al pipeline.


Cómo se construyóConstrucción de la solución

Condiciones del proyecto

RestricciónDato
Objetivo operativoPriorizar seguimiento de casos con mayor riesgo de esquema incompleto, no evaluar vacunas en sí
Variables disponiblesDocenas de campos demográficos y administrativos, numéricos y categóricos, sin una jerarquía de relevancia obvia
Balance de clasesLa proporción de esquemas completos e incompletos no está garantizada a 50/50
Naturaleza temporalEl registro cubre varios periodos, con riesgo de que el patrón del target cambie con el tiempo
OpciónPor qué se descartó
Elegir variables por la importancia de un solo modelo entrenado con todas las columnasLa importancia de un modelo puede estar sesgada por su propia arquitectura, y no controla el riesgo de significancia por azar al evaluar muchas variables a la vez
Modelar directamente sobre todo el histórico sin revisar estabilidad temporalSi la proporción de la clase objetivo cambia con el tiempo, el modelo puede aprender un patrón que ya no aplica al periodo más reciente
Balancear las clases con SMOTE estándarSMOTE interpola entre puntos numéricos, lo que no tiene sentido directo para variables categóricas mezcladas con numéricas
Selección de variables con pruebas de hipótesis y corrección FDR, revisión de estabilidad temporal del target, y balanceo con SMOTENC para datos mixtosCada paso está diseñado para el tipo de dato y el riesgo estadístico real del problema, no para la conveniencia de un solo algoritmo

Pasos

1

Revisar la estabilidad temporal del target antes de modelar

Agente: propuso pasar directamente a la separación de variables predictoras, tratando el histórico completo como una sola muestra homogénea.
Criterio aplicado: calcular la proporción de esquemas completos por periodo y su variación mes a mes, para confirmar que el objetivo no tuviera un cambio de comportamiento (drift) que invalidara tratar todo el histórico como una sola distribución.

2

Seleccionar variables con pruebas estadísticas, no con importancia de modelo

Agente: sugería entrenar un modelo con todas las variables disponibles y usar su importancia para quedarse con las principales.
Criterio aplicado: aplicar Mann-Whitney U con tamaño de efecto para variables numéricas y Chi-cuadrada con Cramér's V para categóricas, con corrección por comparaciones múltiples (FDR), para elegir las 10 variables numéricas y 10 categóricas con mayor relación real con el objetivo, no solo las que un modelo particular prefiriera.

3

Balancear con una técnica adecuada para datos mixtos

Agente: proponía aplicar SMOTE estándar sobre todas las variables tras codificarlas como numéricas.
Criterio aplicado: usar SMOTENC, diseñado específicamente para datasets con variables numéricas y categóricas mezcladas, para que los ejemplos sintéticos generados fueran coherentes con la naturaleza real de cada variable.

4

Comparar modelos y afinar con búsqueda bayesiana

Agente: sugería ajustar hiperparámetros a mano después de elegir el mejor modelo por accuracy simple.
Criterio aplicado: comparar Regresión Logística, Random Forest y XGBoost con matriz de confusión y curva ROC/AUC, y afinar el modelo campeón con una búsqueda bayesiana de hiperparámetros (Optuna) usando peso balanceado por clase, en vez de accuracy simple, dado el desbalance del problema.

Proceso de iteración

Ajuste documentado, no forzado

La revisión de estabilidad temporal del target no fue un trámite: reveló variación mes a mes en la proporción de esquemas completos, consistente con cambios estacionales y administrativos esperables en un registro de este tipo. Eso no invalidó el proyecto, pero sí obligó a interpretar el modelo final como una fotografía del patrón general, no como una regla fija en el tiempo. De la misma forma, las pruebas estadísticas con corrección FDR dejaron fuera varias variables que un modelo de importancia hubiera considerado relevantes por simple correlación con otras variables ya seleccionadas, una diferencia que solo se nota si se compara el método estadístico contra la alternativa más simple.


CierreLecciones importantes

Seleccionar variables con pruebas de hipótesis y corrección por comparaciones múltiples toma más tiempo que confiar en la importancia de un modelo entrenado con todo el dataset. Ese tiempo extra se paga solo: evita que el pipeline aprenda relaciones espurias que un modelo particular puede favorecer por su propia arquitectura, y deja una justificación estadística clara de por qué cada variable entró al modelo final, algo que cualquier revisión posterior va a pedir.

La segunda lección es de disciplina temporal. Un dataset administrativo no es una fotografía fija; revisar si el objetivo cambia con el tiempo antes de modelar evita construir un sistema sobre una base que ya se movió, y permite comunicar con honestidad qué tan generalizable es el resultado.

Si quieres ver un enfoque publicado con una idea similar, predicción de inmunización infantil incompleta con machine learning sobre datos poblacionales, este paper es una buena referencia del nivel de la contribución: Prediction of incomplete immunization among under-five children in East Africa from recent demographic and health surveys: a machine learning approach.

Termina ya tu proyecto

¿Tienes un proyecto similar y no sabes por dónde empezar? Yo te ayudo a diseñarlo.

El 92% de los profesionales de datos desbloquea sus proyectos al ver ejemplos completos resueltos.

53
proyectos
8
sectores
100%
aplicado

Sin registro. Acceso inmediato