Exploración de datos

Explore y explique en qué consiste el dataset utilizando herramientas de exploración de datos.

a. Releve las características de los atributos.

Verificamos los nombres de los atributos y sus características con str:

MPI_subnational = read.csv('https://raw.githubusercontent.com/dmuba/dmuba.github.io/master/Practicos/LAB01/MPI_subnational.csv', header = TRUE, sep = ',')

# Nombres de variables
names(MPI_subnational)
## [1] "ISO.country.code"                  "Country"                          
## [3] "Sub.national.region"               "World.region"                     
## [5] "MPI.National"                      "MPI.Regional"                     
## [7] "Headcount.Ratio.Regional"          "Intensity.of.deprivation.Regional"
# Caracteristicas de las variables
str(MPI_subnational)
## 'data.frame':    984 obs. of  8 variables:
##  $ ISO.country.code                 : chr  "AFG" "AFG" "AFG" "AFG" ...
##  $ Country                          : chr  "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
##  $ Sub.national.region              : chr  "Badakhshan" "Badghis" "Baghlan" "Balkh" ...
##  $ World.region                     : chr  "South Asia" "South Asia" "South Asia" "South Asia" ...
##  $ MPI.National                     : num  0.295 0.295 0.295 0.295 0.295 0.295 0.295 0.295 0.295 0.295 ...
##  $ MPI.Regional                     : num  0.387 0.466 0.3 0.301 0.325 0.313 0.319 0.25 0.245 0.384 ...
##  $ Headcount.Ratio.Regional         : num  67.5 79.3 59.7 55.7 61 65.1 61.4 49.4 47.4 74.6 ...
##  $ Intensity.of.deprivation.Regional: num  57.3 58.8 50.3 54.1 53.3 48.1 52 50.6 51.6 51.5 ...

b. Represente gráficamente la cantidad de ciudades agrupados por Región.

pie(table(MPI_subnational$World.region), main="Ciudades agrupadas por región")

Medidas de posición

Calcule las medidas de posición para los atributos numéricos y agrupe los cálculos de acuerdo a la Región.

# Calculo la Media
apply(MPI_subnational[,5:8], 2, mean, na.rm=TRUE)
##                      MPI.National                      MPI.Regional 
##                         0.2041067                         0.2113303 
##          Headcount.Ratio.Regional Intensity.of.deprivation.Regional 
##                        40.1844512                        47.1809766
# Calculo la Mediana
apply(MPI_subnational[,5:8], 2, median, na.rm=TRUE)
##                      MPI.National                      MPI.Regional 
##                             0.174                             0.155 
##          Headcount.Ratio.Regional Intensity.of.deprivation.Regional 
##                            33.950                            45.600
# Calculo de moda
library(modeest)
## Warning: package 'modeest' was built under R version 4.0.4
apply(MPI_subnational[,5:8], 2, mfv, na.rm=TRUE)
## argument 'na.rm' is soft-deprecated, please start using 'na_rm' instead
## argument 'na.rm' is soft-deprecated, please start using 'na_rm' instead
## argument 'na.rm' is soft-deprecated, please start using 'na_rm' instead
## argument 'na.rm' is soft-deprecated, please start using 'na_rm' instead
## $MPI.National
## [1] 0.066 0.303
## 
## $MPI.Regional
## [1] 0.006
## 
## $Headcount.Ratio.Regional
## [1] 6.5
## 
## $Intensity.of.deprivation.Regional
## [1] 41.9 42.7

Cálculos agrupados por región

Se define un ejemplo de una medida de posición (media) agrupada por región:

# Agrupando por Región
aggregate(MPI.National ~ World.region, data=MPI_subnational, FUN=mean)
##                  World.region MPI.National
## 1                 Arab States   0.11078261
## 2   East Asia and the Pacific   0.12432812
## 3     Europe and Central Asia   0.02890909
## 4 Latin America and Caribbean   0.05427064
## 5                  South Asia   0.20904938
## 6          Sub-Saharan Africa   0.33203016

