class: title-slide, center, middle <img class="logo" src="https://www.univalle.edu.co/images/Univalle/70_Rojo.jpg" alt="Universidad del Valle"> # Clasificación de la Esperanza de Vida a partir de Factores Socioeconómicos y Ambientales ### Aplicación de modelos de aprendizaje supervisado: Logit y KNN .autores[ **Miguel Fabricio Arguello Cedeño · Laura Valentina Aguirre Reyes** **Jaider Fernando Cuaspud Telpiz · Juan José Cárdenas Ibarguen** ] .inst[Universidad del Valle · 9 de octubre de 2026] ??? Tiempo: ~15 s. Presentar el título, el equipo y la pregunta que guía el trabajo. --- # Pregunta de investigación y objetivo .centrar[ .caja.destacado[ **¿Es posible clasificar si un país, en un año dado, tiene una esperanza de vida Alta (70 años o más)** a partir de su desnutrición, gasto en salud, saneamiento, desempleo y emisiones de CO2? ] **Objetivo:** construir y comparar dos modelos de aprendizaje supervisado para clasificar la esperanza de vida en **Alta** o **Baja**, y recomendar el más adecuado. .fila[ .tarj[ ### Regresión logística (Logit) Modelo **paramétrico** e **interpretable**: entrega un odds ratio para cada variable. ] .tarj[ ### K vecinos más cercanos (KNN) Modelo **no paramétrico**: clasifica según la **cercanía** a observaciones de entrenamiento. ] ] .cajapeq[ Alta: 70 años o más · Baja: menos de 70 años. El umbral de 70 años es un criterio de referencia que simplifica una variable continua. ] ] ??? Tiempo: ~30 s. Leer la pregunta, decir el objetivo y contrastar las dos aproximaciones: una interpretable (Logit) y otra basada en la proximidad entre observaciones (KNN). --- # Datos y diseño del estudio .centrar[ ### Datos del Banco Mundial <div class="kpi-fila"><div class="kpi"><div class="kpi-v">1.729</div><div class="kpi-l">Observaciones país-año</div></div><div class="kpi"><div class="kpi-v">92</div><div class="kpi-l">Países</div></div><div class="kpi"><div class="kpi-v">2001–2019</div><div class="kpi-l">Periodo</div></div><div class="kpi"><div class="kpi-v">74,6 %</div><div class="kpi-l">Con esperanza de vida Alta</div></div></div> ### Partición temporal y validación <div class="kpi-fila"><div class="kpi dis"><div class="kpi-v">≤ 2015</div><div class="kpi-l">Entrenamiento · 1.367 obs.</div></div><div class="kpi dis"><div class="kpi-v">≥ 2016</div><div class="kpi-l">Prueba · 362 obs.</div></div><div class="kpi dis"><div class="kpi-v">Estandarizar</div><div class="kpi-l">solo con la media y la DE del entrenamiento</div></div><div class="kpi dis"><div class="kpi-v">Países nuevos</div><div class="kpi-l">validación adicional con países que el modelo no vio</div></div></div> .cajapeq[ Se descartó el **44,5 %** de los registros por datos faltantes. Los descartados tienen 39,8 % de esperanza Alta, frente a 74,6 % de los retenidos: los resultados corresponden a los países con información completa. ] ] ??? Tiempo: ~35 s. Base de modelado: observaciones, países y periodo. El clasificador se construye con el pasado (hasta 2015) y se evalúa con 2016 en adelante. Estandarización solo con el entrenamiento para no filtrar información. Aclarar que los resultados corresponden a países con datos completos. --- # Las variables y lo que esperábamos .centrar[ .chico[ <table> <thead> <tr> <th style="text-align:left;"> Variable </th> <th style="text-align:left;"> ¿Qué mide? </th> <th style="text-align:left;"> Media Baja </th> <th style="text-align:left;"> Media Alta </th> <th style="text-align:left;"> Diferencia </th> <th style="text-align:left;"> Signo esperado </th> <th style="text-align:left;"> ¿Coincide? </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Desnutrición </td> <td style="text-align:left;"> Prevalencia de desnutrición </td> <td style="text-align:left;"> 19,41 </td> <td style="text-align:left;"> 4,41 </td> <td style="text-align:left;"> -15,01 </td> <td style="text-align:left;"> Negativo </td> <td style="text-align:left;"> Sí </td> </tr> <tr> <td style="text-align:left;"> Salud </td> <td style="text-align:left;"> Gasto en salud (% del PIB) </td> <td style="text-align:left;"> 4,97 </td> <td style="text-align:left;"> 7,42 </td> <td style="text-align:left;"> 2,45 </td> <td style="text-align:left;"> Positivo </td> <td style="text-align:left;"> Sí </td> </tr> <tr> <td style="text-align:left;"> Saneamiento </td> <td style="text-align:left;"> Acceso a saneamiento básico </td> <td style="text-align:left;"> 24,14 </td> <td style="text-align:left;"> 63,27 </td> <td style="text-align:left;"> 39,13 </td> <td style="text-align:left;"> Positivo </td> <td style="text-align:left;"> Sí </td> </tr> <tr> <td style="text-align:left;"> Desempleo </td> <td style="text-align:left;"> Tasa de desempleo </td> <td style="text-align:left;"> 7,14 </td> <td style="text-align:left;"> 8,45 </td> <td style="text-align:left;"> 1,32 </td> <td style="text-align:left;"> Incierto </td> <td style="text-align:left;"> — </td> </tr> <tr> <td style="text-align:left;"> logCO2 </td> <td style="text-align:left;"> Logaritmo de las emisiones de CO2 </td> <td style="text-align:left;"> 8,57 </td> <td style="text-align:left;"> 10,85 </td> <td style="text-align:left;"> 2,28 </td> <td style="text-align:left;"> Incierto </td> <td style="text-align:left;"> — </td> </tr> </tbody> </table> ] .analisis[ **3 de 3** variables con signo esperado definido coinciden con la hipótesis. **logCO2** refleja industrialización e ingreso más que un efecto sobre la salud. Son asociaciones, **no causalidad**. ] ] ??? Tiempo: ~35 s. Comparar la media de cada variable en las clases Baja y Alta con el signo que se esperaba. Desnutrición es menor en la clase Alta; Salud y Saneamiento son mayores. logCO2 y Desempleo tenían signo incierto. --- # La clase Alta predomina y su proporción crece <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_clase_tiempo-1.png" alt="" style="display: block; margin: auto;" /> .analisis[ Un clasificador que siempre dijera «Alta» acertaría el **74,6 %** en toda la muestra y el **80,4 %** en la prueba: esa es la referencia mínima. De los 92 países, 63 son siempre Alta, 17 siempre Baja y solo 12 cruzan el umbral; la prueba no incluye países nuevos. ] ??? Tiempo: ~35 s. Desbalance moderado: la exactitud sola no basta, por eso se evalúan más métricas. La referencia mínima es el clasificador que siempre dice Alta. La proporción crece porque unos pocos países cruzan el umbral. --- # Desnutrición y Saneamiento separan mejor las clases <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_box-1.png" alt="" style="display: block; margin: auto;" /> .analisis[ **Desnutrición** y **Saneamiento** son las que más separan las clases (medianas de 16,8 en Baja frente a 2,5 en Alta, y de 21,2 frente a 67,1). **Desempleo** es la que menos separa. ] ??? Tiempo: ~30 s. Distribución de cada variable según la clase. Las cajas casi no se solapan en las dos variables que más separan; la que menos separa tiene cajas muy parecidas. --- # Contexto: la región y las correlaciones entre variables .fila[ .ancha[ <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_region-1.png" alt="" style="display: block; margin: auto;" /> ] .ancha[ <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_cor-1.png" alt="" style="display: block; margin: auto;" /> ] ] .analisis[ **África Subsahariana** (0,8 % Alta) y **Asia del Sur** (21,1 %) concentran la esperanza Baja; **América del Norte** llega a 100,0 %, con solo 2 países. La mayor correlación es de **-0,60** (Desnutrición y Saneamiento): no hay redundancia fuerte, y **Desempleo** es la variable menos relacionada con las demás. ] ??? Tiempo: ~30 s. La región no entra al modelo, pero está ligada a las cinco variables, por eso se interpretan asociaciones y no efectos independientes. Las correlaciones son moderadas; la multicolinealidad se revisa con el VIF en el Logit. --- # Regresión logística: 4 de 5 variables significativas .fila[ .ancha[ <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_forest-1.png" alt="" style="display: block; margin: auto;" /> ] .ancha[ <table> <thead> <tr> <th style="text-align:left;"> Variable </th> <th style="text-align:left;"> OR (IC 95 %) </th> <th style="text-align:left;"> p-valor </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Desnutrición </td> <td style="text-align:left;"> 0,845 (0,817–0,875) </td> <td style="text-align:left;"> < 0,001 </td> </tr> <tr> <td style="text-align:left;"> Salud </td> <td style="text-align:left;"> 1,574 (1,409–1,759) </td> <td style="text-align:left;"> < 0,001 </td> </tr> <tr> <td style="text-align:left;"> Saneamiento </td> <td style="text-align:left;"> 1,047 (1,034–1,060) </td> <td style="text-align:left;"> < 0,001 </td> </tr> <tr> <td style="text-align:left;"> Desempleo </td> <td style="text-align:left;"> 1,023 (0,989–1,059) </td> <td style="text-align:left;"> 0,188 </td> </tr> <tr> <td style="text-align:left;"> logCO2 </td> <td style="text-align:left;"> 1,541 (1,387–1,712) </td> <td style="text-align:left;"> < 0,001 </td> </tr> </tbody> </table> ] ] .analisis[ Mayor efecto por desviación estándar: **Desnutrición** y **Saneamiento**. No es significativa: Desempleo. R² de McFadden = 0,621. VIF máximo = 1,38 (sin colinealidad problemática). ] ??? Tiempo: ~45 s. Gráfico: odds ratio por desviación estándar con su IC 95 %; los intervalos que cruzan 1 indican que no hay asociación. Tabla: odds ratio por unidad de cada variable. Resaltar las variables de mayor efecto, la que no es significativa, el R² de McFadden y que el VIF no muestra colinealidad problemática. --- # KNN: la validación cruzada elige k = 3 .fila[ .ancha[ <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_knn-1.png" alt="" style="display: block; margin: auto;" /> ] .ancha[ <div class="kpi-col"><div class="kpi"><div class="kpi-v">3</div><div class="kpi-l">k óptimo</div></div><div class="kpi"><div class="kpi-v">98,78 %</div><div class="kpi-l">Exactitud en validación cruzada</div></div><div class="kpi"><div class="kpi-v">97,0 %</div><div class="kpi-l">Exactitud en la prueba</div></div></div> ] ] .analisis.alerta[ Se evaluaron los valores impares de *k* entre 3 y 31 (validación cruzada de 10 pliegues repetida 3 veces). La exactitud elegida es **optimista**: los pliegues se arman al azar y un mismo país aparece en entrenamiento y validación. ] ??? Tiempo: ~30 s. El KNN no entrega coeficientes, solo clasifica según los vecinos más cercanos. La validación cruzada elige k; la exactitud de validación es optimista frente a la de la prueba porque un mismo país aparece en ambos conjuntos. --- # Dos modelos que fallan de forma opuesta .fila[ .ancha[ <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_cm-1.png" alt="" style="display: block; margin: auto;" /> ] .ancha[ .tarj[ ### Logit · error optimista **19 falsos positivos** y 8 falsos negativos. Asigna Alta a países que siguen por debajo de 70 años: India (4), Mongolia (4), Myanmar (4), Nigeria (3). ] .tarj.naranja[ ### KNN · error conservador **11 falsos negativos** y 0 falsos positivos. Mantiene como Baja a países que cruzaron los 70 años: Iraq (4), Nepal (3), Sao Tome and Principe (2), Suriname (2). ] ] ] .analisis[ Referencia a superar: **80,4 %**. En promedio, el **76 %** de los 3 vecinos más cercanos de cada observación de prueba pertenece al **mismo país** (94 % en los falsos negativos del KNN): el KNN funciona como una memoria de la clase histórica de cada país. ] ??? Tiempo: ~50 s. Matrices de confusión: la diagonal son los aciertos. El Logit es optimista (falsos positivos: países que siguen bajo 70 años); el KNN es conservador (falsos negativos: países que cruzaron el umbral hace poco). Explicar el mecanismo del KNN: sus vecinos suelen ser el mismo país en años anteriores. --- # Métricas en la prueba: KNN mejor en 7 de 9 <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_met-1.png" alt="" style="display: block; margin: auto;" /> .analisis[ Las ventajas del KNN no son 7 hechos independientes: se concentran en las métricas que dependen de la clase Baja (especificidad de **100,0 %** frente a **73,2 %**), pues no comete falsos positivos. En sensibilidad casi empatan (97,3 % y 96,2 %). ] ??? Tiempo: ~40 s. Nueve métricas con el corte de 0,5. La exactitud global diluye el error sobre la clase Baja porque pesa poco en el promedio. Si el objetivo es identificar países con esperanza Baja, la métrica relevante es la especificidad. --- # Curvas ROC y comparación estadística .fila[ .ancha[ <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_roc-1.png" alt="" style="display: block; margin: auto;" /> ] .ancha[ .caja[ **AUC:** Logit **0,961** · KNN **0,983** **DeLong:** p = 0,024 **McNemar:** p = 0,005 ] .cajapeq.alerta[ Los p-valores son **optimistas**: los errores se concentran en pocos países que se repiten varios años. ] ] ] .analisis[ Ambos modelos discriminan de forma sobresaliente (AUC de 0,9 o más); la diferencia entre ellos es moderada. ] ??? Tiempo: ~30 s. La ROC evalúa el orden en que cada modelo coloca los países-año, sin fijar un umbral. DeLong compara los AUC y McNemar compara los aciertos con el corte de 0,5. Advertir que los p-valores son optimistas por la repetición de países. --- # Efecto del umbral de clasificación (Youden) <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_umbral-1.png" alt="" style="display: block; margin: auto;" /> .analisis[ Umbral de **Youden**, elegido solo con el entrenamiento: Logit **0,76**, KNN **0,83** (línea punteada). Aun con el mejor umbral posible, el Logit llega a una exactitud balanceada de **0,893** (umbral 0,83), por debajo de la del KNN (0,981). Con *k* = 3, las probabilidades del KNN toman solo 4 valores distintos y su curva avanza en escalones. ] ??? Tiempo: ~25 s. Subir el umbral intercambia sensibilidad por especificidad. El umbral de Youden equilibra la detección de las dos clases y se eligió solo con el entrenamiento. Mover el umbral no iguala al Logit con el KNN en la partición temporal. --- # Con países nuevos, la ventaja del KNN no se mantiene <img src="Presentacion_Esperanza_de_Vida_Taller2_1_files/figure-html/fig_esq-1.png" alt="" style="display: block; margin: auto;" /> .analisis[ Validación cruzada de 10 pliegues con cada país completo en un solo pliegue (KNN con *k* = 21). Con países que no vio, el AUC es **0,942** en el Logit y **0,910** en el KNN; la especificidad, 76,1 % y 73,1 %. La ventaja del KNN en la partición temporal venía de reconocer países ya vistos. ] ??? Tiempo: ~45 s. Es el resultado más importante: en la partición temporal los mismos países aparecen en entrenamiento y prueba, lo que favorece al KNN. Cuando cada país queda completo en un solo pliegue, se mide el desempeño ante países que el modelo no ha visto. --- # Recomendación final: el Logit .centrar[ .caja.destacado[ **Se recomienda el Logit.** Con países nuevos alcanza el mejor AUC (0,942 frente a 0,910) y es el único que permite interpretar qué variables se asocian con la longevidad. ] .fila[ .tarj[ ### Regresión logística Con países nuevos: AUC de 0,942 y especificidad de 76,1 %. Sus odds ratios permiten interpretar cada variable. ] .tarj.naranja[ ### KNN Fue mejor en la partición temporal (AUC de 0,983 frente a 0,961), apoyado en países ya observados. Exige conservar los datos de entrenamiento y es sensible a la escala y a *k*. ] ] .cajapeq.alerta[ La recomendación se basa en 92 países con datos completos y en una clase Baja de la prueba que proviene de solo **19 países**: la especificidad se estima con poca precisión. ] ] ??? Tiempo: ~35 s. Dar la recomendación y sus dos razones: el desempeño con países nuevos y la interpretabilidad (el objetivo incluye identificar qué variables se asocian con una esperanza de vida alta). Reconocer el uso que sí tiene el KNN y la cautela por el número de países. --- # Conclusiones .centrar[ .grid3[ .tarj[ ### Sí es posible Con estos cinco indicadores se puede clasificar la esperanza de vida, pero la calidad depende de **cómo se evalúe**. ] .tarj[ ### Superan la referencia Ambos modelos superan el **80,4 %** de exactitud del clasificador trivial en la prueba. ] .tarj[ ### Errores distintos Fallan de forma opuesta: el Logit es optimista y el KNN conservador. ] .tarj[ ### Variables clave **Desnutrición** y **Saneamiento** tienen los mayores efectos en el Logit. ] .tarj[ ### Modelo recomendado Se recomienda el **Logit**. ] .tarj[ ### Validación La métrica y el esquema de validación importan tanto como el algoritmo. ] ] .caja.destacado[ Una exactitud alta puede ocultar un error de un solo tipo, y una ventaja en la partición temporal puede desaparecer ante países nuevos. ] ] ??? Tiempo: ~30 s. Resumir en seis ideas y cerrar con el mensaje central: la métrica y el esquema de validación importan tanto como el algoritmo. --- # Limitaciones y recomendaciones .fila[ .lim[ ### Limitaciones - **Cobertura:** solo 92 países con datos completos. - **Clase Baja de la prueba:** proviene de 19 países. - **Dependencia:** las observaciones no son independientes (países repetidos). - **Umbral de 70 años:** simplifica una variable continua. - **Causalidad:** son asociaciones, no efectos causales. ] .rec[ ### Recomendaciones - **Ampliar la cobertura** con imputación. - **Añadir predictores:** mortalidad infantil, educación, agua potable y emisiones per cápita. - **Probar otros umbrales** (65 y 75 años) y modelos de panel. - **Usarlo solo como apoyo** a la priorización. ] ] ??? Tiempo: ~25 s. Limitaciones: cobertura, pocos países en la clase Baja de la prueba, observaciones no independientes, umbral de 70 años y ausencia de causalidad. Recomendaciones: ampliar cobertura, más predictores, otros umbrales y modelos de panel, y usarlo solo como apoyo. --- class: inverse, center, middle <img class="logo" src="https://www.univalle.edu.co/images/Univalle/70_Rojo.jpg" alt="Universidad del Valle"> # ¡Gracias! ### Preguntas y comentarios <br> .chico[Banco Mundial. *World Development Indicators* · James et al. (2021) · Hosmer et al. (2013) · Cover y Hart (1967) · DeLong et al. (1988) · McNemar (1947) · McFadden (1979)] ??? Tiempo: ~10 s. Total estimado de la presentación: unos 9 minutos y medio, que dejan margen para las preguntas.