El índice de Desarrollo Humano, tambien conocido como IDH, es una medida utilizada para evaluar el bienestar general de los países, considerando aspectos fundamentales como la salud, el nivel de vida, entre otros más. El IDH permite analizar de forma concreta cómo se relacionan distintos factores sociales y econónmicos con la calidad de vida en cada territorio.
El objetivo de este estudio es comparar el rendimiento de dos modelos de clasificación supervisada: el algoritmo de k-vecinos más cercanos (kNN) y el modelo de Árboles de desición. Para esta tarea, se consolidó una base de datos centrada en el año 2015, la cual esta compuesta por información de diferentes factores que estan relacionados y pueden influir sobre la variable base, que en este caso es el Índice de Desarrollo Humano.
El análisis propone trabajar la variable de Indice de Desarrollo Humano como una categoría binaria, transformandola para que pueda ser predicha a partir de distintas variables sociales y económicas a través de unos criterios previamente establecidos.
Inicialmente, se realizó el proceso de recolección de la información para el estudio, tomando como referencia bases de datos proporcionadas por la plataforma Our World in Data. Para esta tarea, se reunio datos potencialmente relevantes para las variables del estudio centrados en el año 2015, datos los cuales se encontraban organizados por países en un principio. Posteriormente, de todos los datos reunidos, se seleccionaron 12 variables cuantitativas, entre las cuales se encuentra la variable central de la investigación (Índice de Desarrollo Humano (idh)).
Las 11 variables predictivas que se emplearían preliminarmente para conformar la base de datos son:
Posteriormente, se inicia la construcción de la base de datos, transformando la variable central (idh) en una variable categórica binaria (Desarrollo_alto), la cual tiene dos opciones de categoría: “Si” en caso de que el país en cuestion estuviese catalogado con desarrollo alto, y “No” en caso de que el país tuviera un desarrollo bajo.
Durante el proceso de construcción de la base de datos,se observó que la variable relacionada con la salud (porcen_pib_salud) presentaba un número considerable de datos faltantes, lo cual reducía drásticamente el tamaño útil de la tabla final. Por consiguiente, para evitar trabajar con una base pequeña y poco representativa, se tomó la decisión de eliminar dicha variable y conservar aquellas que garantizaban una base rica en información para un mejor resultado de los modelos.
De igual manera, también se descartó la variable referente al acceso a la electricidad (porcen_electricidad). Aunque inicialmente se consideró relevante, y a diferencia de la variable descartada de la salud, esta si presentaba una gran variedad de datos potencialmente útiles para la tabla, en los análisis exploratorios iniciales se evidenció que esta variable no aportaba significancia al modelo y, por el contrario, generaba conflicto al estar correlacionada con otras variables involucradas en el estudio. Por las razones mencionadas con anterioridad, se tomó la decisión de excluirla del conjunto final de variables predictoras.
Ya habiendo definido qué variables compondrían la base de datos final, se consolidó cada una de ellas en una misma tabla mediante la union por el nombre del país. Posteriormente se eliminaron las filas con datos incompletos (NA), asegurando que al final todos los países incluidos tuvieran la información necesaria de cada una de las variables del estudio.
Como ya fue mencionado antes, para el estudio se eligió como variable objetivo el Índice de Desarrollo Humano, debido a que este combina en su naturaleza indicadores de salud, educación e ingreso, principalmente. El objetivo primario era transformar la variable continua (idh) en una variable categórica binaria, la cual permitiera clasificar a los países en dos grupos opuestos (Desarrollo_alto: Si/No). La variable original contiene valores que oscilan entre 0 y 1, en donde los valores más altos indican un mayor nivel de desarrollo.
En un primer momento, se planteó establecer un punto de corte en 0.8 para definir qué países serían clasificados con un desarrollo alto, considerando que este umbral representa un nivel más exigente y selectivo dentro de la muestra tomada. Sin embargo, al aplicar el criterio anterior, se observó que solo un pequeño porcentaje de países cumplía con dicho valor, lo cual generaba un desbalance considerable entre las clases; en otras palabras, había muy pocos “Si” frente a muchos “No” (aproximadamente un 30% “Si” y un 70% “No”).
Esta asimetría no solo limitaba la capacidad de los modelos para aprender patrones representativos en ambas categorías, sino que también podía afectar negativamente la evaluación del desempeño y el análisis post-ejecución. Por esta razon, se optó por ajustar el umbral de 0.8 a 0.7, el cual sigue siendo un valor considerablemente alto como referencia para identificar países con desarrollo humano alto, y al mismo tiempo permite una distribución más equilibrada entre las dos clases. Al realizar este cambio, se favorece tanto la calidad del análisis como la precisión de los modelos predictivos estudiados.
A continuación se describe cada una de las variables utilizadas en el estudio, todas referidas al año 2015. Estas variables se tomaron en cuenta por su potencial relación con la variable principal y su posible significancia a la hora de clasificar con presición cada categoría.
PIB per cápita (pib_percapita): Representa el Producto Interno Bruto por habitante en cada país, el cual esta medido en dólares internacionales. Esta variable es indispensable al momento de analizar los factores que influyen en la pobreza, además de que permite entender las diferencias en el desarrollo de la economía, reflejando el nivel promedio de ingreso económico de la población.
Gasto público en educación como porcentaje del PIB (porcen_pib_educacion): Indica el porcentaje del PIB que un país destina al gasto público en educación. Esta variable se asocia con el compromiso del gobierno con el desarrollo del capital humano.
Índice de percepción de la corrupción (ind_corrupcion): índice de percepción de corrupción en una escala de 0 a 100, donde los valores más altos indican menor corrupción. Es un indicador que mide el grado de transparencia institucional y gobernabilidad.
Comercio como porcentaje del PIB (porcen_pib_comercio): Esta variable mide el comerco internacional como porcentaje del PIB. Se utiliza para evaluar el nivel de apertura económica de un país frente al mundo. Conocida también como “Índice de apertura comercial”, esta variable es la suma de las exportaciones e importaciones de bienes y servicios, dividida por el producto interno bruto, expresado como un porcentaje.
Satisfacción vital autoinformada (satisfaccion_vital): Es el valor promedio de la autoevaluación subjetiva que hacen los ciudadanos en cada país sobre su bienestar general, basada en la escala de Cantril (Donde 0 representa la peor vida posible y 10 la mejor vida posible).
Esperanza de vida (esperanza_vida): Es el promedio de años que se espera que viva una persona desde su nacimiento. Es un indicador clave en el estudio puesto que se relaciona fuertemente con las condiciones de salud y sanitarias de un país.
Tasa de desempleo (desempleo): Esta variable representa la tasa de personas económicamente activas que se encuentran sin empleo. Ayuda a entender el funcionamiento del mercado laboral en cada nación.
Número total de emigrantes (num_emigrantes): Es el número total de personas que han emigrado desde el país hacia otros territorios. Este valor puede reflejar condiciones económicas, sociales o políticas desfavorables.
Emisiones de C02 per cápita (dioxido_percapita): Emisiones de dióxido de carbono por habitante, expresadas en toneladas. Esta variable sirve como medida del impacto ambiental asociado al desarrollo económico e industrial en cada país, estando estrechamente relacionada con la variable objetivo del estudio.
A continuación se muestra la base de datos final del estudio, con la cual posteriormente se realizó la ejecución de los tres modelos de clasificación supervisada. La base de datos esta compuesta por nueve variables predictivas y una variable categórica binaria; la tabla cuenta con 122 filas, las cuales conformarán tanto el grupo de entrenamiento como el grupo de prueba en el proceso de clasificación.
Es importante mencionar que una vez consolidada la base de datos incial, se eliminó la columna correspondiente al nombre de los países, puesto que al mantenerla podría generar conflictos en la ejecucion de los algoritmos de aprendizaje. Los modelos podrían interpretarla erróneamente como una variable predictiva, y esta variable realmente no aporta ningun valor al modelo de clasificación. De esta manera, se culminó el proceso de construcción de la tabla, dando origen a la base de datos final del estudio.
Para comprender el comportamiento individual de cada una de las variables predictorias, se calculó una variedad de estadísticos descriptivos con el objetivo de identificar patrones, detectar valores atípicos y obtener una visión general de la distribución de los datos. Aunque la categoría “País” fue eliminada de la base de datos final como ya fue mencionado antes, el análisis de los estadísticos descriptivos y sus respectivas interpretaciones se abordarán desde una perspectiva territorial para mantener la coherencia de los datos.
Los estadísticos, referentes a la media, mediana, desviación estándar, valor mínimo y valor máximo, fueron recopilados en la siguiente tabla:
A continuación se presenta el análisis de cada predictor:
A continuación, se presenta el análisis gráfico descriptivo de las variables consideradas más relevantes. La visualización permitirá identificar patrones, tendencias, distribuciones y posibles relaciones entre las variables. De esta manera se puede comprender mejor la información obtenida en la base de datos y visualizar de forma gráfica los análisis de los predictores para cierto conjunto de variables. Es relevante mencionar que a pesar de que el estudio de los modelos se trabajó con una base de datos que no contaba con una columna para la categoria “País”, el análisis de los siguientes gráficos se realizó tratando cada fila de la tabla de datos como un país en específico, esto con el fin de lograr una interpretación de los estadisticos que no carezca de sentido o lógica.
Primeramente, es importante mencionar que se agruparon las tres variables enfocadas en el aspecto económico de la investigación, principalmente aquellas que estan relacionadas con el PIB (pib_percapita, porcen_pib_comercio y porcen_pib_educacion). Esto con el objetivo de tener una visión más clara del comportamiento de las variables de esta área en el estudio.
En el anterior gráfico a primera vista, refiriéndose al apartado de pib_percapita, se ve que los países desarrollados tienen un PIB mediano de 31,391 dólares, con un 25% de ellos (Q3) superando los 51,969 dólares e incluso valores máximos que alcanzan los 131,746 dólares. En contraste, los países no desarrollados presentan una mediana de apenas 4,969 dólares, con el 75% (Q3) por debajo de 8,783 dólares y un minimo de 919 dólares, lo cual puede indicar naciones en conflicto o con economías frágiles. Esto sugiere que en los países desarrollados las personas tienen mas ingresos, lo que se traduce en mejores condiciones de vida. Además, incluso el país más “pobre” en el grupo de los desarrollados supera en ingresos a muchos países no desarrollados. Esta gran diferencia refleja que el desarollo económico esta fuertemente ligado al desarrollo humano.
Ahora bien, visualizando la gráfica del porcen_pib_comercio, en los países no desarrollados, la mitad tiene un comercio que representa menos del 59.3%. El país con menor valor esta en 22.8%, mientras que el mayor dentro del rango normal llega hasta 122.1%. Hay un caso atípico que alcanza 144.9%, lo que podria representar un país con un modelo económico más abierto que el resto, aún así no sea considerado “altamente desarrollado”. En el grupo de los si desarrollados, la mediana es más alta: 78.1%, lo que indica que, en general, el comercio tiene un mayor peso en sus economías. La mayoria de los paises tienen valores entre 55.72% y 122.88%, y aunque el rango normal va hasta 216.2%, hay países con cifras atipicas como 329.5%, 351.1%, e incluso 389.4%. Estos valores tan altos se ven en economías donde el comercio internacional supera varias veces el tamaño de su PIB, por tratarse de economías muy abiertas al exterior.
Por último, analizando la variable porcen_pib_educacion, en los países sin desarrollo alto, la mediana del gasto en educación es 3.6% del PIB, lo que significa que la mitad gasta menos de eso y la otra mitad mas. La mayoria de ellos se mueve entre 2.73% (Q1) y 4.83% (Q3), un rango relativamente bajo. El país con el valor más bajo en este grupo destina 1.7% a educación, y el mayor dentro del rango normal llega a 7.1%. Sin embargo, hay un valor atípico muy alto: 9.9%, lo que podria corresponder a un pais que se caracteriza por destinar una parte muy grande de su PIB a la educación a pesar de no tener un IDH considerado como alto. En el grupo de los países que tienen desarrollo alto, la mediana es más alta: 4.8%, lo que indica que en general invierten más en educación. El 50% de estos países está entre 3.8% (Q1) y 5.5% (Q3). En este caso particular, el conjunto no presenta valores atípicos extremos, el rango se encuentra entre un valor minimo de 2.1% y un valor máximo de 7.5%.
De igual manera, antes de continuar con el gráfico, es importante mencionar que se decidió agrupar las variables relacionadas con el bienestar de las personas y su calidad de vida (desempleo, esperanza_vida y satisfaccion_vital). Esto se realizó con el objetivo de permitir una comparación directa entre estas variables y mostrar el comportamiento general de esta categoria social.
Dentro de este gráfico, la primera variable que se analiza es el desempleo, y sorprende que los países con alto desarrollo humano tiene un mayor desempleo (promedio de 8.13%) en comparación a los menos desarrollados (promedio de 6.27%). Esto puede deberse a que en los países desarrollados hay más jovenes estudiando y sistemas que registran mejor el desempleo de la población. En cambio, en los países menos desarrollados, muchas personas laboran en trabajos precarios y poco formales y no se cuentan como desempleados.
Luego se tiene la esperanza de vida, la cual es mayor en países desarrollados (promedio de 77.74 años) en comparación a los no desarrollados (promedio de 64.87 años). Esto se puede deber gracias a mejores servicios de salud, mayor accesibilidad a sistemas de agua potable, mejor alimentación y condiciones de vida. En los países no desarrollados la esperanza de vida disminuye por inestabilidad económica y mayor inseguridad.
Finalmente se encuentra la satisfacción vital, la cual es mayor en los países desarrollados (promedio de 6.06) que en los no desarrollados (promedio de 4.4), lo cual indica que la gente en esos países se siente más feliz y satisfecha con su actualidad. Esto puede deberse a una sensación de mayor seguridad, mejor estado económico, mejor educación y calidad de vida.
Con el objetivo de evaluar el desempeño de diferentes algoritmos de clasificación supervisada sobre un conjunto de datos dado, se implementaron tres modelos distintos: k-vecinos más cercanos (kNN) utilizando la librería class y arboles de decisión por medio de las librerias tree y rpart. Cada modelo busca realizar el proceso de clasificación correctamente de acuerdo a un conjunto de entrenamiento previamente establecido.
El enfoque principal de este análisis no se basa en la predicción de un país en particular, sino en la comparación del rendimiento clasificatorio de cada modelo. Para esta tarea, se analizaron diferentes métricas arrojadas en la ejecución de los modelos.
Para evaluar adecuadamente el desempeño de los modelos implementados, se optó por dividir el conjunto de datos original en dos subconjuntos: 70% de las observaciones fueron destinadas al entrenamiento del modelo (conjunto de entrenamiento), mientras que el 30% restante se reservó para prueba (conjunto de prueba). De este modo, se asegura que los resultados obtenidos reflejen de forma más realista el comportamiento del modelo frente a datos no vistos, mejorando su capacidad de análisis y clasificación.
En este apartado, se presentarán los conceptos para la evaluación de los resultados obtenidos de cada modelo implementado. Se utilizador tres herramientas claves proporcionadas por los modelos para evaluar su rendimiento: La matriz de confusión, los datos métricos, y la curva ROC.
Esta se utiliza para evaluar el rendimiento de los modelos de clasificación, proporcionando una representacion que permite visualizar la precisión de las predicciones realizadas por el modelo.
La matriz en si muestra la relación entre las predicciones del modelo y los valores reales de la variable objetivo, utilizando el conjunto de prueba previamente establecido. Esta se organiza en una tabla de dos dimensiones, con las filas representando las clases reales y las columnas las clases predichas. Las celdas de la matriz indican cuantas veces se predijo cada clase para un dato perteneciente a cada categoria real. La matriz esta compuesta por cuatro celdas, donde cada una representa una combinación de predicción y realidad:
No | Si | |
---|---|---|
No | VN | FP |
Si | FN | VP |
Cuando se calcula la matriz de confusión, los elementos en la diagonal representan el número de puntos para los cuales la predicción es igual a la categoria real. En cambio, los valores que se encuentran fuera de la diagonal son aquellos que el modelo clasificó incorrectamente. Cuando se construye un modelo de clasificación, se busca que la matriz no presente una cantidad grande de valores fuera de la diagonal, puesto que cuanto más altos sean los valores diagonales, mejor será la precisión, indicando un mayor número de predicciones correctas.
Las matrices de confusión, como ya fue mencionado antes, permiten la visualización del rendimiento real de cada modelo al clasificar las observaciones entre positivas y negativas, por consiguiente, a partir de estas se derivan métricas esenciales para el análisis de los modelos, las cuales ofrecen una vision más detallada que una simple tasa de aciertos.
Estos resultados son claves para la interpretación del desempeño a una escala más detallada, por ende, para este estudio se utilizaron las siguientes métricas de desempeño:
Accuracy: Es la precisión o el porcentaje de veces que el modelo acierta la clasificación tanto de (VP) como de (VN). Se puede considerar como una de las métricas mas importantes cuando se trabaja con base de datos pequeñas, ya que sirve como una ayuda para resumir las demás.
95% CI (a,b): Esta métrica proporciona el rango donde se encuentra la precisión real del modelo utilizando un 95% de confianza (La precisión real se encuentra entre los valores “a” y “b”).
No Information Rate (NIR): Representa el porcentaje de aciertos que se obtendria si el modelo siempre predijera la clase mayoritaria sin usar ningún algoritmo de predicción. (Por ejemplo, si se tiene un conjunto de datos compuesto por 20 “Si” y 10 “No”, la clase mayoritaria es el “Si”; entonces si el modelo escoge los 30 datos ciegamente como la “Si” (Clase mayoritaria), entonces se obtendria un 0.66 de NIR).
P-Value [Acc > NIR]: Esta métrica hace referencia al valor p que se obtiene al comparar el Accuracy con el No Information Rate. Si este es menor a 0.05, el modelo es bastante preciso.
Kappa: El Kappa de Cohen mide la fiabilidad del modelo y las clases reales pero ajustado por el azar, es decir, este considera la posibilidad de que algunas predicciones del modelo hayan sido acertadas por casualidad.
A continuación se muestran las escalas según Cohen para interpretar el valor Kappa:
McNemar’s Test P-Value: La prueba de McNemar se centra en los errores que el modelo comete en una clase y no en la otra. Se podría considerar un P-Value inverso, es decir, si p es menor a 0.05, el modelo es bastante malo, y viceversa. Esta métrica sirve para verificar si existe algún sesgo en el tipo de errores que comete el modelo.
Sensitivity: Representa el porcentaje de aciertos de los Verdaderos Positivos (VP).
Specificity: Representa el porcentaje de acei los Verdaderos Negativos (VN).
Pos Pred Value: El porcentaje de veces que el modelo acertó al predecir “Si”.
Neg Pred Value: El porcentaje de veces que el modelo acertó al predecir “No”.
Prevalence: Representa el porcentaje de los casos reales positivos (Verdaderos Positivos y Verdaderos Negativos) de la variable objetivo. Esta métrica no depende del modelo.
Detection Rate: Muestra el porcentaje de casos positivos reales que el modelo detectó correctamente.
Detection Prevalence: El porcentaje de veces que el modelo eligió la clase positiva.
Balanced Accuracy: Es el promedio de Sensibility y Specificity. En casos en donde una clase es más común que la otra, es preferible usar esta métrica y no el Accuracy.
‘Positive’ Class: Esta métrica muestra qué clase se esta tomando como positiva para el modelo. En el caso de este estudio, se tendrá la clase positiva “Si”.
Este gráfico permite visualizar la relación entre la tasa de verdaderos positivos (tpr), también conocida como sensibilidad, y la tasa de falsos positivos (fpr). Como ya fue tratado anteriormente, la tasa de verdaderos positivos indica la proporción de casos positivos correctamente identificados por el modelo, mientras que la tasa de falsos positivos mide la proporción de casos negativos incorrectamente clasificados como positivos.
Lo ideal es que esta curva este lo más alejada posible de la diagonal que atraviesa el gráfico (se proporciona una línea punteada negra de referencia), ya que dicha diagonal representa un modelo sin capacidad de discriminación, en otras palabras, es un modelo en el que su clasificación es equivalente al azar.
Esta curva permite visualizar de forma clara el cómo varía el rendimiento del modelo en diferentes puntos de corte, además de que se puede contrastar directamente con otras graficas ROC para contrastar resultados y sacar conclusiones.
Por otra parte, el AUC (Area Under the Curve), es el área bajo la curva ROC, la cual ofrece un valor numérico que resume la capacidad de discriminación del modelo. El valor que arroja el AUC se encuentra entre 0 y 1, donde un valor de 1 representa un modelo con condiciones perfectas en su capacidad de distinguir entre clases, en cambio un valor cercano a 0.5 (línea punteada negra), indica un modelo sin habilidad de discriminación. Es importante mencionar que esta medida actúa como un resumen numérico integral del rendimiento del modelo en cuestión.
El modelo de clasificación de k-Vecinos Más Cercanos (kNN) es un algoritmo que se centra en la predicción de la categoría de un dato desconocido basandose en las categorías de sus k vecinos más cercanos. Para esta tarea, utiliza una medida de distancia para determinar qué tan cerca estan los puntos entre asi y finalmente arrojar una predicción tomando como referencia los datos conocidos.
El valor del parámetro k es bastante importante en este modelo, dado que los puntos se clasifican en función de la mayoria de los vecinos más cercanos, lo que permite al modelo aprender patrones y realizar predicciones usando ejemplos previos.
Para encontrar el valor óptimo de vecinos (k), se evaluaron en un principio 50 valores diferentes, midiendo en cada caso la precisión del modelo sobre el conjunto de prueba mediante un bucle for. Luego de realizar la primera prueba del bucle de valores óptimos para k, se observó que desde un punto dado el modelo presentaba el mismo valor de precisión, por ende, se decidió reducir la cantidad a 35 valores diferentes para sintetizar un poco más el modelo. Para tener un panorama más claro de lo anterior, se graficó la evolución de la precisión con respecto a k, resaltando el valor con mejor desempeño.
Como se puede apreciar, luego de realizar el calculo de la precisión para diferentes valores de k, se encontró que el k óptimo para el estudio del modelo kNN es k=3. Este valor se utilizará directamente en la ejecución final del modelo consolidado kNN.
A continuación se presentan los resultados arrojados por el modelo (kNN). Este apartado incluye su matriz de confusión, las métricas derivadas de la misma, y el análisis general de su capacidad predictiva.
Se muestra la matriz de confusión generada por este modelo, la cual permite visualizar el número de aciertos y errores cometidos al clasificar cada observación empleando un valor k = 3.
No | Sí | |
---|---|---|
No | 6 | 6 |
Sí | 6 | 19 |
La matriz muestra que el modelo no es muy bueno prediciendo los casos negativos reales, además en el caso de la identificación de los casos positivos, es decente pero no aceptable. La mitad de las veces que el modelo predice “No” se equivoca. Lo anterior se ve reflejado en la cantidad de falsos positivos y falsos negativos obtenidos, representando un porcentaje de desaciertos del 32.4%.
A partir de la matriz de confusión, se calcularon las métricas del modelo, las cuales permiten evaluar la calidad del modelo en términos numericos, y asi poder comparar su desempeño frente a otros modelos.
Métrica | Valor |
---|---|
Accuracy | 0.6757 |
95% CI | (0.5021, 0.8199) |
No Information Rate | 0.6757 |
P-valor [Acc > NIR] | 0.5774 |
Kappa | 0.26 |
Mcnemar’s Test P-valor | 1.0000 |
Sensitivity | 0.7600 |
Specificity | 0.5000 |
Pos Pred Value | 0.7600 |
Neg Pred Value | 0.5000 |
Prevalence | 0.6757 |
Detection Rate | 0.5135 |
Detection Prevalence | 0.6757 |
Balanced Accuracy | 0.6300 |
‘Positive’ Class | Si |
Para complementar la evaluación del modelo (kNN), a continuación se presenta la curva ROC y el valor del AUC, los cuales ofrecen una visión mas completa de la capacidad de discriminación del modelo.
Esta gráfica muestra una curva que se eleva algo lenta en comparación con los otros dos modelos, como ya se apreciará más adelante. Esto indica que su capacidad para identificar correctamente las categorias es aceptable, pero limitada. Esto muestra un modelo sensible y menos específico para este conjunto de datos.
AUC modelo k-Vecinos Más Cercanos
## [1] "AUC para el modelo kNN: 0.668333333333333"
El modelo de clasificación basado en árboles de decisión con la libreria tree permite realizar predicción mediante reglas de decisión simples, facilitando así la interpretación de los resultados arrojados por el modelo. Este modelo selecciona variables internamente y divide los datos formando una estructura jerárquica para la clasificación de la variable binaria.
A continuación se presenta la visualizacion del árbol generado por el modelo tree. Esta gráfica permite identificar la estructura del proceso de clasificación a paprtir de los valores de las variables predictoras
Como se puede apreciar, el árbol comienza desde la raíz, en este caso, la variable raíz es el pib_percapita la cual presenta un punto de corte de 11,292.5. A partir de ahi, el modelo se divide en dos partes y en diferentes nodos los cuales a su vez se subdividen en dos lados adicionales progresivamente. Para interpretar el gráfico se usa la siguiente metodología: Si se opta por el lado izquierdo de la división se usa “Si” o “Verdadero”, y cuando se tome el lado derecho se usa el “No” o “Falso”.
Cuando pib_percapita < 11,292.5 (Lado izquierdo)
Y dioxido_percapita < 2.85, el modelo predice la categoría como un “No”. (Inferencialmente, esto catalogaría al país en cuestion con un desarrollo bajo. Esto puede pasar en países con poco capital económico y bajos niveles de contaminación, puesto que no se destacan por su sector industrial).
Y dioxido_percapita > 2.85, entonces el modelo predice la clase como un “Si”. (Esto puede entenderse como un países no tan ricos economicamente, pero presentan un mayor grado de contaminación por persona, en casos regulares, contaminación por el uso de combustibles fosiles).
Cuando pib_percapita > 11,292.5 (Lado derecho)
La variable satisfaccion_vital < 4.69
Y el num_emigrantes < 340,811, entonces se cataloga el elemento como “No” desarrollado altamente. (Se puede intuir como un país con buenos recursos financieros pero sin un estilo de vida decente, tal vez un país donde la gente no puede salir y gozar libremente).
El num_emigrantes > 340,811
Y el porcen_pib_comercio < 45.75, el modelo clasifica como “No”. (Se puede tratar de un país con buen capital y migración, pero con poco comercio en el mercado internacional, países poco desarrollados en diferentes ámbitos).
Y el porcen_pib_comercio > 45.75, se categoriza la clase como “Si”. (Los países que caigan en esta categoria se pueden entender como un territorio con recursos económicos, buenas labores en el ambito comercial, y aunque las personas abandonen el país, este continúa considerándose como desarrollado.).
La variable satisfaccion_vital > 4.69, el modelo dice que la fila entra en la clase “Si”. (Aquellos países caracterizados por tener una calidad de vida alta y una economia fuerte).
Una vez entrenado el modelo, se procedió a su evaluación utilizando el conjunto de prueba. Se muestra a continuación la matriz de confusión tree, las métricas del modelo, y la representación gráfica de la curva ROC con su respectiva AUC para medir el desempeño numericamente.
Seguidamente, se presenta la matriz de confusión del modelo, la cual permite observar la precisión en la prediccion del modelo luego de haber visualizado la representación del árbol con sus respectivas predicciones de las clases.
No | Sí | |
---|---|---|
No | 11 | 0 |
Sí | 1 | 25 |
La matriz del modelo solo cometió un error en las 37 filas del conjunto de prueba, indicando que el modelo es bastante bueno para identificar ambos tipos de clase.
Basándose en la matriz de confusión anterior, el modelo tree arrojó una serie de métricas de evaluación que permiten cuantificar el desempeño del modelo posterior a su ejecución.
Métrica | Valor |
---|---|
Accuracy | 0.973 |
95% CI | (0.8584, 0.9993) |
No Information Rate | 0.6757 |
P-valor [Acc > NIR] | 0.000009409 |
Kappa | 0.937 |
Mcnemar’s Test P-valor | 1 |
Sensitivity | 1.0000 |
Specificity | 0.9167 |
Pos Pred Value | 0.9615 |
Neg Pred Value | 1.0000 |
Prevalence | 0.6757 |
Detection Rate | 0.6757 |
Detection Prevalence | 0.7027 |
Balanced Accuracy | 0.9583 |
‘Positive’ Class | Si |
Para evaluar la capacidad del modelo para discriminar entre las clases del estudio, se incluye también la curva ROC correspondiente al modelo tree.
Este modelo presenta una curva que se eleva más rapido y se mantiene cercana al borde superior izquierdo. Esto dice que tiene una alta sensibilidad, es decir, una excelente capacidad para identificar correctamente a los países desarrollados. Además, presenta una alta especifidad, lo cual se traduce que casi no clasifica erroneamente países no desarrollados como desarrollados.
AUC modelo Árbol de Decisión (tree)
## [1] "AUC para el modelo tree: 0.958333333333333"
Este modelo de árbol de decisión emplea la libteria rpart, y a diferencia del modelo con tree, este incluye un proceso de poda automatica, lo cual ayuda a evitar el sobreajuste del modelo al momento de eliminar nodos que no aportan nada significativo al desempeño del modelo.
El siguiente gráfico muestra la estructura del árbol generado mediante la libreria rpart, en donde se puede visualizar la toma de decisiones del modelo.
Como se puede observar, este modelo utiliza las variables pib_percapita y satisfaccion_vital para predecir entre las categorias “Si” y “No” de la variable binaria (Desarrollo_alto), en donde la primera de estas dos variables es la raiz del modelo nuevamente, con un valor de corte en 11,000. Este modelo utiliza la misma metodologia de tree para su lectura, sin embargo, a diferencia del árbol anterior, este usa porcentajes para mostrar cuanta parte de los datos representa cada nodo y cuál es la decisión más probable (Según si el porcentaje de “Si” o “No” es mayor).
Antes de analizar las ramas, se observa los porcentajes del modelo, en donde principalmente aparece la variable pib_percapita con un 100% (representando todos los datos), los cuales se dividen en un 0.41 de “No” y un 0.59 de “Si”. Comoo 59% es mayor a 41%, la decisión que se toma es “Si” al desarrollo alto, y también de satisfaccion_vital este nodo representa el 62% del total de datos, con un 8% de “No” y un 92% de “Si”; y como 92% > 8%, la decisión es “Si” al desarrollo alto. Estos resultados no son decisiones finales, son simplemente resumenes estadísticos del nodo que ayudan entender lo que esta pasando en el modelo. Las decisiones finales se encuentran en las hojas, las cuales se presentan a continuación:
La decisión que se toma es “No” desarrollado, dado que 97% >3% de “Si”. Este resultado del “No” representa el 38% del total de los datos, es decir, que si un país tiene un pib_percapita bajo, será considerado no desarrollado. En la práctica, esto tiene sentido, puesto que un país sin recursos monetarios suficientes dificilmente puede ser considerado desarrollado.
Cuando pib_percapita > 11,000 (Lado derecho)
Y satisfaccion_vital < 4.7, la decisión es “No”. Este nodo representa el 8% del total de datos, y se toma esta decisión porque el 57% es “No” y el 43% es “Si”. En esta sección se puede considerar países con restricciones para la ciudadania, lo cual se refleja en la calidad de vida autopercibida.
Y satisfaccion_vital > 4.7, la decisión de la hoja es “Si” al desarrollo alto. Este nodo representa el 54% del total de los datos, con 100% de “Si” y 0% de “No”; como 100% > 0%, la decisión final es “Si”. En la actualidad, en esta categoria entran países con buenos recursos económicos y una alta calidad de vida, con una positiva satisfacción autoevaluada.
Para la evaluación del modelo de rpart se observó el desempeño del método sobre el conjunto de prueba, destacando los aciertos y errores arrojados en la clasificación.
Del mismo modo, seguidamente se muestra la matriz de confusión de este modelo, con el fin de mostrar los resultados del proceso de categorización de un modelo que evita el sobreajuste automáticamente al realizar la discriminación de las clases.
No | Sí | |
---|---|---|
No | 11 | 5 |
Sí | 1 | 20 |
La matriz tiene la misma precisión del modelo tree para identificar los elementos de la clase “No”. Sin embargo, este modelo cometió cinco errores al identificar la clase “Si”, lo que representa el 20% de esta.
A continuación se presentan las métricas arrojadas por el modelo de rpart, de esta manera se puede contrastar frente a los otros modelos de clasificación. Aqui se muestran diferentes medidas que miden el desempeño y la precisión de clasificación.
Métrica | Valor |
---|---|
Accuracy | 0.8378 |
95% CI | (0.6799, 0.9381) |
No Information Rate | 0.6757 |
P-valor [Acc > NIR] | 0.02211 |
Kappa | 0.6595 |
Mcnemar’s Test P-valor | 0.22067 |
Sensitivity | 0.8000 |
Specificity | 0.9167 |
Pos Pred Value | 0.9524 |
Neg Pred Value | 0.6875 |
Prevalence | 0.6757 |
Detection Rate | 0.5405 |
Detection Prevalence | 0.5676 |
Balanced Accuracy | 0.8583 |
‘Positive’ Class | Si |
De igual manera, tanto la curva ROC como el valor del AUC permite complementar la evaluación del modelo, esto a través de la visualización de su capacidad para distinguir entre clases positivas y negativas.
Por último, se presenta una curva bastante favorable, aunque por debajo del árbol con tree. Es un modelo que a primera vista es competente por la forma de su gráfica, con una aceptable capacidad de detección de los casos positivos y un bajo nivel de falsos positivos.
AUC modelo Árbol de Decisión (rpart)
## [1] "AUC para el modelo rpart: 0.931666666666667"
Posterior al entrenamiento de los modelos y visualizar el resultado de cada uno individualmente, se procedió a examinar e interpretar el desempeño real de cada modelo con el fin de entender la manera en la que clasifícan y el nivel de certeza con el que lo hacen. En esta sección se analizará el rendimiento de cada uno de los tres modelos (kNN, tree y rpart) mediante la comparación de los resultados arrojados luego de la ejecucion de cada uno utilizando el mismo conjunto de entrenamiento.
A continuación se puede observar de manera general las tres matrices de confusión arrojadas por cada modelo.
No | Sí | |
---|---|---|
No | 6 | 6 |
Sí | 6 | 19 |
No | Sí | |
---|---|---|
No | 11 | 0 |
Sí | 1 | 25 |
No | Sí | |
---|---|---|
No | 11 | 5 |
Sí | 1 | 20 |
Al comparar las tres matrices de confusión de manera conjunta, se puede apreciar fácilmente que los modelos basados en los árboles de decisión (tanto con tree como con rpart) superan por diferencia al modelo kNN. Este último muestra un balance debil entre falsos positivos y negativos, mientras que los otros dos modelos de árbol logran una separación considerablemente superior y más precisa. Se puede reafirmar que observando a manera general las matrices, los modelos basados en los árboles presentan una ventaja notoria en este problema específico.
A continuación, se presenta una recopilación a manera de resumen de las principales métricas de desempeño obtenidas a partir de las matrices de confusión de cada uno de los modelos estudiados (kNN, Árbol tree y Árbol rpart). A través de este cuadro, se puede observar y comparar el rendimiento general y por clase de cada modelo, permitiendo tener una vista panoramica de los resultados obtenidos posterior a la ejecución del proceso de clasificación, y asi finalmente poder determinar cual es el modelo óptimo entre los estudiados.
kNN | Árbol (tree) | Árbol (rpart) | |
---|---|---|---|
Accuracy | 0.6757 | 0.9730 | 0.8378 |
95% CI Lower | 0.5021 | 0.8584 | 0.6799 |
95% CI Upper | 0.8199 | 0.9993 | 0.9381 |
Kappa | 0.2600 | 0.9370 | 0.6595 |
Mcnemar’s Test P-Value | 1.0000 | 1.0000 | 0.2207 |
Sensitivity | 0.7600 | 1.0000 | 0.8000 |
Specificity | 0.5000 | 0.9167 | 0.9167 |
Positive Predictive Value (PPV) | 0.7600 | 0.9615 | 0.9524 |
Negative Predictive Value (NPV) | 0.5000 | 1.0000 | 0.6875 |
Prevalence | 0.6757 | 0.6757 | 0.6757 |
Detection Rate | 0.5135 | 0.6757 | 0.5405 |
Detection Prevalence | 0.6757 | 0.7027 | 0.5676 |
Balanced Accuracy | 0.6300 | 0.9583 | 0.8583 |
Luego de obtener las matrices de confusion, y posteriormente las métricas arrojadas por cada modelo, se procedió a interpretar estos datos teniendo en cuenta aquellos que se consideran más importantes con el objetivo de evitar redundancias.
Modelo con kNN
El modelo kNN muestra el menor desempeño de los tres. Esto se evidencia en el Accuracy del 67,57%, junto a un Sensibility y Specifity del 76% y 50% respectivamente, lo que quiere decir que se equivocó bastante en la clasificación de los datos. Un factor a destacar es que el Accuracy y el NIR tienen el mismo porcentaje, es decir, si el modelo decidiera clasificar todos los elementos con la clase “Si”, éste acertaría el mismo número de veces, aunque no se haya basado en datos.
Por otro lado, el valor Kappa es de 0.27, lo que indica una concordancia regular y que el modelo es mejor que el azar, pero por muy poco. El P-Value es mayor a 0.05, lo que significa que el modelo no es bueno prediciendo el tipo de clase. Por último, el McNemar’s test tiene el valor más alto, por lo que no hubo ningún tipo de sesgo a la hora de identificar la clase.
Modelo con tree
Este modelo destaca a primera vista debido a que cuenta con un Accuracy del 97.3%, junto a un Sensibility y Specifity casi perfectos (1 y 91,67% respectivamente). Además, cuenta con un nivel Kappa del 93,7%, lo que indica una concordancia casi perfecta respecto a los valores reales, ya que demuestra que la suerte no es un factor determinante en cuanto a la selección de los datos. Su Balanced Accuracy cuenta con un 95.83%, reflejando que a pesar de que las clases están desbalanceadas, se cuenta con un desempeño excelente. El P-Value es un valor muy bajo (0.000009409), lo que indica una gran precisión, y el McNemar’s Test tiene el valor más alto posible, por lo que el modelo no tuvo ningún tipo de sesgo a la hora de analizar los datos.
Modelo con rpart
El modelo rpart tiene un Accuracy de 83.78%, acompañado de un _Sensibility- del 80% y Specificity de 91.67%, lo que nos indica que pasó por alto 20% de los casos positivos de la clase “Si”, pero es igual de bueno que el modelo tree para identificar la clase “No”. El coeficiente de Kappa (0.6595) indica una concordancia sustancial, es decir, el modelo tiene un buen nivel de acuerdo con los datos y no acierta sólo por casualidad, pero se puede mejorar. El Balanced Accuracy es bastante alto, incluso más que el Accuracy, por lo que el desbalance de clases no es un problema. El P-Value es menor a 0.05 y el McNemar’s Test mayor a 0.05, lo que indica precisión en el modelo.
A continuación se puede observar el contraste de cada una de las curvas ROC proporcionadas en los resultados de los modelos, las cuales permiten visualizar detalladamente el comportamiento de cada modelo más alla del análisis de la matriz de confusión individual. De esta manera, el gráfico permite comprender la precisión de la clasificación y la capacidad real de cada modelo al observar las curvas graficadas una al lado de la otra.
Las curvas ROC muestran la relación entre la tasa de verdaderos positivos (sensibilidad) y la tasa de falsos positivos (1 - especificidad). Cuanto más cerca se encuentre una curva del vértice superior izquierdo, mejor será el desempeño del modelo, ya que implica alta sensibilidad y baja tasa de falsos positivos.
A primera vista, la curva ROC del modelo basado en tree sobresale por su cercania al vértice superior izquierdo. La curca de rpart sigue un comportamiento muy similar a la curva de tree, pues apenas presenta una ligera desviación respecto a esta, la cual sugiere una diferencia leve en la precisión de ambos modelos. En cambio, se puede observar como la curva de knn muestra un recorrido bastante alejado de lo ideal, de hecho, se encuentra no muy lejos de lo equivalente a una clasificación por azar.
Estos resultados muestran que el modelo tree es el que mejor equilibra errores, mientras que a pesar de que el modelo rpart tiene una sensibilidad y especifidad alta, no alcanza el nivel que tuvo el modelo mencionado anteriormente. Directamente, el modelo knn es el menos específico y sensible a comparación de los modelos de los árboles de decisión.
Aparentemente, estas diferencias en las curvas ROC entre los modelos de árboles y el modelo de k-Vecinos Más Cercanos se pueden explicar teniendo en cuenta la manera en la que cada algoritmo de clasificación toma decisiones. Los modelos de árboles manejan una estructura basada en la jerarquia, lo cual en principio parece funcionar mejor con la logica del conjunto de datos, en cambio, el algoritmo kNN se puede ver perjudicado por bases de datos menos uniformes, dado que este depende principalmente de la cercania entre puntos en el apartado de las caracteristicas de los datos. En este caso, como ya se mencionó, los datos parecen poseer una naturaleza que se acopla mejor a los dos modelos de árboles de decisión en lugar del modelo basado en knn.
A través del valor del AUC permite conocer que tan confiables son las decisiones de cada modelo a la hora de clasificar el conjunto de prueba proporcionado. Se puede apreciar la comparación entre los tres valores del área bajo la curva de cada modelo, y con base en estos se puede determinar si el modelo en cuestion posee estabilidad frente a las condiciones de clasificación dadas, además de dar una idea de que tan bueno es su rendimiento general en su ejecución.
kNN | tree | rpart |
---|---|---|
0.6683 | 0.9583 | 0.9317 |
Al observar los valores del AUC obtenidos para los tres modelos, es más evidente visualizar las diferencias entre la capacidad de discriminación entre las clases en cada modelo.
El modelo kNN posee un AUC con un valor un poco pobre, puesto que si se visualiza su respectiva curva ROC, se puede observar que apenas se despega de la diagonal de azar, lo cual indica que su capacidad de clasificar correctamente es apenas mejor que una predicción que se realiza de manera aleatoria; los valores AUC cercanos a 0.5 asemejan una distribución equivalente al azar, y en el caso del modelo del kNN estos dos valores no presentan una diferencia muy notoria entre ellos.
En contraste, el árbol de decisión de tree alcanza un AUC principalmente alto, el cual representa un salto considerable en la calidad del modelo si se compara con el kNN. Este valor tan cercano a 1 indica un desempeño bastante alto, con una buena capacidad de distinguir entre las clases positivas y negativas del estudio. Este valor de AUC se puede entender como una adaptación ideal del modelo tree respecto al conjunto de datos proporcionado (conjunto de entrenamiento).
Por otro lado, el árbol de decisión de rpart también logró un valor de AUC alto, el cual es un valor bastante parecido al del modelo anterior. Se podría decir que los metodos de clasificación basados en arboles de decisión presentan solidez y son más óptimos para este problema. Se puede observar que el AUC de rpart es ligeramente inferior al del modelo tree, sin embargo, el rendimiento se sigue manteniendo en un rango que se puede catalogar como clasificación efectiva.
Luego de haber estudiado y analizado a detalle cada uno de los tres modelos de clasificación (Knn, Árbol trree y Árbol rpart) con el objetivo de determinar cual ofrecía mejor desempeño a discriminar cada una de las categorias, se realizó un breve resumen del rendimiento comparado con el fin de sintetizar la información más relevante arrojada por la investigación.
El modelo kNN mostró un comportamiento medianamente decente aunque por debajo de lo que se esperaba. El modelo presentó una exactitud de 67.6% aproximadamente y un AUC de 0.6683. Su sensibilidad del 76% superó ligeramente su especifidad del 50%, pero el número equilibrado de falsos positivos y negativos evidencia la dificultad del modelo para separar claramente ambas clases (6 VN, 19 VP, 6 FN y 6 FP).
El árbol de decisión tree sobresale en casi todos los apartados, por no decir todos. Obtuvo una matriz casi perfecta (11 VN, 25 VP, 0 FN y 1 FP), llegando a una exactitud de 97.3% y un AUC de 0.9583. La curva ROC de este modelo se acerca bastante al vértice superior izquierdo, mostrando una capacidad de discriminación muy superior entre las categorias.
El modelo de rpart obtuvo un rendimiento considerablemente alto, pero ligeramente inferior al modelo de tree. Este modelo puntualmente obtuvo una exactitud de 83.8% y un AUC DE 0.9317. A pesar de ser un poco mas bajo respecto al modelo anterior, este mantiene una especifidad alta (91.7%) y un balance de precisión que sigue considerandose bastante solido (11 VN, 20 VP, 5 FN y 1 FP), y más teniendo en cuenta los resultados que arrojó el modelo kNN.
En conclusión, a pesar de que el modelo rpart presenta ventajas en su funcionamiento respecto al otro modelo de árbol de decisión, el modelo tree, el cual carece de un proceso automatico de poda para evitar el sobreajuste del modelo, se sobrepone sobre los demás como la opción optima en este estudio. Esta decisión se debe a diversos factores, los cuales en conjunto muestran por si solos por qué este modelo es el más adecuado y el elegido. Empezando por el hecho de que el modelo tree cuenta con una exactitud del 97.3%, este árbol de decisión posee una sensibilidad y especifidad casi perfectas, aspectos que lo convierten en el método de clasificación ideal para la categorización de países con desarrollo humano alto o no, puesto que este fue el punto de partida de la investigación.
Resumidamente, el árbol de decisión de tree posee las métricas más sobresalientes entre los tres modelos estudiados, presenta la mejor curva ROC con el respectivo valor de AUC más alto, cercano al valor máximo de 1. Este modelo es altamente confiable para identificar correctamente los casos positivos y negativos, lo cual se ve reflejado principalmente en la matriz de confusión correspondiente. Lo anterior convierte al árbol de decisión tree en el modelo seleccionado para este análisis.