Conclusiones del Proyecto

EpiForecast-MX · IMSS × Tec de Monterrey

Maestría en Inteligencia Artificial Aplicada • Febrero 2026

312Modelos Prophet
100%Cobertura Estatal
1,548Trials SageMaker
4Avances Entregados

1. Visión general

Qué es EpiForecast-MX y por qué existe

EpiForecast-MX es una plataforma de inteligencia epidemiológica desarrollada en colaboración con el Instituto Mexicano del Seguro Social (IMSS) como proyecto Capstone de la Maestría en Inteligencia Artificial Aplicada del Tecnológico de Monterrey. Predice la incidencia semanal de tres padecimientos neurológicos y de salud mental a nivel estatal en México:

F32
Depresión
G20
Parkinson
G30
Alzheimer

Los datos provienen del SINAVE (Sistema Nacional de Vigilancia Epidemiológica), con registros semanales desde 2014 hasta 2026 extraídos de más de 633 boletines epidemiológicos en PDF. Los modelos trabajan con tasas por 100,000 habitantes normalizadas con datos demográficos del INEGI, generando proyecciones a 52 semanas para las 32 entidades federativas, segmentadas por sexo.

2. Análisis de datos y EDA

De PDFs crudos a un dataset estructurado

633
Boletines PDF
60K+
Registros
32
Entidades
2014-2026
Período

Extracción con Camelot

Tablas extraídas de boletines PDF del SINAVE con keywords F32, G20, G30. Pipeline automatizado con Ghostscript y merge incremental.

Normalización de entidades

Estandarización de nombres de estados (variaciones en acentos, abreviaturas, errores tipográficos) para garantizar consistencia en las 32 entidades.

Semana epidemiológica 53

Manejo especial de años con 53 semanas epidemiológicas. Detección y tratamiento de duplicados en semanas de transición entre años.

Detección de outliers (IQR)

Identificación sistemática de valores atípicos con método IQR parametrizado. Muchos outliers coinciden con períodos de captura irregular del SINAVE.

Hallazgo clave del EDA: La Depresión (F32) representa el 87% de la incidencia total de los tres padecimientos, con una estacionalidad marcada y heterogeneidad regional significativa. Parkinson y Alzheimer muestran tasas mucho menores pero con tendencias en aumento sostenido.

3. Feature Engineering

Transformaciones que elevan la calidad predictiva

Tasa por 100K habitantes

Normalización de conteos absolutos a tasas per capita usando población INEGI. Permite comparar estados de tamaños radicalmente diferentes (CDMX vs BCS).

Regiones INEGI de salud mental

Agrupación de las 32 entidades en 4 regiones: Urbana media, Sur-Sureste vulnerable, Metropolitana alta y Rural / dispersa.

Variables demográficas

Integración de población total, superficie, densidad poblacional y clasificación de regiones vía PxWeb API del INEGI.

CI/CD automatizado

Scraping diario de nuevos boletines SINAVE (GitHub Actions + Selenium), extracción automática y merge incremental al dataset principal.

Log-transform: y = log(1 + tasa) estabiliza la varianza en series volátiles, especialmente Depresión. Al predecir se revierte con exp(y) - 1 para obtener conteos interpretables.

4. Baseline: 297 modelos Prophet

Matriz 3 padecimientos x 33 niveles x 3 sexos

297
Modelos estatales
4
Folds de CV
913
Días COVID marcados
52
Semanas pronóstico

Cross-validation temporal

4 folds con ventanas deslizantes que respetan la temporalidad. Pesos progresivos [0.5, 0.75, 1.0, 1.25] que priorizan períodos recientes sobre post-COVID.

COVID como cambio estructural

Pandemia marcada como período atípico (2020-03-23, ventana 913 días). Prophet captura los changepoints automáticamente sin intervención manual.

Entrenamiento final

Después de CV, el modelo final (.pkl) se entrena con toda la serie, no solo el split de entrenamiento. CV evalúa; el .pkl aprovecha todos los datos.

Resultado baseline: 297 modelos entrenados cubriendo el 87% de las series. Las 39 series con incidencia promedio menor a 0.5 casos/semana se marcaron como insuficientes y quedaron sin predicción informada.

5. Optimización v5/v6

De baseline a producción: anti-Newton, MASE y modo híbrido

v4 — Baseline
Modelos297
Cobertura87%
Insuficientes39
Anti-NewtonNo
MASEN/A
Chihuahua-Dep39 min
v5 — Optimización
Modelos297
Cobertura87%
Insuficientes39
Anti-Newton3 capas
MASEN/A
Chihuahua-Dep4 min
v6 — Producción
Modelos312
Cobertura100%
Insuficientes0 (41 fallback)
Anti-Newton3 capas
MASE0.76
Chihuahua-Dep4 min

