Medición de Pobreza Monetaria y Desigualdad 2023

Author

Vivian Garavito - Sara Reina

Medición de Pobreza Monetaria y Desigualdad 2023

Variables Seleccionadas

Categóricas

  • Clase

  • Sexo

  • Seguridad social en salud

  • Régimen de seguridad social en salud

  • Nivel educativo

  • Ocupación

  • Prima de servicios en los últimos 12 meses

  • Prima de navidad en los últimos 12 meses

  • Cotiza actualmente en el fondo de pensiones

  • Trabajo o negocio además de la ocupación principal

  • Recibió pagos por concepto de arriendos o pensiones en el mes pasado

  • Recibió ingresos por intereses de préstamos, CDT’s o similares en los últimos 12 meses

  • Prima de vacaciones en los últimos 12 meses

  • Parentezco

  • Realizó horas extras

Cuantitativas

  • Años cumplidos

  • Antigüedad en el empleo

  • Ingresos mes pasado por empleo

  • Prima de servicios (valor)

  • Prima de navidad (valor)

  • Prima de vacaciones (valor)

  • Ingresos por segundo trabajo o negocio

  • Pagos por arriendos del mes pasado

  • Dinero por intereses de préstamos, CDT’s o similares

  • Ingreso total observado

  • Ingreso total

  • Horas laboradas

Librerias

# 4 cifras significativas y sin notación científica:
options(digits = 4, scipen = 999) 
# líbrerias
library(readxl)         
library(dplyr)
library(forcats)
library(FactoClass)
library(ade4)
library(knitr) # para función kable (tablas estáticas)
library(DT) # para tablas interactivas
library(plotly) # para gráficos interactivos
library(scatterplot3d)
library(FactoMineR)
library(factoextra)
library(GDAtools)
library(cluster)

Carga de datos

# Verifica la carpeta de trabajo actual
setwd("C:/Users/DELL/Documents/2024/Ciencia de datos/data")  #directorio de trabajo

You can add options to executable code like this

ACM

Ys <- as.data.frame(Ys)
Ys <- lapply(Ys, as.factor)
# Crear la tabla disyuntiva completa (TDC)
tdc <- acm.disjonctif(Y)
Z <- acm.disjonctif(Y)
# Calcular la tabla de Burt 
Z <- as.matrix(Z)
B <- t(Z) %*% Z
B[, 1:4]
                                       Clase.1 Clase.2 Sexo.1 Sexo.2
Clase.1                                  34751       0  14401  20350
Clase.2                                      0    3168   1645   1523
Sexo.1                                   14401    1645  16046      0
Sexo.2                                   20350    1523      0  21873
Régimen.1                                26196    1519  13277  14438
Régimen.2                                 1679      83    789    973
Régimen.3                                 6876    1566   1980   6462
Nivel educativo.1                          330     209    282    257
Nivel educativo.2                        16792    2391   8648  10535
Nivel educativo.8                         7020     296   2778   4538
Nivel educativo.10                       10609     272   4338   6543
Ocupación.1                              28255    1949  13715  16489
Ocupación.2                               3215     130   1455   1890
Ocupación.3                               3009     372     97   3284
Ocupación.7                                272     717    779    210
Realizó horas extras.1                    2319     129   1588    860
Realizó horas extras.2                   32432    3039  14458  21013
Prima servicios (12M).1                  24586    1348  12806  13128
Prima servicios (12M).2                  10165    1820   3240   8745
Prima navidad (12M).1                     6183     271   2823   3631
Prima navidad (12M).2                    28568    2897  13223  18242
Prima vacaciones (12M).1                  6334     205   3031   3508
Prima vacaciones (12M).2                 28417    2963  13015  18365
Cotizante.1                              26349    1464  13542  14271
Cotizante.2                               8022    1680   2307   7395
Cotizante.3                                380      24    197    207
Trabajo adicional.1                        888     132    420    600
Trabajo adicional.2                      33863    3036  15626  21273
Recibió ingresos por intereses (12M).1     384      33    265    152
Recibió ingresos por intereses (12M).2   34336    3135  15766  21705
Recibió ingresos por intereses (12M).9      31       0     15     16
g <- colSums ( Z )/ nrow ( Z )/4
print(data.frame(t(g)*100))
  Clase.1 Clase.2 Sexo.1 Sexo.2 Régimen.1 Régimen.2 Régimen.3 Nivel.educativo.1
