Proyecto de Analítica Avanzada · México 2020–2024

Identificación dePerfiles de Riesgo COVID-19

Análisis de 30M+ registros de la Secretaría de Salud de México para identificar perfiles clínicos de riesgo mediante K-means y Fuzzy C-Means, con métricas comparativas, validación interna y visualizaciones interactivas.

30M+registros analizados
1.5Mmuestra estratificada
2algoritmos comparados
4clusters identificados
Scroll
Contexto

La pandemia generó datos masivos.
La pregunta es qué revelan.

México acumuló más de 30 millones de registros epidemiológicos entre 2020 y 2024. Este proyecto los analiza para identificar perfiles clínicos de riesgo mediante algoritmos de clustering no supervisado.

Triaje incierto

Sin perfiles claros de riesgo, la priorización clínica se basa en criterios aislados, no en patrones multivariados reales.

30M+ registros sin explotar

Datos masivos de la Secretaría de Salud con potencial analítico enorme, pero sin segmentación sistemática.

Complejidad multivariada

Comorbilidades, edad, sexo y variables clínicas interactúan de formas no lineales que requieren clustering no supervisado.

Línea temporal del registro

2020

Inicio de la pandemia en México

Primeros registros masivos de casos y defunciones, sobrecarga hospitalaria.

2021

Picos de mortalidad y variantes

Segunda y tercera ola, saturación de UCIs, datos epidemiológicos crecientes.

2022

Estabilización progresiva

Vacunación masiva, descenso de casos graves, normalización gradual.

2023–24

Registro y análisis retrospectivo

30M+ registros acumulados disponibles para análisis de perfiles de riesgo.

30M+Registros epidemiológicos
17Variables clínicas
2020–2024Período de estudio
DGE / SSAFuente oficial
Metodología

Pipeline reproducible,
de datos crudos a perfiles clínicos.

Seis etapas estructuradas en Jupyter Notebooks, desde la ingesta de datos hasta la comparación de algoritmos. Cada paso es trazable y reproducible.

01Paso 01

Carga de datos

Descarga automatizada desde la DGE y carga de 30M+ registros en DataFrames optimizados.

00_carga_datos.ipynb
02Paso 02

Exploración

Análisis temporal, distribuciones demográficas, completitud de registros, valores faltantes y outliers.

01_exploracion_datos.ipynb
03Paso 03

Preprocesamiento

Muestreo estratificado (5%), one-hot encoding, estandarización, PCA para visualización, análisis VIF.

02_preprocesamiento_limpio.ipynb
04Paso 04

K-Means Clustering

Método del codo, análisis de silueta, selección de k=9 clusters, perfilamiento e interpretación clínica.

03_kmeans_analisis.ipynb
05Paso 05

Fuzzy C-Means

FPC para selección de c=2, membresías parciales, análisis de ambigüedad, comparación con K-Means.

04_fuzzy_cmeans_analisis.ipynb
06Paso 06

Comparación y validación

Matriz de confusión, Adjusted Rand Index, concordancia, análisis de puntos discordantes.

05_comparacion_resultados.ipynb

17 Variables de entrada

Demográficas
EDADSEXO
Clínicas
TIPO_PACIENTEINTUBADOUCINEUMONÍA
Comorbilidades
DIABETESEPOCASMAINMUSUPRHIPERTENSIÓNOBESIDADCARDIOVASCULARRENAL CRÓNICATABAQUISMO
Resultado
FALLECIDO

Estrategia de muestreo

Población original30M+
Muestra utilizada58,497
Tasa de muestreo~5%
EstratificaciónAño × Mes × Edad × Fallecido
PCA Varianza Explicada
PCA — Varianza explicada acumulada · Solo para visualización, no para clustering

Flujo del pipeline

30M+ SSAMuestreo estratificadoLimpieza & encodingEstandarizaciónK-Means (k=9)+Fuzzy C-Means (c=2)Comparación & validaciónPerfiles clínicos
Resultados

Nueve perfiles clínicos revelan
la estructura oculta del riesgo.

K-Means identificó 9 clusters con perfiles diferenciados de riesgo, desde jóvenes sin comorbilidades hasta adultos mayores con 4+ condiciones crónicas.

72.6%Puntos discordantes

Los algoritmos clasifican a la mayoría de pacientes en grupos diferentes — capturan estructuras complementarias.