a. Ordene los resultados del MPI resultante y concluya al respecto. Help(order).

# Por país
MPI_x_WR=aggregate(MPI.National ~ World.region, data=MPI_subnational, FUN=mean)
# Ranking
MPI_x_WR[order(-MPI_x_WR$MPI.National),]
##                  World.region MPI.National
## 6          Sub-Saharan Africa   0.33203016
## 5                  South Asia   0.20904938
## 2   East Asia and the Pacific   0.12432812
## 1                 Arab States   0.11078261
## 4 Latin America and Caribbean   0.05427064
## 3     Europe and Central Asia   0.02890909

En función del MPI (Multidimensional Poverty Measures) ordenado de forma descendente se puede concluir respecto a la pobreza promedio por región. En función de ello, se observa que la región mundial con mayores índices de pobreza en función de la métrica MPI es Sub-Saharan Africa con 0.33, seguida por South Asia, con 0.20. Para el resto de las regiones mundiales el indicador varía entre 0.12 y 0.02 que es el menor valor (observado para Europe and Central Asia).

b. Grafique las variables y observe su comportamiento (graph: barplot, pie & hist).

Ejemplo de variable continua:

hist(MPI_subnational$MPI.National, main = "Histograma del MPI.National", xlab = "MPI.National", ylab = "Frecuencia")

El histograma de la variable MPI.National permite ver que una gran proporción de los valores se encuentran entre 0 y 0.1. Luego, es posible observar que existe una nueva concentración de observaciones en torno 0.25-0.4, por encima de esos valores la cantidad de observaciones disminuye.

Ejemplo de variable discreta:

pie(table(MPI_subnational$World.region), main="Países agrupados por región")

# Genera un Data Frame con Región y MPI National promedio
df.agg = aggregate(MPI.National ~ World.region, data=MPI_subnational, FUN=mean)
# Ordenamos por MPI
data = df.agg[order(df.agg$MPI.National, decreasing = F),]
# Configuramos parámetros del lienzo donde se va a plotear
# principalmente el margen izquierdo (el valor 12) para que entren los nombres
# de las regiones
par(mfrow=c(1, 1), mar=c(5, 12, 4, 2) )
barplot(height = data$MPI.National,
        names.arg = data$World.region,
        main="MPI Nacional promedio / Region",
        las=2,
        cex.names = 0.80,
        xlim=c(0,0.35),
        xlab = "MPI Nacional",
        horiz = T)

En los gráficos precedentes puede observarse que las regiones que cuentan con mayor cantidad de países observados son Sub-Saharan Africa y Latin America and Caribbean. A continuación le siguen East Asia and the Pacific, Arab States, South Asia mientras que la región con menos paises observados es Europe and Central Asia.

Medidas de dispersión

Calcular el desvío estándar, la varianza y el rango para cada una de las variables.

Cálculo del desvío estandar para cada atributo numérico:

apply(MPI_subnational[,5:8], 2, sd, na.rm=TRUE)
##                      MPI.National                      MPI.Regional 
##                         0.1602476                         0.1836210 
##          Headcount.Ratio.Regional Intensity.of.deprivation.Regional 
##                        29.9814031                         8.0472253

Cálculo de la varianza para cada atributo numérico:

apply(MPI_subnational[,5:8], 2, var, na.rm=TRUE)
##                      MPI.National                      MPI.Regional 
##                        0.02567929                        0.03371667 
##          Headcount.Ratio.Regional Intensity.of.deprivation.Regional 
##                      898.88452910                       64.75783530

Cálculo del rango para cada atributo numérico:

apply(MPI_subnational[,5:8], 2, range, na.rm=TRUE)
##      MPI.National MPI.Regional Headcount.Ratio.Regional
## [1,]        0.006        0.000                        0
## [2,]        0.605        0.744                       99
##      Intensity.of.deprivation.Regional
## [1,]                              33.3
## [2,]                              75.9