1   22.91   2.089  10.58  14.42     18.27     1.162     5.566            0.3554
  Nivel.educativo.2 Nivel.educativo.8 Nivel.educativo.10 Ocupación.1
1             12.65             4.823              7.174       19.91
  Ocupación.2 Ocupación.3 Ocupación.7 Realizó.horas.extras.1
1       2.205       2.229       0.652                  1.614
  Realizó.horas.extras.2 Prima.servicios..12M..1 Prima.servicios..12M..2
1                  23.39                    17.1                   7.902
  Prima.navidad..12M..1 Prima.navidad..12M..2 Prima.vacaciones..12M..1
1                 4.255                 20.74                    4.311
  Prima.vacaciones..12M..2 Cotizante.1 Cotizante.2 Cotizante.3
1                    20.69       18.34       6.397      0.2664
  Trabajo.adicional.1 Trabajo.adicional.2
1              0.6725               24.33
  Recibió.ingresos.por.intereses..12M..1 Recibió.ingresos.por.intereses..12M..2
1                                 0.2749                                   24.7
  Recibió.ingresos.por.intereses..12M..9
1                                0.02044
  • Distribución por nivel educativo:

    • El nivel educativo predominante es el Nivel educativo 1 (Ninguno) 22.91%, seguido por el Nivel educativo 2 (Preescolar-Colegio) 12.65%, mientras que otros niveles tienen menor representación, indicando una concentración significativa en los niveles más básicos.
  • Distribución por ocupación:

    • La categoría de ocupación más representativa es la Ocupación 1 (Obrero privado) 19.91%.
  • Género (Sexo):

    • Existe una ligera mayor representación en la categoría Sexo 2 (Femenino) 14.42% en comparación con Sexo 1 (Masculino) 10.58%, indicando una leve asimetría en la distribución por género.
  • Régimen laboral:

    • El Régimen 1 (Contributivo) 18.27% es la categoría dominante, mientras que las demás (Régimen 2, Especial, y Régimen 3, Subsidiado) tienen menores porcentajes, lo que podría reflejar una predominancia en un tipo de relación laboral específica.
  • Horas extras y trabajo adicional:

    • La categoría de Trabajo adicional 2 (No) 24.33% y la categoría de Realizó horas extras 1 (Sí) 23.39% destacan como las más altas, sugiriendo que una proporción importante de los individuos realiza actividades adicionales a su empleo principal.
  • Primas y beneficios:

    • La categoría Prima navidad 2 (No) 20.74% y Prima vacaciones 2 (No) 20.69% muestran una fuerte representación, lo que indica que estos beneficios no son comunes entre los individuos.
  • Otros ingresos:

    • La categoría de ingresos por arriendos o pensiones es minoritaria con solo un 1.267%, indicando que esta fuente de ingresos es poco representativa en la muestra. Por lo tanto decidimos no tomar en cuenta esta variable en lo siguiente.
    acm <- MCA(Y)

Dado esto, con ayuda del criterio de Benzécri decidimos considerar solo los dos primeros ejes.

var_contrib <- data.frame(var = rownames(acm$var$contrib),
                          Dim1 = acm$var$contrib[, "Dim 1"],
                          Dim2 = acm$var$contrib[, "Dim 2"])

top_dim1 <- subset(var_contrib, Dim1 > 3)$var
top_dim2 <- subset(var_contrib, Dim2 > 3)$var

# Gráfico con las que más aportan en Dim1
fviz_mca_var(acm, 
  select.var = list(name = top_dim1),
  col.var = "cos2",
  repel = TRUE,
  ggtheme = theme_minimal()
) + 
  ggtitle("Variables con mayor contribución en Dimensión 1")

# Gráfico con las que más aportan en Dim2
fviz_mca_var(acm, 
  select.var = list(name = top_dim2),
  col.var = "cos2",
  repel = TRUE,
  ggtheme = theme_minimal()
) + 
  ggtitle("Variables con mayor contribución en Dimensión 2")

ggplot(data = acm$var$eta2, aes(x = `Dim 3`, y = `Dim 2`)) +
  geom_point(colour = "red") + xlim(-0.3,0.4) + ylim(-0.05,0.38) + 
  geom_text(label=rownames(acm$var$eta2), colour = "red", hjust=1) + 
  theme_minimal()

  • Dimensión 1
    Presenta una fuerte relación con las variables asociadas a la formalidad laboral, especialmente Régimen, Cotizante y Prima servicios (12M). Por tanto, este eje pone en evidencia diferencias importantes en la pertenencia a un régimen formal y la recepción de beneficios.

  • Dimensión 2
    Está fuertemente vinculada a la Ocupación, y también participan variables como Régimen y Prima navidad (12M). Esta dimensión sugiere variaciones en el tipo de ocupación (p. ej., asalariado vs. independiente) y ciertos beneficios complementarios.

