Es posible clasificar los países mediante el uso del indicador de Índice de Desarrollo Humano de las Naciones Unidas o IDH por sus siglas. La clasificación resultante después de evaluar este índice nos da como resultado dos posibles alternativas con las cuales se pueden catalogar los diferentes estados las cuales son desarrollado o emergente. Se dice que un país es desarrollado cuando este ha alcanzado un producto interno bruto o PIB alto y muestra resultados positivos en sus indicadores de desarrollo, además que cuenta con un nivel de IDH mayor o igual a 0.9.
Por otro lado se dice que un país se clasifica como emergente cuando se encuentra en vía de desarrollo o se ha desarrollado industrialmente en los últimos años, esta clasificación se refiere a países que están saliendo del subdesarrollo por medio de una economía en constante crecimiento; el nivel de IDH de un país emergente se encuentra en valores menores a 0.9.
A continuación se presentará un modelo de aprendizaje supervisado con el cual se catalogan, mediante el uso de ciertas variables de una base de datos del año 2018, si un país es desarrollado o emergente. Cabe recalcar que la base de datos usada cuenta con datos faltantes importantes que en consecuencia afectan a la precisión del modelo situándose en un máximo de 77%.
library(tidyverse)
library(ggplot2)
library(caret)
A <- read_csv("WHO.csv", show_col_types = FALSE)
Base1 <- A %>%
filter(Year == 2018)
Base2 <- select(Base1, 4, 5, 9, 16, 17, 18, 23, 24)
Base3 <- na.omit(Base2)
Tomando como referencia la base de datos WHO, se dio como objetivo ajustar un modelo knn para clasificar los países según su status entre desarrollado o emergente, para esto en primer lugar se procedió a cargar las distintas librerías que se necesitaban para hacer el modelo, luego se escogió un año especifico para seleccionar los datos con los que se iban a trabajar, tomando como referencia aquellos datos pertinentes al 2018, se escogieron 7 variables como características de clasificación en el modelo. Una vez decididas las variables se creó una base de datos con estas, para realizar una limpieza, con el fin de eliminar datos faltantes que se pudieran encontrar en alguna de las filas de tabla de datos.
Base4 <- Base3 %>%
mutate(Status = ifelse(Status == "Developed", "Desarrollado", "Emergente")) %>%
mutate_at(c("Status"), ~as.factor(.))
Base4
## # A tibble: 172 × 8
## Status Life.expectancy Percent…¹ HIV.A…² GDP Popul…³ Homic…⁴ Ferti…⁵
## <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Emergente 64.5 9.40 2.37e-3 494. 3.72e7 8.52 4.33
## 2 Emergente 60.8 2.55 0 3290. 3.08e7 9.38 5.55
## 3 Emergente 78.5 5.26 3.49e-1 5284. 2.87e6 3.67 1.71
## 4 Emergente 77.8 4.23 2.08e-3 43839. 9.63e6 0.74 1.72
## 5 Emergente 76.5 9.62 0 11633. 4.45e7 6.08 2.26
## 6 Emergente 74.9 10.0 4.40e-3 4220. 2.95e6 3.82 1.6
## 7 Emergente 76.9 5.23 0 16673. 9.63e4 2.44 2.03
## 8 Desarrollado 82.7 9.28 4.00e-5 57355. 2.50e7 0.99 1.83
## 9 Desarrollado 81.7 10.3 0 51478. 8.84e6 0.54 1.52
## 10 Emergente 72.9 3.51 2.01e-4 4740. 9.94e6 2.52 2.04
## # … with 162 more rows, and abbreviated variable names ¹Percentage.expenditure,
## # ²HIV.AIDS, ³Population, ⁴Homicides, ⁵Fertility
set.seed(28)
indxEntrena <- createDataPartition(y = Base4$Status, p = 0.75, list = FALSE)
SP_Entrena <- Base4 [indxEntrena, ]
SP_Test <- Base4 [-indxEntrena, ]
Una vez limpia la base de datos se traduce al español el nombre de la variable status, con el fin de facilitar el manejo de los datos. Posteriormente, para poder utilizar la variable status en el modelo es necesario que se encuentre como factor, por esto se mutó para convertirla a un factor, ya que, en la base de datos estaba como un carácter.
Una vez lista la base de datos, se selecciona la semilla con la que se va a trabajar, esto con el fin de forzar a que los valores de la muestra aleatoria que se van a seleccionar sean los mismos siempre, asimismo, se dividieron los datos en dos grupos, en primer lugar un 75% de los datos sería utilizado para entrenar el modelo y el restante se usará como prueba para ver que tan eficiente fue el modelo.
SP_knnEntrenado <- train(Status ~ .,
data = SP_Entrena,
method = "knn",
tuneLength = 20
)
SP_knnPrediccion <- predict(SP_knnEntrenado, newdata = SP_Test)
prob_knnprediccion <- predict(SP_knnEntrenado, newdata = SP_Test, type = "prob")
confusionMatrix(SP_knnPrediccion, SP_Test$Status)
Luego se procede a entrenar el modelo por medio del método knn, usando la lista de datos previamente seleccionada. Una vez entrenado el modelo, con ayuda de la librería caret se hace una predicción con la función predict y los datos seleccionados para la prueba, con ayuda del modelo entrenado se predecir la clasificación del estatus de estos datos, por último una vez hecha la predicción se hace una comparación de la predicción hecha por el modelo y el valor real de la clasificación estatus para estos se utiliza la matriz de confusión.
Las 7 variables que fueron seleccionadas además de la de “Status” quién va a indicar cuando un país es emergente o desarrollado, fueron:
Es el promedio de años que se espera que viva una persona en ese país, este indicador se determina por factores como el sexo, la educación, condiciones de salud y las medidas preventivas, además del nivel económico de la población. Este se calcula como la cantidad de años que vive una población predeterminada en un cierto periodo de tiempo.
De acuerdo a la base de datos, el país con menor expectativa de vida es de 52.81 años y el más alto de 84.21 años. El promedio de expectativa de vida en el año 2018 entre todos los países fue de 72.4 años, la mediana del mismo año, es decir, el dato central fue de 73.7 años y con el histograma, se puedo determinar que el intervalo con mayor frecuencia de expectativa de vida fue de los 70 a 75 años.
Por otro lado, según el gráfico de cajas, se encontró que en los países desarrollado se encuentra una mayor expectativa de vida a diferencia de los emergentes la cual es más baja. Como se puede observar, la expectativa de vida más baja en los países desarrollados es de 74.78 años y la más alta de 84.21 años, mientras que en los emergentes la más baja es de 52.80 años y la más alta de 80.09 años
Esta variable se refiere al gasto del gobierno en sanidad como porcentaje del producto interno bruto (PIB). Lo mínimo gastado en sanidad por parte de un gorbierno de un país fue de apenas el 2.14% del PIB, por otro lado, el más alto fue del 16.89% del PIB.
El promedio del porcentaje de gasto en salud del año 2018 de los países fue del 6.45% y con la mediana de 6.26%. Además, según el histograma, 15 países destinaron en gastos aproximadamente 6.61% a la salud.
Indica la cantidad de muertes causadas por el VIH de cada 1000 personas que se tomaron el examen y no dieron positivo. En el año 2018 el mínimo registro de muertes causadas por esta fue de 0 y el máximo de 4.03, además, un promedio de 0.077 murieron a causa del VIH/SIDA.
Es el valor monetario de todos los bienes y servicios producidos en un año, en este caso del año 2018, es utilizada para medir el crecimiento económico de un país, en la base de datos se encuentra representada en dólares para cada uno de los países.
En el año 2018, el país con menor ingreso del PIB fue de apenas 271.75 dólares, mientras que el país con mayor PIB fue de 116654.3 dólares. La mediana, es decir, el dato central de este conjunto de datos fue de 6043.68 y el promedio del PIB entre todos los países del año 2018 es de 14555.56.
Como se puede observar, la variable del PIB muestra bastante variabilidad y cuenta con muchos datos atípicos debido a que hay una brecha bastante grande entre países desarrollados y emergentes, por lo que la mayoría de datos atípicos son de países desarrollados o con un PIB bastante alto en comparación al resto de los países.
Indica la población de un país, es decir, la cantidad que se encuentran viviendo en un país. El país con menor población es de un número de 96286 personas y el país con mayor población es de 1’392.730.000 personas.
El ratio de homicidios por cada 100000 personas del país, el país con menor escala de homicidios en el año 2018 fue Japón con 0.22 y el que tuvo una mayor escala fue El Salvador con 83.25.
En el año 2018, un promedio 8.28 personas de cada 100000 fueron víctimas de homicidios en todo el mundo y la mediana fue de 4.47.
Cantidad de hijos que tendría una mujer si esta viviese hasta el final de su edad fértil. El país con menor registro de esta variable fue de 1.23 y el mayor de 7.13, por otro lado, en el año 2018 las mujeres tuvieron un aproximado 2.69 hijos cada una y la mediana fue de 2.2.
## Confusion Matrix and Statistics
##
## Reference
## Prediction Desarrollado Emergente
## Desarrollado 0 0
## Emergente 10 33
##
## Accuracy : 0.7674
## 95% CI : (0.6137, 0.8824)
## No Information Rate : 0.7674
## P-Value [Acc > NIR] : 0.583771
##
## Kappa : 0
##
## Mcnemar's Test P-Value : 0.004427
##
## Sensitivity : 0.0000
## Specificity : 1.0000
## Pos Pred Value : NaN
## Neg Pred Value : 0.7674
## Prevalence : 0.2326
## Detection Rate : 0.0000
## Detection Prevalence : 0.0000
## Balanced Accuracy : 0.5000
##
## 'Positive' Class : Desarrollado
##
En el reporte estadístico arrojado por el modelo se puede observar un 76.74% de exactitud (accuracy), el accuracy del modelo es la proporción de veces que el algoritmo predijo correctamente, respecto al total de datos evaluados, posterior a este dato se encuentra un intervalo de confianza del 95% de dicha exactitud.
En la parte superior se encuentra la matriz de error donde se visualiza que hay cero verdaderos positivos y cero falsos positivos, también, el dato de 10 y 33 falsos negativos y verdaderos negativos respectivamente, se puede decir que el modelo se ha equivocado en la clasificación de 10 datos del total utilizados. Debido a lo anterior la sensibilidad del modelo es cero, pues este no es capaz de identificar los verdaderos positivos de nuestra base de datos. Por el contrario la especificidad es del 100%, lo que significa que el modelo es capaz de identificar ese porcentaje de verdaderos negativos de la base de datos. Por lo anteriormente mencionado no se tiene un porcentaje de valor de predicción positivo, mientras que el valor de predicción negativo es de 76.74% que indica la probabilidad que tiene un país clasificado como emergente de realmente serlo.
El valor de k hace referencia a la cantidad de vecinos más cercanos utilizados para poder predecir el valor de la variable en cuestión, la precisión de esta predicción varía en torno a la cantidad usada en el modelo.
En este gráfico se puede ver representado la exactitud o la precisión para un valor de k de 1 a 43 en donde 39 sería el valor de vecinos usado para clasificar nuestra variable.
Se visualiza como en relación con un k de 39 la precisión del modelo tiende a un 78% como se muestra en los resultados del modelo anteriormente presentados.
En torno a la capacidad de clasificación del modelo presentado, a partir de la base de datos WHO con variables tomadas del año 2018 y a un valor k de 39 vecinos cercanos, es posible concluir que el modelo tiene la capacidad en mayor medida de clasificar o identificar a los verdaderos negativos en comparación de a los verdaderos positivos.
Dado a que la sensibilidad presenta una valor porcentual del 0.0, mientras que la especificidad de un 1.0. Esto hace referencia a que el modelo clasifica con mayor probabilidad si un país, que en este caso representa la variable de estudio, puede ser clasificado como emergente, mientras que por el contrario, la capacidad predictiva del modelo en torno a si un país hace parte del grupo de los desarrollados es bastante baja o menor en comparación con su capacidad de predicción frente a los países emergentes. Nuevamente esta situación puede ser atribuida a la ausencia de datos en variables con un alto nivel de importancia, como lo es la mortalidad en adultos o el nivel de escolaridad, en la clasificación del estatus de los países.
Las capacidades del modelo anteriormente propuestas se pueden visualizar mediante una matriz de confusión, en la cual, tanto los valores de los falsos positivos como los verdaderos positivos son 0, a comparación de los falsos negativos y verdaderos negativos en donde si se nos presentan cifras siendo 10 para los falsos negativos y 33 para los verdaderos negativos.
País emergente. (s/f). Edu.lat. Recuperado el 22 de mayo de 2023, de https://definicion.edu.lat/economia/pais-emergente.html
País Emergente: qué es, índices, ventajas y características. (s/f). Recuperado el 22 de mayo de 2023, de https://humanidades.com/pais-emergente/
Producto Interno Bruto (PIB) | Banco de la República. (s/f). Gov.co. Recuperado el 22 de mayo de 2023, de https://www.banrep.gov.co/es/glosario/producto-interno-bruto-pib
Quiroa, M. (2020, junio 3). Esperanza de vida. Economipedia. https://economipedia.com/definiciones/esperanza-de-vida.html
Westreicher, G. (2019, noviembre 17). País emergente. Economipedia. https://economipedia.com/definiciones/pais-emergente.html