Cálculo del Coeficiente de Variación para cada atributo numérico (mediante la función cv del paquete statip):

apply(MPI_subnational[,5:8], 2, statip::cv, na_rm=TRUE)
##                      MPI.National                      MPI.Regional 
##                         0.7851167                         0.8688816 
##          Headcount.Ratio.Regional Intensity.of.deprivation.Regional 
##                         0.7460946                         0.1705608

También puede ser calculado usando una función propia:

apply(MPI_subnational[,5:8], 2, FUN = function(x) sd(x,na.rm=TRUE)/mean(x, na.rm=TRUE))
##                      MPI.National                      MPI.Regional 
##                         0.7851167                         0.8688816 
##          Headcount.Ratio.Regional Intensity.of.deprivation.Regional 
##                         0.7460946                         0.1705608

a. Realice diagramas de cajas y scatterplot’s. Documente las conclusiones.

Diagramas de cajas:

boxplot(MPI_subnational[,5:6], main="Boxplot de MPI National y Regional")


En este boxplot puede observarse que las distribuciones de ambas variables no presentan valores extremos, pero presentan un sesgo hacia la derecha, particularmente MPI.Regional, lo cual significa que existen más cantidad de observaciones sobre la mediana que por debajo de ella.


En este boxplot puede observarse que la distribución de Headcount.Ratio.Regional presenta se distribuyen de manera homogénea en torno a la mediana registrando un leve sesgo hacia la derecha, sus valores varían entre 0-100 y no se observan valores atípicos (o por fuera de +/-1.5*IQR). En cambio, la variable Intensity.of.deprivation.Regional posee una distribución compacta concentrada en torno a la mediana con sus datos concentrados entre 35-65 aproximadamente. Además, registra presencia de valores atípicos en el extremo superior de la distribución.

Gráficos de dispersión:


b. ¿Qué variable es la que presenta mayor dispersión? Tenga en cuenta que cada variable puede estar expresada en diferentes unidades y magnitudes.

Dada la diferencia de magnitudes se utilizó el Coeficiente de Variación, este muestra que la mayor variación porcentual se adjudica a MPI.Regional (con ~86.8%), es seguida por MPI.Nacional (~78.5%), en tercer lugar Headcount.Ratio.Regional (~74.6%) y por último Intensity.of.deprivation.Regional (~17%). Esto es coherente con lo observado en los gráficos de cajas donde los bigotes más amplios son los de la variable MPI.Regional y la distribución más compacta es Intensity.of.deprivation.Regional.

Medidas de asociación

Calcular el coeficiente de correlación de todas las variables y explique el resultado.

matriz.correlaciones = cor(MPI_subnational[,5:8], use = "complete.obs")
colnames(matriz.correlaciones)=c("MPI.Nat","MPI.Reg","Headcount.Reg","Intensity.Reg")
rownames(matriz.correlaciones)=c("MPI.Nat","MPI.Reg","Headcount.Reg","Intensity.Reg")
print(matriz.correlaciones)
##                 MPI.Nat   MPI.Reg Headcount.Reg Intensity.Reg
## MPI.Nat       1.0000000 0.8589756     0.8554401     0.8136333
## MPI.Reg       0.8589756 1.0000000     0.9839708     0.9446785
## Headcount.Reg 0.8554401 0.9839708     1.0000000     0.9029842
## Intensity.Reg 0.8136333 0.9446785     0.9029842     1.0000000

Como puede observarse en el cálculo del coeficiente de correlación de Pearson, todas las variables tienen una correlación positiva alta entre sí, observando coeficientes de correlación entre 0.81 y 0.98.

¿Qué tipo de gráficos describen mejor esta relación entre las variables?

Los gráficos que mejor describen la relación entre variables son los diagramas de dispersión. Como se observa en los gráficos del punto anterior en la matriz de scatter plots, ya se observa una relación lineal entre todas las variables observadas del dataset. Esa dependencia se ve reflejada en los valores de correlación de Person obtenidos.