fviz_contrib(acm, choice = "var", axes = 1)

fviz_contrib(acm, choice = "var", axes = 2)

Interpretación de los Ejes (Dimensiones)

  1. Eje 1 (Dim1 - 19%):

    • Este eje explica el 19% de la variabilidad total. Representa la principal fuente de diferenciación entre las categorías.

    • Categorías opuestas:

      • En el lado positivo (derecha): Nivel educativo alto (por ejemplo, Nivel educativo 1) y categorías relacionadas con ocupaciones específicas, como Ocupación 7.

      • En el lado negativo (izquierda): Categorías como Realizó horas extras 1, Prima navidad (12M)_1, y Régimen 2.

    • Interpretación: El Eje 1 parece capturar una dimensión socioeconómica o laboral, diferenciando entre individuos con mayores niveles educativos y ocupaciones especializadas (lado positivo) versus aquellos con actividades laborales intensivas y menos estables (lado negativo).

  2. Eje 2 (Dim2 - 12%):

    • Este eje explica el 12% de la variabilidad total. Complementa al Eje 1 y destaca una segunda dimensión de diferenciación.

    • Categorías relevantes:

      • En la parte superior (valores positivos): Régimen 2 y Cotizante 3, que podrían representar un nivel más autónomo o inusual de participación en actividades económicas.

      • En la parte inferior (valores negativos): Sexo 2, Realizó horas extras 1, y Trabajo adicional 2, asociadas con roles tradicionales o ingresos complementarios

Agrupamiento a partir del ACM

1-2. Extraer las coordenadas de las dos primeras dimensiones

# Extrae coordenadas de individuos (primeras 2 dimensiones)
coords <- as.data.frame(acm$ind$coord[, 1:2])

  1. Pre-agrupamiento con k-means
nrow(coords)        # [1] 37919
[1] 37919
nrow(unique(coords)) # [1] 1029
[1] 1029
set.seed(123)  # Para reproducibilidad
pre_km <- kmeans(coords, centers = 500, nstart = 10)

# Ahora cada individuo se asigna a uno de los 500 clusters
#table(pre_km$cluster)  # Revisa cómo se reparten
coords_pre <- aggregate(coords, 
                        by = list(cluster = pre_km$cluster), 
                        FUN = mean)
# La primera columna es el identificador del cluster
head(coords_pre)
  cluster    Dim 1    Dim 2
1       1  0.27932 -0.06677
2       2 -0.17758 -0.08293
3       3 -0.70656  0.66548
4       4  0.65536  0.33350
5       5  0.08464 -0.23915
6       6 -0.08257  0.03802
# Quitamos la columna de identificador (ya no la necesitamos para la matriz)
coords_pre <- coords_pre[, -1]

dim(coords_pre)  
[1] 500   2
# Debería ser 3000 x 2

  1. Agrupamiento jerárquico (Ward) sobre los "super-individuos"
d_pre  <- dist(coords_pre)
hc_pre <- hclust(d_pre, method = "ward.D2")

plot(hc_pre, labels = FALSE, main = "Dendrograma super-individuos (Ward)")

for(k in 2:10){
  # Cortas el dendrograma
  grupos_temp <- cutree(hc_pre, k=k)
  
  # Calculas la silueta en la matriz original (o en 'coords_pre')
  sil <- silhouette(grupos_temp, dist(coords_pre))
  
  # Promedio de la silueta
  avg_sil <- mean(sil[, 3])
  
  cat("k =", k, ">> Average silhouette =", avg_sil, "\n")
}
k = 2 >> Average silhouette = 0.367 
k = 3 >> Average silhouette = 0.3777 
k = 4 >> Average silhouette = 0.3321 
k = 5 >> Average silhouette = 0.328 
k = 6 >> Average silhouette = 0.3546 
k = 7 >> Average silhouette = 0.3418 
k = 8 >> Average silhouette = 0.3189 
k = 9 >> Average silhouette = 0.3015 
k = 10 >> Average silhouette = 0.3032 

5. Decidir el número de grupos y cortar el árbol