0.107Adjusted Rand Index

Concordancia baja: K-Means y Fuzzy C-Means revelan patrones distintos del mismo dataset.

4.05Máx. comorbilidades promedio

Cluster K7 presenta la mayor carga de comorbilidades: diabetes, hipertensión, obesidad, cardiovascular.

100%Intubación Cluster K3

El cluster más crítico: todos los pacientes intubados, edad promedio 66.7 años.

Perfiles K-Means — Clusters principales

Clustern%Edad μHosp.Intub.Comor. μPerfilRiesgo
K111,38719.5%75.897.8%0%0.70Adultos mayores frágiles, hospitalizados con pocas comorbilidades registradasALTO
K74,5917.8%68.696.6%5.8%4.05Mayor carga de comorbilidades del estudio: 4+ condiciones promedioCRÍTICO
K36,05010.3%66.7100%100%1.81100% intubados — casos críticos en UCI, alta severidadCRÍTICO
K43,0445.2%33.4100%100%0.52Jóvenes intubados sin comorbilidades — severidad inesperadaALTO
K610,04417.2%37.381.6%0%0.47Jóvenes hospitalizados con mínimas comorbilidadesMODERADO
K54,4017.5%54.947.7%1.2%3.33Pacientes con múltiples comorbilidades, hospitalización parcialALTO

Comparación de métricas

Coeficiente de Silueta0.19240.1364K-Means
Davies-Bouldin Index1.73892.8749K-Means
Calinski-Harabasz Index6,7426,628K-Means
FPCN/A0.500Fuzzy

Comparación PCA 2D

Comparación PCA K-Means vs Fuzzy C-Means
PCA 2D — K-Means (k=9) vs Fuzzy C-Means (c=2)

Hallazgo clave: Ambigüedad total en Fuzzy C-Means

Los 58,497 pacientes obtuvieron membresía exacta de 0.50 en ambos clusters fuzzy — ningún punto fue clasificado con certeza. Esto indica que con c=2, el algoritmo no pudo discriminar subgrupos claros, sugiriendo que la estructura natural del dataset requiere más clusters o un preprocesamiento diferente.

Visualizaciones

46 figuras generadas,
cada gráfica cuenta una historia.

Galería completa de las visualizaciones producidas en el análisis: distribuciones, heatmaps, PCA, métricas de clustering y análisis epidemiológico.

Mostrando 29 de 29 visualizaciones
Conclusiones

Lo que los datos revelan
y lo que queda por descubrir.

01

K-Means produce clusters clínicamente interpretables

9 clusters con perfiles diferenciados: desde jóvenes sin comorbilidades (K6) hasta adultos mayores con 4+ condiciones crónicas (K7). Cada cluster tiene implicaciones directas para triaje y asignación de recursos.

02

Fuzzy C-Means revela ambigüedad inherente

Con c=2, todos los pacientes obtuvieron membresía de 0.50 — ambigüedad total. Esto no invalida el método, sino que evidencia que la frontera entre perfiles de riesgo no es binaria.

03

Los algoritmos capturan estructuras complementarias

72.6% de discordancia y ARI de 0.107 confirman que K-Means y Fuzzy C-Means no son redundantes: ofrecen perspectivas complementarias del mismo fenómeno epidemiológico.

04

El riesgo no depende de una sola variable

La combinación edad + comorbilidades + tipo de atención define perfiles de riesgo más informativos que cualquier variable aislada. El análisis multivariado supera los enfoques univariados.

05

Limitación crítica: variable de resultado

100% de mortalidad en todos los clusters indica un problema de calidad en la variable FALLECIDO, no corregido en el pipeline. Lección: validar variables de resultado tempranamente.

Trabajo futuro

  • Probar HDBSCAN y Gaussian Mixture Models para comparación más completa
  • Incluir datos de vacunación y variantes genómicas si disponibles
  • Reducir a 4–5 clusters K-Means para comunicación clínica más directa
  • Implementar validación externa con datos clínicos reales
  • Desarrollar herramienta interactiva de clasificación de riesgo en tiempo real

Stack tecnológico

PythonPandas, NumPy, Scikit-learn
Fuzzy C-Meansscikit-fuzzy
VisualizaciónMatplotlib, Seaborn
NotebooksJupyter / IPython
PortfolioNext.js, TypeScript, Tailwind
DocumentoLaTeX