Protección anti-Newton

3 capas: sort descendente por cp, timeout 35s por fold, y threshold Newton-prone. Chihuahua-Depresión de 39 min a 4 min.

Grids diferenciados por padecimiento

Optimizados con datos de 297 modelos v4. Cada padecimiento tiene su propio grid de hiperparámetros ajustado a su comportamiento epidemiológico.

MASE: métrica escala-independiente

MASE = MAE / MAE_naive(lag-52). MASE < 1 significa que el modelo supera al baseline naive estacional. Media v6: 0.76.

Modo híbrido (v6)

41 series insuficientes ahora usan fallback regional: modelos regionales de respaldo con desnormalización por población estatal individual. 100% cobertura.

Evolución v4 a v6

Cobertura estatal, modelos insuficientes y MASE medio

6. Benchmark SageMaker

1,548 trials para validar Prophet como modelo de producción

1,548
Trials totales
6
Modelos evalúados
9.8h
Duración total
~$9.80
Costo USD
ModeloTipoVictorias%MASE mediana
ProphetEstadístico6726.0%0.745
LightGBM+LSTMHíbrido ML/DL5220.2%0.748
TFTDeep Learning4517.4%0.773
DeepARDeep Learning4417.1%0.748
XGBoostMachine Learning2810.9%0.832
RidgeMachine Learning228.5%0.822

Victorias por modelo

258 series evalúadas — 6 modelos

Victorias por padecimiento

Desglose por Alzheimer, Depresión y Parkinson

Prophet: consistente pero no dominante

Gana pluralidad en cada padecimiento, pero los márgenes son estrechos. El 77% de las veces que pierde, está a menos del 10% del ganador.

Deep Learning colectivamente fuerte

DeepAR + LightGBM+LSTM + TFT ganan el 54.7% de las series combinados. Sin embargo, ningún modelo individual supera a Prophet.

Paradoja Prophet vs TFT

TFT domina Parkinson general (Prophet solo 2/33 wins) pero Prophet recupera competitividad (~30%) en desagregaciones por sexo.

Conclusión SageMaker: Prophet es la mejor opción para producción considerando consistencia, interpretabilidad y costo computacional. Sin embargo, ~21 series con gap mayor a 20% son candidatas a usar modelos alternativos (TFT, DeepAR).

7. Dashboard Tableau

Visualización interactiva para tomadores de decisiones

8 visualizaciones interactivas

Mapa coroplético, series de tiempo, tablas de ranking, distribución por sexo, comparación regional, métricas del modelo, intervalos de confianza y tendencias.

Pipeline automatizado

Script build_tableau genera un dataset único consolidado desde all_forecast.csv con métricas, clasificación de confianza y metadatos para Tableau.

Tooltips con métricas

Cada punto en Tableau muestra RMSE, MAE, MAPE, MASE, tipo de modelo (propio/fallback) y nivel de confianza. Información completa sin salir del dashboard.

Branding IMSS

Paleta cromática institucional del IMSS aplicada: teal, burgundy, gold y cream. Coherencia visual entre dashboard, reportes HTML y presentaciones.

8. Hallazgos clave

Descubrimientos más importantes del proyecto

MASE < 1 en los tres padecimientos

Todos los modelos Prophet superan al baseline naive estacional (lag-52 semanas). Alzheimer 0.74 Parkinson 0.75 Depresión 0.80

100% cobertura con modo híbrido

Las 41 series insuficientes (36 Alzheimer, 5 Parkinson) ahora tienen predicción informada vía fallback regional. Paso de 87% a 100% de cobertura.

Heterogeneidad entre estados

Algunos estados presentan series limpias y predecibles (MASE < 0.7), mientras otros son desafiantes. Las diferencias reflejan la infraestructura de captura más que la dinámica epidemiológica.

Prophet: robusto pero no el único

El benchmark SageMaker confirma que Prophet es competitivo (26% wins), pero deep learning colectivamente gana 54.7%. Un ensemble futuro podría mejorar las predicciones.

COVID como disruptor temporal

La pandemia generó un quiebre estructural de 2.5 años (913 días). Prophet captura los changepoints automáticamente, validando su idoneidad para eventos no anticipados.

Depresión hombres: la serie más difícil

MAPE 36.6% vs 25.9% general. La subnotificación de salud mental masculina genera patrones más erráticos y reduce la predictibilidad del modelo.

Log-transform: impacto significativo

log(1 + tasa) estabiliza la varianza en series volátiles. Especialmente efectivo para Depresión, donde la varianza crece con la media.

Anti-Newton: eficiencia 10x

Protección de 3 capas redujo Chihuahua-Depresión de 39 a 4 minutos. El pipeline completo de 297 modelos se entrena en ~45 minutos con paralelismo.

9. MASE: la métrica que importa