k <- 3
super_groups <- cutree(hc_pre, k = k)
table(super_groups)
super_groups
  1   2   3 
246 191  63 

6. Realizar un K-means de consolidación, partiendo de los centros de gravedad de la partición obtenida al cortar el árbol.

coords_pre <- coords_pre %>%
  rename(
    Dim1 = `Dim 1`,  # si se llama "Dim 1"
    Dim2 = `Dim 2`   # si se llama "Dim 2"
  )
centers_hc <- coords_pre %>%
  mutate(cluster = super_groups) %>%
  group_by(cluster) %>%
  summarize(
    Dim1 = mean(Dim1),
    Dim2 = mean(Dim2)
  ) %>%
  ungroup()
set.seed(123)  # para reproducibilidad

km_consolidado <- kmeans(
  x       = coords,
  centers = as.matrix(centers_hc[, c("Dim1", "Dim2")]),
  nstart  = 1
)

grupos_finales <- km_consolidado$cluster
table(grupos_finales)
grupos_finales
    1     2     3 
 9596 25150  3173 
Y$cluster_final <- grupos_finales

fviz_cluster(
  object   = km_consolidado,
  data     = coords,       # (Dim1, Dim2) de los 37.000 individuos
  geom     = "point",
  ellipse.type = "convex",
  main     = "Cluster final sobre Dim1-Dim2",
  ggtheme  = theme_minimal()
)

Interpretación de los Agrupamientos

  1. Grupo 3 (Azul):

    • Predominantemente ubicado en el cuadrante superior izquierdo del plano factorial.

    • Características principales:

      • Relacionado con categorías como Régimen 2, Sexo 2, y Realizó horas extras 1.

      • Representa a individuos con roles laborales más tradicionales o asociados a trabajos operativos y de esfuerzo adicional.

    • Interpretación: Este grupo podría agrupar a personas con niveles educativos y roles laborales menos especializados, pero con alta actividad laboral.

  2. Grupo 1 (Rojo):

    • Predominantemente en el cuadrante superior derecho del plano factorial.

    • Características principales:

      • Relacionado con categorías como Nivel educativo 1, Clase 2, y Ocupación 7.

      • Representa a individuos con niveles educativos más altos y ocupaciones relacionadas con habilidades especializadas o mayores ingresos.

    • Interpretación: Este grupo parece representar a individuos con mayor nivel socioeconómico y roles laborales estables.

  3. Grupo 2 (Verde):

    • Ubicado principalmente en el centro del plano factorial, pero ligeramente hacia la parte inferior.

    • Características principales:

      • Incluye categorías como Cotizante 2, Prima navidad (12M)_2, y Sexo 1.

      • Representa un grupo más heterogéneo, con características intermedias tanto en nivel educativo como en roles laborales.

    • Interpretación: Este grupo podría corresponder a una categoría “promedio” o de transición entre los otros dos extremos.

Conclusión

  • Eje 1: Dimensión socioeconómica y laboral, diferenciando roles especializados (positivo) y operativos (negativo).

  • Eje 2: Dimensión relacionada con roles laborales tradicionales versus alternativos.

  • Eje 3: Captura diferencias más específicas en la estabilidad laboral y nivel educativo.

  • Agrupamientos:

    • Grupo 1: Personas con roles laborales intensivos y tradicionales.

    • Grupo 2: Personas con niveles educativos y ocupaciones especializadas.

    • Grupo 3: Un grupo intermedio que refleja características más balanceadas.

Interpretación general del eje 1

El eje 1 probablemente está relacionado con:

  1. Clase socioeconómica o región geográfica:

    • Clase.1 (9.2%) y Clase.2 (0.8%) podrían estar explicando diferencias entre “Cabecera” y “Resto”.
  2. Ingreso o acceso a beneficios:

    • Categorías como Prima.servicios..12M..1 (6.8%) y Prima.navidad..12M..1 (8.3%) sugieren que los beneficios laborales tienen un impacto importante.
  3. Participación laboral:

    • Ocupación.1 (8.0%) tiene una contribución significativa, lo que indica que la ocupación podría estar asociada con las diferencias observadas.
  4. Relación con el sistema de pensiones:

    • Recibió.arriendos.pensiones..mes.pasado..1 (9.7%) y Recibió.arriendos.pensiones..mes.pasado..2 (9.5%) tienen valores altos, sugiriendo que este factor influye considerablemente en las diferencias.