Mean Absolute Scaled Error — por qué elegimos esta métrica y qué revela

El MASE (Hyndman & Koehler, 2006) compara el error absoluto del modelo contra un baseline naive estacional (lag-52 semanas). A diferencia del MAPE, el MASE es escala-independiente: no se distorsiona con tasas bajas (Alzheimer, Parkinson) donde el denominador pequeño infla artificialmente el porcentaje de error.

MASE = MAEmodelo / MAEnaive(lag-52)
MASE < 0.7 Excelente
0.7 – 1.0 Supera al naive
MASE > 1.0 Peor que naive estacional
0.74
MASE Alzheimer
0.75
MASE Parkinson
0.80
MASE Depresión
< 1.0
Los 3 superan naive

MASE por padecimiento y sexo

Mejor modelo por serie — benchmark SageMaker v5-full

MASE promedio por modelo

Todos los trials — solo Parkinson y Alzheimer < 1.0 en todos los modelos

MASE vs MAPE: por qué MASE es superior

Padecimiento x SexoMAPE (%)MASE% series MASE < 1.0
Depresión general25.90.81079.8%
Depresión hombres36.60.858~75%
Depresión mujeres27.90.782~83%
Parkinson general52.00.69386.3%
Parkinson hombres54.10.737~84%
Parkinson mujeres51.50.714~87%
Alzheimer general46.40.68990.6%
Alzheimer hombres46.40.690~91%
Alzheimer mujeres48.90.698~90%
Paradoja MAPE vs MASE: Parkinson y Alzheimer tienen MAPE alto (>46%) pero MASE excelente (<0.75). El MAPE infla el error cuando la tasa base es baja (denominador pequeño). El MASE revela que los modelos predicen mucho mejor que un baseline naive — la métrica correcta cambia completamente la narrativa del desempeño.

10. Limitaciones y trabajo futuro

Qué queda pendiente y cómo continuar

Nayarit-Depresión

RMSE 0.39 (peor modelo). Cambio de régimen en 2018 no absorbido completamente por Prophet. Candidato a modelo alternativo o intervención manual.

39 series omitidas del benchmark

Series con incidencia < 0.5/semana (todas Alzheimer + 4 Parkinson) no se evaluaron en SageMaker. Su comportamiento con otros modelos es desconocido.

Ensemble de modelos

Para las ~21 series con gap > 20% vs el ganador, un modelo híbrido Prophet + TFT/DeepAR podría mejorar significativamente las predicciones.

Monitoreo trimestral

Sistema de reevaluación periódica de métricas para detectar degradación del modelo. Alertas automáticas cuando MASE suba por encima de 1.0.

Variables exógenas IMSS

Incorporar datos internos del IMSS (consultas, prescripciones, personal médico) como regresores adicionales en Prophet para mejorar precisión estatal.

Expansión a otros padecimientos

El pipeline es parametrizado y puede adaptarse a otros códigos CIE-10. La arquitectura soporta expansión sin cambios estructurales.

11. Reflexiones del equipo

Aprendizajes colectivos sobre interdisciplinariedad y pipeline

Pipeline como herramienta de validación

Un pipeline sólido no solo prepara datos para modelar, sino que funciona como herramienta de validación continua. Cada etapa confirma visualmente patrones, tendencias y posibles errores.

Proyecto como sistema vivo

El diseño del pipeline considera la detección de nuevos boletines y la actualización progresiva del dataset, reduciendo la dependencia de procesos manuales y garantizando resultados actualizados.

Baseline: referencia objetiva

Un baseline no es un modelo “malo” que se descarta: es la referencia objetiva que da sentido a toda optimización posterior. Sin él, cualquier mejora sería anecdótica.

Comunicación visual

La comunicación visual de resultados es tan importante como los resultados mismos, especialmente cuando los stakeholders son médicos, no ingenieros.

Viabilidad confirmada

Prophet captura las dinámicas temporales de Depresión, Parkinson y Alzheimer. Cada padecimiento tiene comportamiento epidemiológico distinto que justifica modelos separados.

Datos imperfectos, modelos robustos

El sistema de pronóstico debe ser robusto ante las imperfecciones reales de los datos epidemiológicos: captura irregular, subnotificación, cambios de régimen no anticipados.

12. Reflexiones personales

La voz de cada integrante sobre el proyecto completo

Javier Rebull

Javier Augusto Rebull Saucedo

Santander
Este proyecto transformó mi manera de pensar la ingeniería de datos. Desde la primera entrega, enfocarnos en la reproducibilidad y trazabilidad del procesamiento nos dio una base sólida que resultó más valiosa que cualquier modelo sofisticado. Diseñar y ejecutar 297 modelos baseline me obligó a pensar en escalabilidad real: funciones reutilizables, pipelines parametrizados y visualizaciones automáticas para cualquier combinación de padecimiento, estado y sexo. El aprendizaje más profundo fue entender que un baseline no es un modelo “malo” — es la referencia objetiva que da sentido a toda optimización. Sin los 297 modelos v4, las mejoras del v5 y v6 no tendrían fundamento. Construir el dashboard ejecutivo y las visualizaciones para el IMSS me enseñó que la comunicación visual de resultados es tan importante como los resultados mismos, especialmente cuando los stakeholders son médicos, no ingenieros.
Juan Carlos Pérez

Juan Carlos Pérez Nava

IMSS
Como profesional de TI en el IMSS, este proyecto tiene un significado particular: estamos construyendo herramientas que podrían integrarse directamente en los procesos de planificación institucional. Desde el EDA inicial aprendí que no basta con cargar datos y correr análisis automáticos; es necesario entender qué representan y dónde pueden engañar. La validación cruzada temporal me mostró la importancia de evaluar modelos con ventanas deslizantes que simulan el escenario real de pronóstico. La detección de outliers fue reveladora: muchos valores atípicos coinciden con períodos de captura irregular que conozco de primera mano. El pipeline completo — desde la extracción de PDFs hasta el benchmark SageMaker — demostró que un sistema de pronóstico epidemiológico robusto es viable con datos reales e imperfectos del SINAVE.
Luis Sánchez

Luis Gerardo Sánchez Salazar

Tesla
Mi experiencia en ingeniería de controles en Tesla me dio una perspectiva particular sobre sistemas dinámicos, y las series de tiempo epidemiológicas comparten más de lo esperado con los sistemas que modelo profesionalmente: tendencias, estacionalidades, perturbaciones externas y la necesidad de intervalos de confianza para la toma de decisiones. Integrar datos del INEGI con el SINAVE y construir la capa de visualización en Tableau evidenció la importancia de traducir resultados técnicos a formatos consumibles por tomadores de decisiones. Lo que más me impactó fue la heterogeneidad entre estados: mientras algunos presentan series limpias y predecibles, otros son prácticamente impredecibles — lo cual apunta a diferencias en la infraestructura de captura, no en la dinámica epidemiológica. El benchmark SageMaker con 1,548 trials fue la prueba de fuego que validó nuestras decisiones de modelado.

13. Agradecimientos

A quienes hicieron posible este proyecto

Gracias a nuestras asesoras

Este proyecto no habría sido posible sin la guía y el apoyo de nuestras asesoras académicas e institucionales, quienes nos orientaron en cada etapa con retroalimentación experta y vision estratégica.

Dra. Grettel Barceló Alonso
Asesora académica — Tec de Monterrey
Dra. Ruth Pérez
Asesora institucional
Dra. Lina Díaz Castro
Asesora institucional
Nota especial: La retroalimentación de la Dra. Grettel sobre la necesidad de separar los padecimientos fue determinante. Al modelarlos independientemente, las diferencias epidemiológicas entre Depresión, Parkinson y Alzheimer se hicieron evidentes no solo en las métricas, sino en la estructura misma de las series.

14. Ficha técnica

Resumen ejecutivo del stack, métricas y archivos del proyecto

ComponenteDetalle
LenguajePython 3.12
Modelo principalProphet 1.3 (cmdstanpy)
BenchmarkProphet, XGBoost, Ridge, TFT, DeepAR, LightGBM+LSTM
CloudAWS S3 (DVC) + SageMaker (ml.m5.xlarge)
CI/CDGitHub Actions + Selenium (scraping diario)
VisualizaciónTableau, matplotlib, seaborn, plotly, Chart.js
Modelos entrenados297 estatales + 15 regionales = 312 total
Trials benchmark1,548 (258 series x 6 modelos)
MASE medio (v6)Alzheimer 0.74 | Parkinson 0.75 | Depresión 0.80
Cobertura100% (32 entidades x 3 padecimientos x 3 sexos)
Horizonte52 semanas a futuro
Período datos2014 – 2026 (633 boletines SINAVE)
Costo benchmark~$9.80 USD (9.8 horas ml.m5.xlarge)
Tiempo entrenamiento~45 min (n_jobs=-2, joblib loky)

Archivos principales

ArchivoDescripción
forecast/all_forecast.csvPredicciones consolidadas (~180 MB)
forecast/reporte_resultados.htmlReporte interactivo de resultados
forecast/bitacora_modelado.htmlBitácora v1-v6 del modelado
forecast/comparacion_modelos.htmlBenchmark SageMaker (1,548 trials)
forecast/index.htmlGalería de 312 PNGs de pronóstico
models/*.pkl312 modelos Prophet entrenados (~109 MB)
data/processed/Dataset final procesado
EpiDashboard.htmlDashboard Tableau embebido