Dirección de Infraestructura Estadística y muestreo DINEM

ENEMDU Enero - Febrero - Marzo 2026

#

1.- Preparación

Bases de viviendas

kable(viviendas)
Enero Febrero Marzo
UPM 1288 1288 1288
Vivienda 8771 8740 8758
Hogar 8791 8765 8798
# kable(upm_ac)
# kable(fc_ac)
# kable(ef_ac)

Bases de personas

kable(personas)
Enero Febrero Marzo
UPM 1288 1288 1288
Vivienda 8771 8740 8758
Hogar 8791 8765 8798
Personas 27528 27699 27667
# Guardar las bases tratadas de personas
saveRDS(p1, "./2026/Trimestrales/1_ene_mar/tratadas/personas/p1.rds")
saveRDS(p2, "./2026/Trimestrales/1_ene_mar/tratadas/personas/p2.rds")
saveRDS(p3, "./2026/Trimestrales/1_ene_mar/tratadas/personas/p3.rds")

2.- Preparación Factores Mensuales

Factores de expansión

  • Periodo 1 Enero
p1_fexp = readRDS(file = "./2026/Factores mensuales/01_Enero/FEXP_ENEMDU_T_202601.rds") %>%
  mutate(id_upm = str_pad(str_trim(id_upm, side = "both"), 12, "left", "0"),
         vivienda = str_pad(str_trim(vivienda, side = "both"), 2, "left", "0"),
         persona = str_pad(str_trim(p01, side = "both"), 2, "left", "0"),
         dominio = str_pad(str_trim(dominio, side = "both"), 2, "left", "0"),
         estrato = str_pad(str_trim(estrato, side = "both"), 4, "left", "0"),
         hogar = as.character(hogar),
         id_hog = paste0(id_upm, vivienda, hogar)) %>%
  select(id_upm, vivienda, hogar, persona, dominio, 
         estrato, fexp_teo, fexp_aju, fexp_cal_hog = fexp_cal_hi, fexp_cal_upm=fexp)
  • Periodo 2 Febrero
p2_fexp = readRDS(file = "./2026/Factores mensuales/02_Febrero/FEXP_ENEMDU_T_202602.rds") %>%
  mutate(id_upm = str_pad(str_trim(id_upm, side = "both"), 12, "left", "0"),
         vivienda = str_pad(str_trim(vivienda, side = "both"), 2, "left", "0"),
         persona = str_pad(str_trim(p01, side = "both"), 2, "left", "0"),
         dominio = str_pad(str_trim(dominio, side = "both"), 2, "left", "0"),
         estrato = str_pad(str_trim(estrato, side = "both"), 4, "left", "0"),
         hogar = as.character(hogar),
         id_hog = paste0(id_upm, vivienda, hogar)) %>%
  select(id_upm, vivienda, hogar, persona, dominio, 
         estrato, fexp_teo, fexp_aju, fexp_cal_hog= fexp_cal_hi,fexp_cal_upm=fexp)
  • Periodo 3 Marzo
  p3_fexp = readRDS(file = "./2026/Factores mensuales/03_Marzo/FEXP_ENEMDU_T_202603.rds") %>%
  mutate(id_upm = str_pad(str_trim(id_upm, side = "both"), 12, "left", "0"),
         vivienda = str_pad(str_trim(vivienda, side = "both"), 2, "left", "0"),
         persona = str_pad(str_trim(p01, side = "both"), 2, "left", "0"),
         dominio = str_pad(str_trim(dominio, side = "both"), 2, "left", "0"),
         estrato = str_pad(str_trim(estrato, side = "both"), 4, "left", "0"),
         hogar = as.character(hogar),
         id_hog = paste0(id_upm, vivienda, hogar)) %>%
  select(id_upm, vivienda, hogar, persona, dominio, 
         estrato, fexp_teo, fexp_aju, fexp_cal_hog= fexp_cal_hi,fexp_cal_upm=fexp)
# 

Al unir las tres bases con las variables necesarias tenemos:

(dim(base))
## [1] 82894    33

Analisis descriptivo de la nueva base de personas con fexp

Sexo

ggplot(a, aes(x = "", y = Por, fill = Sexo)) +
  geom_col() +
  guides(fill = guide_legend(title = "Sexo")) +
  coord_polar(theta = "y") +
  geom_text(aes(label = Por), position = position_stack(vjust = 0.5)) +
    labs(title = "Numero de personas por sexo: Enero - Febrero - Marzo 2026", fill = NULL, x = NULL, y= NULL) +
  theme_void() +
   scale_fill_manual(values=c("#ADD8E6","#BFEFFF"))

Área

ggplot(b, aes(x = "", y = Por, fill = Area)) +
  geom_col() +
  guides(fill = guide_legend(title = "Area")) +
  coord_polar(theta = "y") +
  geom_text(aes(label = Por), position = position_stack(vjust = 0.5)) +
    labs(title = "Numero de personas por Area: Enero - Febrero - Marzo 2026", fill = NULL, x = NULL, y= NULL) +
  theme_void() +
  scale_fill_manual(values=c("#B4CDCD","#D1EEEE"))

# ggplot(area_dom, mapping = aes(x = Dominio, y = Freq, fill = Area))+
#   geom_col() +
#   scale_fill_hue(labels = c("Urbano", "Rural")) +
#   labs(title = "Numero de personas por dominio y area : Enero - Febrero - Marzo") +
#   scale_fill_manual(values = c("azure3", "lightblue"))
#   #geom_text(aes(label=Freq), vjust=1.6, color="black",
#    #         position = position_dodge(0.7),  size=4.0)
 # ggplot(mes_dom, mapping = aes(x = Dominio, y = Frecuencia, fill = Mes))+
 #   geom_col() +
 #   scale_fill_hue(labels = periodos) +
 #   labs(title = "Numero de personas por mes y dominio: Enero - Febrero - Marzo") +
 #  # geom_text(aes(label=Frecuencia), vjust=1.6, color="black",
 #           #  position = position_dodge(0.5),  size=4.0)
 #  scale_fill_manual(values=c("snow3", "#BFEFFF", "#8B8386"))
# En la base final se tiene:
# kable(obs)

Factor de expansión teórico

Resumen estadistico de los factores de expansion teoricos:

summary(base$fexp_teo)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    34.2   125.0   264.3   414.1   507.0  4703.1
# Grafico
ggplot(data = base,
       mapping = aes(x = fexp_teo)) +
  geom_histogram(bins = 100,
                 position = 'identity',
                 alpha = 0.8) +
  labs(title = ' Distribución de los factores de expansión teoricos',
       x = 'fexp_teo',
       y = 'count',
       subtitle = 'Acumulada',
       caption = 'Encuesta Nacional de Empleo, Desempleo y Subempleo (ENEMDU). INEC - Ecuador.')

Factor de expansión ajustado por cobertura

summary(base$fexp_aju)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    34.2   127.7   267.8   424.0   525.8  4703.1
# Grafico
ggplot(data = base,
       mapping = aes(x = fexp_aju)) +
  geom_histogram(bins = 100,
                 position = 'identity',
                 alpha = 0.8) +
  labs(title = ' Distribución de los factores de expansión ajustados por cobertura',
       x = 'fexp_aju',
       y = 'count',
       subtitle = 'Acumulada',
       caption = 'Encuesta Nacional de Empleo, Desempleo y Subempleo (ENEMDU). INEC - Ecuador.')

# Guardar la base ENEMDU Acumulada
saveRDS(base, "./2026/Trimestrales/1_ene_mar/tratadas/personas/base_acum.rds")

3.- Calculo factor balanceado mes dominio

Calculo del factor de expansión balanceado (metodologia delta)

base = base %>%
  mutate(dom7 = ifelse(dominio == "06" | dominio == "07" | dominio == "08" | (dominio == "12" & area == 1), "06",
                       ifelse(dominio == "09" | dominio == "10" | dominio == "11" | (dominio == "12" & area == 2), "07",
                              dominio)))
table(base$dom7, useNA = "ifany")
## 
##    01    02    03    04    05    06    07 
##  7944  8959  5740  6629  4854 26689 22079
table(base$dominio, useNA = "ifany")
## 
##    01    02    03    04    05    06    07    08    09    10    11    12 
##  7944  8959  5740  6629  4854 12103 10220  4003 10431  5860  5412   739

Calculo de los deltas

El balanceo de los pesos de muestreo se realizó a través de un factor de ajuste propuesto por Kish (1999) en el contexto de acumulación de muestras y está dado por la siguiente expresión:

\[ \delta _{tD}=\frac{n_{tD}}{\sum _{t=1}^{3}n_{tD}} \]

Donde: \(\delta _{tD}\) es un factor de ajuste, que depende del tamaño de muestra, que representa el porcentaje de individuos investigados en el mes t para el dominio de estudio D.

dQ <- base %>%
  group_by(dom7, mes) %>%
  summarise(n = n()) %>%
  mutate(delta = n/sum(n))
dQ %>%
  kbl(caption = "Tabla 1: Deltas") %>%
  kable_paper("hover", full_width = F)
Tabla 1: Deltas
dom7 mes n delta
01 01 2633 0.3314451
01 02 2674 0.3366062
01 03 2637 0.3319486
02 01 3026 0.3377609
02 02 2961 0.3305056
02 03 2972 0.3317335
03 01 1908 0.3324042
03 02 1933 0.3367596
03 03 1899 0.3308362
04 01 2184 0.3294615
04 02 2199 0.3317242
04 03 2246 0.3388143
05 01 1596 0.3288010
05 02 1577 0.3248867
05 03 1681 0.3463123
06 01 8853 0.3317097
06 02 8905 0.3336581
06 03 8931 0.3346322
07 01 7328 0.3318991
07 02 7450 0.3374247
07 03 7301 0.3306762

En la Tabla 1 se muestra los deltas (ponderadores de balanceo) que se utilizarán para balancear los factores de expansión. Con esto se logra que cada mes de levantamiento de información este equitativamente representado por la información levantada. Los factores de expansión trimestrales balanceados resultan de la multiplicación del factor de expansión ajustado por cobertura de las ENEMDU mensuales por el ponderador que balancea la muestra para cada mes (delta), de la siguiente forma:

\[w_{k_b}= w_{k_a}*\delta _{tD} \]

base %<>% 
full_join(dQ, by = c("dom7", "mes")) %>% 
# Creación del factor anual inicial (normalizado)
mutate(fexp_acum_teo = fexp_teo * delta,
       fexp_rec45 = fexp_aju * delta)

Analisis estadístico descriptivo

summary(base$delta)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3249  0.3317  0.3319  0.3334  0.3346  0.3463

Factor de expansión teórico acumulado

summary(base$fexp_acum_teo)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   41.65   88.04  138.04  169.19 1569.24
# Grafico
ggplot(data = base,
       mapping = aes(x = fexp_acum_teo)) +
  geom_histogram(bins = 100,
                 position = 'identity',
                 alpha = 0.8) +
  labs(title = ' Distribución de los fexp_acum_teo',
       x = 'fexp_acum_teo',
       y = 'count',
       subtitle = 'Acumulada',
       caption = 'Encuesta Nacional de Empleo, Desempleo y Subempleo (ENEMDU). INEC - Ecuador.')

Factor de expansión acumulado ajustado por cobertura

summary(base$fexp_rec45)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24
# Grafico
ggplot(data = base,
       mapping = aes(x = fexp_rec45)) +
  geom_histogram(bins = 100,
                 position = 'identity',
                 alpha = 0.8) +
  labs(title = ' Distribución de los fexp_rec45',
       x = 'fexp_rec45',
       y = 'count',
       subtitle = 'Acumulada',
       caption = 'Encuesta Nacional de Empleo, Desempleo y Subempleo (ENEMDU). INEC - Ecuador.')

# Guardar la base
saveRDS(base, "./2026/Trimestrales/1_ene_mar/tratadas/personas/base_acum_balanceo.rds")

4.- Recorte de los factores de expansión extremos de la ENEMDU Trimestral

Debido a los ajustes por cobertura y calibración la variabilidad de los factores de expansión se ha visto incrementada. Potter (1990) señala que la variación extrema en los factores de expansión puede resultar en varianzas muestrales excesivamente grandes.

Analisis estadístico descriptivo

summary(base_fexp$fexp_rec45)
summary(base_fexp$fexp_rec30)
summary(base_fexp$fexp_rec35)
summary(base_fexp$fexp_rec40)
summary(base_fexp$fexp_rec45)
summary(base_fexp$fexp_rec50)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24

5.- Recorte Graficos

Boxplot del factor balanceado y del recortado final (4)

par(mfrow = c(1,2))
boxplot(base_fexp$fexp_rec45)
title(main = "F. balanceado")
boxplot(base_fexp$fexp_rec45)
title(main = "F. recortado")

Boxplot de los factores de expansión balanceados por dominio

g1 <- base_fexp %>%
  ggplot(aes(x = dominio,
             y = fexp_rec45)) +
  geom_boxplot(fill = "#56B1F7", color = "#132B43") +
  labs(x = "Dominios de diseño",
       y = "Factores de expansión balanceados",
       title = " Grafico 1: Diagrama de caja de los factores de expansión balanceados 
       ENEMDU Trimestral Enero - Febrero - Marzo 2026") +
  theme(plot.title = element_text(hjust = 0.5),
        axis.text = element_text(size=14))
print(g1)

ggsave(file = "boxplot_balanceados.png",
       plot = g1,
       device = "png",
       path = "./2026/Trimestrales/1_ene_mar/graficos",
       scale = 0.25, width = 1920, height = 1080, units = "mm",
       dpi = 300,
       limitsize = F)

Boxplot de los factores de expansión recortados por dominio

g2 <- base_fexp %>%
  ggplot(aes(x = dominio,
             y = fexp_rec45)) +
  geom_boxplot(fill = "#56B1F7", color = "#132B43") +
  labs(x = "Dominios de diseño",
       y = "Factores de expansión recortados",
       title = " Grafico 2: Diagrama de caja de los factores de expansión recortados 
       ENEMDU Trimestral Enero - Febrero - Marzo 2026") +
  theme(plot.title = element_text(hjust = 0.5),
        axis.text = element_text(size=14))
print(g2)

ggsave(file = "boxplot_recortados.png",
       plot = g2,
       device = "png",
       path = "./2026/Trimestrales/1_ene_mar/graficos",
       scale = 0.25, width = 1920, height = 1080, units = "mm",
       dpi = 300,
       limitsize = F)

En los gráficos 1 y 2 se presentan los diagramas de caja y bigote de los factores de expansión balanceados por mes de levantamiento de información y recortados, respectivamente, a nivel de estrato de muestreo. Al realizar una comparación entre estos se aprecia que los factores de expansión balanceados son iguales a los pesos de muestreo recortados, es decir, no existieron ponderadores extremos que necesitaron ser recortados.

# Grafico
g3 <- base_fexp%>%
  mutate(gedad = ifelse(edad<15, 1, 2),
         Gedad = factor(gedad, c("1", "2"), c("< 15 años", ">= 15 años"))) %>% 
  ggplot(aes(x = fexp_rec45,
             y = fexp_rec45)) + 
  geom_point(aes(colour = Gedad)) +
  geom_abline(aes(intercept = 0,
                  slope = 1),
              linetype = "dashed",
              alpha=0.75) +
  #color = "#C5BEBA") +
  facet_wrap(~dominio,
             scales = "free",
             labeller = label_value) +
  labs(x = "Factor de expansión balanceado",
       y = "Factor de expansión recortado",
       title = " Grafico 3. Comparación de los factores de expansión balanceados
       vs recortados ENEMDU Trimestral Enero - Febrero - Marzo 2026") +
  scale_color_manual(values = c("#113743", "#C5001A")) +
  theme(plot.title = element_text(hjust = 0.5),
        panel.background = element_rect(fill = "#E4E3DB",
                                        colour = "#E4E3DB",
                                        size = 0.5, linetype = "solid"),
        strip.background = element_rect(fill="white"))
print(g3)

ggsave(file = "recorte.png",
       plot = g3,
       device = "png",
       path = "./2026/Trimestrales/1_ene_mar/graficos",
       scale = 0.25, width = 1920, height = 1080, units = "mm",
       dpi = 300,
       limitsize = F)

En el Gráfico 3 se puede evidenciar que no se presentan factores de expansión recortados en los diferentes dominios, por cuanto los pesos de muestreo están sobre la línea de 45 grados, esto significa que los ponderadores recortados son iguales a los balanceados.

6.- Calibración Previa

Creación de variables id_calib

base <- base_fexp %>%
  mutate(gedad = ifelse(edad<15, 1, 2),
         id_calib= paste0(dom7, "_", area, "_", sexo, "_", gedad))
print(table(base$id_calib, useNA = "ifany"))
## 
## 01_1_1_1 01_1_1_2 01_1_2_1 01_1_2_2 02_1_1_1 02_1_1_2 02_1_2_1 02_1_2_2 
##      695     3076      594     3579      966     3376      854     3763 
## 03_1_1_1 03_1_1_2 03_1_2_1 03_1_2_2 04_1_1_1 04_1_1_2 04_1_2_1 04_1_2_2 
##      499     2235      448     2558      656     2513      620     2840 
## 05_1_1_1 05_1_1_2 05_1_2_1 05_1_2_2 06_1_1_1 06_1_1_2 06_1_2_1 06_1_2_2 
##      403     1863      415     2173     2965     9812     2656    11256 
## 07_2_1_1 07_2_1_2 07_2_2_1 07_2_2_2 
##     2408     8584     2214     8873
n_distinct(base$id_calib)
## [1] 28

Creación del diseño de muestreo

est_pob <- base %>%
  as_survey_design(ids = id_upm,
                   strat = estrato, 
                   weights = fexp_rec45,
                   nest = T)
options(survey.lonely.psu="adjust")
sum(weights(est_pob))
## [1] 11717466

Coeficientes de variación

est_pob_v_28 %>%
  kbl(caption = "Tabla 2: Coeficientes de variación") %>%
  kable_paper("hover", full_width = F)
Tabla 2: Coeficientes de variación
Dominios Area Sexo G_edad id_calib n var1 var1_cv control
Quito Urbana Hombre < 15 años 01_1_1_1 695 113798.15 0.0478625 0
Quito Urbana Hombre > 15 años 01_1_1_2 3076 519145.55 0.0243294 0
Quito Urbana Mujer < 15 años 01_1_2_1 594 101591.09 0.0565807 0
Quito Urbana Mujer > 15 años 01_1_2_2 3579 603161.01 0.0214494 0
Guayaquil Urbana Hombre < 15 años 02_1_1_1 966 211176.15 0.0386346 0
Guayaquil Urbana Hombre > 15 años 02_1_1_2 3376 745654.95 0.0189558 0
Guayaquil Urbana Mujer < 15 años 02_1_2_1 854 186988.41 0.0432185 0
Guayaquil Urbana Mujer > 15 años 02_1_2_2 3763 824979.04 0.0173064 0
Cuenca Urbana Hombre < 15 años 03_1_1_1 499 23310.79 0.0600408 0
Cuenca Urbana Hombre > 15 años 03_1_1_2 2235 100881.77 0.0277210 0
Cuenca Urbana Mujer < 15 años 03_1_2_1 448 20208.85 0.0567688 0
Cuenca Urbana Mujer > 15 años 03_1_2_2 2558 115051.90 0.0256804 0
Machala Urbana Hombre < 15 años 04_1_1_1 656 18537.28 0.0497506 0
Machala Urbana Hombre > 15 años 04_1_1_2 2513 69950.87 0.0229593 0
Machala Urbana Mujer < 15 años 04_1_2_1 620 17395.88 0.0472986 0
Machala Urbana Mujer > 15 años 04_1_2_2 2840 78479.45 0.0215251 0
Ambato Urbana Hombre < 15 años 05_1_1_1 403 10609.71 0.0580011 0
Ambato Urbana Hombre > 15 años 05_1_1_2 1863 48403.32 0.0259452 0
Ambato Urbana Mujer < 15 años 05_1_2_1 415 10868.58 0.0611124 0
Ambato Urbana Mujer > 15 años 05_1_2_2 2173 56534.70 0.0241797 0
Resto urbano Urbana Hombre < 15 años 06_1_1_1 2965 556382.58 0.0353572 0
Resto urbano Urbana Hombre > 15 años 06_1_1_2 9812 1910562.30 0.0172662 0
Resto urbano Urbana Mujer < 15 años 06_1_2_1 2656 480915.20 0.0364754 0
Resto urbano Urbana Mujer > 15 años 06_1_2_2 11256 2093610.12 0.0175869 0
Rural Rural Hombre < 15 años 07_2_1_1 2408 280651.97 0.0326850 0
Rural Rural Hombre > 15 años 07_2_1_2 8584 1103212.22 0.0155753 0
Rural Rural Mujer < 15 años 07_2_2_1 2214 260072.99 0.0377897 0
Rural Rural Mujer > 15 años 07_2_2_2 8873 1155331.08 0.0156926 0

7.- Calibración de los factores de expansión de la ENEMDU Trimestral

La calibración de los factores de expansión (Deville J.C., Särndal C.E. y Sautory O., 1993) es un ajuste que se realiza a los ponderadores con el propósito de que las estimaciones de algunas variables de control reproduzcan con exactitud los totales poblacionales de dichas variables.

Cabe mencionar que, en este proceso de construcción de factores de expansión para la ENEMDU, se calibra los pesos de muestreo recortados, por tanto, los gponderadores calibrados son calculados con la siguiente expresión:

\[w_{k_c}= w_{k_r}*g_{k} \]Donde: \(w_{k_c}\) son los factores de expansión calibrados, mientras que \(w_{k_r}\) son los pesos de muestreo recortados y \(g_{k}\) los pesos de calibración.

Cabe señalar que la calibración de los factores de expansión se realizó a nivel de UPM, es decir, todos los individuos de una UPM presentaban un mismo ponderador, independientemente de sus características demográficas como edad y sexo.

Comprobacion que el fexp ajustado/recortado sea unico por hogar

compro_rec = base %>%
  group_by(id_upm, vivienda, hogar, mes) %>%
  summarise(f_rec = n_distinct(fexp_rec45))
table(compro_rec$f_rec)
## 
##     1 
## 26354

Poblaciones objetivo para la calibracion

 pob <- readRDS("./2026/Trimestrales/1_ene_mar/proyecciones/proyecciones.rds")

pob = pob %>%
  select(dom7, area, p02, gedad, ykn)
sum(pob$ykn)
## [1] 19026779
pop <- pob %>% 
  mutate(id_calib = paste0(dom7, "_", area, "_", p02, "_", gedad)) %>%
  select(id_calib, t = ykn)

Comprobaciones: ver tp y t

vis <- tp %>% 
  full_join(pop, by="id_calib") %>% 
  mutate(dif = d-t) %>% 
  arrange(id_calib)%>%
  mutate(cotas = t/d)
vis %>%
  kbl(caption = "Tabla 3: Comprobaciones: ver tp y t") %>%
  kable_paper("hover", full_width = F)
Tabla 3: Comprobaciones: ver tp y t
Dominios Area Sexo G_edad id_calib d t dif cotas
Quito Urbana Hombre < 15 años 01_1_1_1 113798.15 217215 -103416.85 1.908774
Quito Urbana Hombre > 15 años 01_1_1_2 519145.55 808404 -289258.45 1.557182
Quito Urbana Mujer < 15 años 01_1_2_1 101591.09 241573 -139981.91 2.377896
Quito Urbana Mujer > 15 años 01_1_2_2 603161.01 873913 -270751.99 1.448888
Guayaquil Urbana Hombre < 15 años 02_1_1_1 211176.15 335962 -124785.85 1.590909
Guayaquil Urbana Hombre > 15 años 02_1_1_2 745654.95 1052911 -307256.05 1.412062
Guayaquil Urbana Mujer < 15 años 02_1_2_1 186988.41 356808 -169819.59 1.908182
Guayaquil Urbana Mujer > 15 años 02_1_2_2 824979.04 1120186 -295206.96 1.357836
Cuenca Urbana Hombre < 15 años 03_1_1_1 23310.79 49121 -25810.21 2.107222
Cuenca Urbana Hombre > 15 años 03_1_1_2 100881.77 156068 -55186.23 1.547039
Cuenca Urbana Mujer < 15 años 03_1_2_1 20208.85 56671 -36462.15 2.804267
Cuenca Urbana Mujer > 15 años 03_1_2_2 115051.90 179916 -64864.10 1.563781
Machala Urbana Hombre < 15 años 04_1_1_1 18537.28 35170 -16632.72 1.897258
Machala Urbana Hombre > 15 años 04_1_1_2 69950.87 111473 -41522.13 1.593590
Machala Urbana Mujer < 15 años 04_1_2_1 17395.88 35997 -18601.12 2.069283
Machala Urbana Mujer > 15 años 04_1_2_2 78479.45 114010 -35530.55 1.452737
Ambato Urbana Hombre < 15 años 05_1_1_1 10609.71 22972 -12362.29 2.165186
Ambato Urbana Hombre > 15 años 05_1_1_2 48403.32 76909 -28505.68 1.588920
Ambato Urbana Mujer < 15 años 05_1_2_1 10868.58 25628 -14759.42 2.357989
Ambato Urbana Mujer > 15 años 05_1_2_2 56534.70 85814 -29279.30 1.517900
Resto urbano Urbana Hombre < 15 años 06_1_1_1 556382.58 1053472 -497089.42 1.893431
Resto urbano Urbana Hombre > 15 años 06_1_1_2 1910562.30 2352154 -441591.70 1.231132
Resto urbano Urbana Mujer < 15 años 06_1_2_1 480915.20 1116398 -635482.80 2.321403
Resto urbano Urbana Mujer > 15 años 06_1_2_2 2093610.12 2492553 -398942.88 1.190553
Rural Rural Hombre < 15 años 07_2_1_1 280651.97 984885 -704233.03 3.509275
Rural Rural Hombre > 15 años 07_2_1_2 1103212.22 2055751 -952538.78 1.863423
Rural Rural Mujer < 15 años 07_2_2_1 260072.99 972735 -712662.01 3.740238
Rural Rural Mujer > 15 años 07_2_2_2 1155331.08 2042110 -886778.92 1.767554

Pesos de calibracion - distancias

Análisis estadístico: Hogar integrado

# HOGAR
calibracion_hog_cepal <- cal_hog_cepal  %>% 
  mutate(g_hog_c = calib(Xs = as.matrix(.[,8:dim(.)[2]]),
                         d = fexp_rec45,
                         total = vis$t,
                         method ="raking"),
         fexp_cal_hog_c_trim = fexp_rec45*g_hog_c) %>% 
  select(id_upm, vivienda, hogar, persona, mes, g_hog_c, fexp_cal_hog_c_trim)

summary(calibracion_hog_cepal$g_hog_c)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.5441  1.1298  1.4217  1.7219  1.9627 11.9242
summary(calibracion_hog_cepal$fexp_cal_hog_c_trim)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##    8.629   59.685  137.028  229.531  281.887 6922.148

Análisis estadístico: UPM

#UPM
calibracion_upm <- cal_upm  %>%
  mutate(g_upm = calib(Xs = as.matrix(.[,6:dim(.)[2]]),
                       d = fexp_rec45,
                       total = vis$t,
                       method ="raking"),
         fexp_cal_upm_trim = fexp_rec45*g_upm) %>% 
  select(id_upm, mes, g_upm, fexp_cal_upm_trim)

summary(calibracion_upm$g_upm)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##   0.05546   0.65338   1.02759   1.56172   1.70175 144.65473
summary(calibracion_upm$fexp_cal_upm_trim)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##     3.718    39.062    90.077   194.938   213.417 20942.697

Análisis estadístico: Persona

# Persona

calibracion_per <- cal_per  %>%
  mutate(g_per = calib(Xs = as.matrix(.[,7:dim(.)[2]]),
                       d = fexp_rec45,
                       total = vis$t,
                       method ="raking"),
         fexp_cal_per = fexp_rec45*g_per) %>%
  select(id_upm, vivienda, hogar, persona, mes,g_per, fexp_cal_per)
summary(calibracion_per$g_per)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.191   1.231   1.557   1.688   1.863   3.740
summary(calibracion_per$fexp_cal_per)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   17.24   69.04  143.68  229.53  282.38 3642.84

Verificacion de las poblaciones

comp = base_fexp %>%
  group_by(id_calib) %>%
  summarise(pob_comp_hog_c = sum(fexp_cal_hog_c_trim),
            pob_comp_upm = sum(fexp_cal_upm_trim),
            pob_comp_per = sum(fexp_cal_per))

comp = comp %>% 
  full_join(select(vis, id_calib, t), 
            by = "id_calib") %>%
  mutate(dif_comp_hog_c = pob_comp_hog_c - t,
         dif_comp_upm = pob_comp_upm - t,
         dif_comp_per = pob_comp_per - t)
comp %>%
  kbl(caption = "Tabla 4: vis") %>%
  kable_paper("hover", full_width = F)
Tabla 4: vis
Dominios Area Sexo G_edad id_calib pob_comp_hog_c pob_comp_upm pob_comp_per t dif_comp_hog_c dif_comp_upm dif_comp_per
Quito Urbana Hombre < 15 años 01_1_1_1 217215 217215 217215 217215 0.0000000 0.0e+00 0.0000000
Quito Urbana Hombre > 15 años 01_1_1_2 808404 808404 808404 808404 0.0000000 0.0e+00 0.0000000
Quito Urbana Mujer < 15 años 01_1_2_1 241573 241573 241573 241573 0.0000000 0.0e+00 0.0000000
Quito Urbana Mujer > 15 años 01_1_2_2 873913 873913 873913 873913 0.0000000 0.0e+00 0.0000000
Guayaquil Urbana Hombre < 15 años 02_1_1_1 335962 335962 335962 335962 0.0000000 0.0e+00 0.0000000
Guayaquil Urbana Hombre > 15 años 02_1_1_2 1052911 1052911 1052911 1052911 0.0000000 0.0e+00 0.0000000
Guayaquil Urbana Mujer < 15 años 02_1_2_1 356808 356808 356808 356808 0.0000000 0.0e+00 0.0000000
Guayaquil Urbana Mujer > 15 años 02_1_2_2 1120186 1120186 1120186 1120186 0.0000000 0.0e+00 0.0000000
Cuenca Urbana Hombre < 15 años 03_1_1_1 49121 49121 49121 49121 0.0000000 0.0e+00 0.0000000
Cuenca Urbana Hombre > 15 años 03_1_1_2 156068 156068 156068 156068 0.0000000 0.0e+00 0.0000000
Cuenca Urbana Mujer < 15 años 03_1_2_1 56671 56671 56671 56671 0.0000000 0.0e+00 0.0000000
Cuenca Urbana Mujer > 15 años 03_1_2_2 179916 179916 179916 179916 0.0000000 0.0e+00 0.0000000
Machala Urbana Hombre < 15 años 04_1_1_1 35170 35170 35170 35170 0.0000000 0.0e+00 0.0000000
Machala Urbana Hombre > 15 años 04_1_1_2 111473 111473 111473 111473 0.0000000 0.0e+00 0.0000000
Machala Urbana Mujer < 15 años 04_1_2_1 35997 35997 35997 35997 0.0000000 0.0e+00 0.0000000
Machala Urbana Mujer > 15 años 04_1_2_2 114010 114010 114010 114010 0.0000000 0.0e+00 0.0000000
Ambato Urbana Hombre < 15 años 05_1_1_1 22972 22972 22972 22972 0.0000000 0.0e+00 0.0000000
Ambato Urbana Hombre > 15 años 05_1_1_2 76909 76909 76909 76909 0.0000000 0.0e+00 0.0000000
Ambato Urbana Mujer < 15 años 05_1_2_1 25628 25628 25628 25628 0.0000000 0.0e+00 0.0000000
Ambato Urbana Mujer > 15 años 05_1_2_2 85814 85814 85814 85814 0.0000000 0.0e+00 0.0000000
Resto urbano Urbana Hombre < 15 años 06_1_1_1 1053472 1053472 1053472 1053472 0.0000000 0.0e+00 0.0000000
Resto urbano Urbana Hombre > 15 años 06_1_1_2 2352154 2352154 2352154 2352154 0.0000000 0.0e+00 0.0000000
Resto urbano Urbana Mujer < 15 años 06_1_2_1 1116398 1116398 1116398 1116398 0.0000000 0.0e+00 0.0000000
Resto urbano Urbana Mujer > 15 años 06_1_2_2 2492553 2492553 2492553 2492553 0.0000000 0.0e+00 0.0000000
Rural Rural Hombre < 15 años 07_2_1_1 984885 984885 984885 984885 0.0001115 4.2e-06 0.0003291
Rural Rural Hombre > 15 años 07_2_1_2 2055751 2055751 2055751 2055751 0.0001984 4.2e-06 0.0000000
Rural Rural Mujer < 15 años 07_2_2_1 972735 972735 972735 972735 0.0003770 5.9e-06 0.0060224
Rural Rural Mujer > 15 años 07_2_2_2 2042110 2042110 2042110 2042110 0.0002703 3.6e-06 0.0000000

Diferencia máxima: hogar integrado

max(comp$dif_comp_hog_c)
## [1] 0.0003769587

Diferencia máxima: UPM

max(comp$dif_comp_upm)
## [1] 5.867914e-06

Diferencia máxima: Persona

max(comp$dif_comp_per)
## [1] 0.006022374

Analisis estadístico descriptivo

Sumatoria poblacion objetivo

sum(vis$t)
## [1] 19026779

Descriptivo Factor de expansión teorico

summary(base_fexp$fexp_acum_teo)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   41.65   88.04  138.04  169.19 1569.24
sum(base_fexp$fexp_acum_teo)
## [1] 11442381

Descriptivo Factor de expansión ajustado

summary(base_fexp$fexp_rec45)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.54   42.89   89.14  141.35  174.61 1569.24
sum(base_fexp$fexp_rec45)
## [1] 11717466

Descriptivo Factor de expansión calibrado (upm)

summary(base_fexp$fexp_cal_upm_trim)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##     3.718    43.007    99.657   229.531   239.686 20942.697
sum(base_fexp$fexp_cal_upm_trim)
## [1] 19026779

Descriptivo Factor de expansión calibrado (hogar)

summary(base_fexp$fexp_cal_hog_c_trim)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##    8.629   59.685  137.028  229.531  281.887 6922.148
sum(base_fexp$fexp_cal_hog_c_trim)
## [1] 19026779

Descriptivo Factor de expansión calibrado (persona)

summary(base_fexp$fexp_cal_per)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   17.24   69.04  143.68  229.53  282.38 3642.84
sum(base_fexp$fexp_cal_per)
## [1] 19026779

Gráfico

g4 <- base_fexp%>%
  mutate(Gedad = factor(gedad, c("1", "2"), c("< 15 Años", ">= 15 Años"))) %>% 
  # filter(provin %in% c("03", "12", "17", "18", "19", "23")) %>%
  # group_by(provin) %>%
  # filter(fexp_final_enlis != max(fexp_final_enlis)) %>%
  ggplot(aes(x = fexp_rec45,
             y = fexp_cal_upm_trim)) + 
  geom_point(aes(colour = Gedad)) +
  geom_abline(aes(intercept = 0,
                  slope = 1),
              linetype = "dashed",
              alpha=0.75) +
  #color = "#C5BEBA") +
  facet_wrap(~dominio,
             scales = "free",
             labeller = label_value) +
  labs(x = "Factor de expansión recortado",
       y = "Factor de expansión calibrado",
       title = "Comparación de los factores de expansión recortados 
         vs calibrados ENEMDU Trimestral Enero - Febrero - Marzo 2026") +
  scale_color_manual(values = c("#113743", "#C5001A")) +
  theme(plot.title = element_text(hjust = 0.5),
        panel.background = element_rect(fill = "#E4E3DB",
                                        colour = "#E4E3DB",
                                        size = 0.5, linetype = "solid"),
        strip.background = element_rect(fill="white"))

print(g4)

ggsave(file = "calibracion.png",
       plot = g4,
       device = "png",
       path = "./2026/Trimestrales/1_ene_mar/graficos",
       scale = 0.25, width = 1920, height = 1080, units = "mm",
       dpi = 300,
       limitsize = F)

En la Febreroría de dominios, los factores de expansión calibrados son más grandes que los ponderadores recortados, debido a la condición de reproducir con exactitud los totales poblacionales por sexo y grupo de edad , en las diferentes celdas o post estratos de calibración.

8.- Validación de la calibración de los factores de expansión

Medidas de calidad Silva A.G.

Silva (2004) propone 6 medidas para evaluar la calidad de la calibración de los factores de expansión, las cuales se detallan a continuación:

Error relativo promedio sobre las variables auxiliares (M1)

\[ M1= \frac{1}{p}\sum_{j=1}^{p}\frac{\left | \hat{t}_{xc} -t_{x}\right |}{t_{x}} \]

M1 <- vis %>%
  full_join(base, by=c("dom7", "id_calib")) %>%
  group_by(dom7, id_calib) %>%
  summarise(T_xjC_upm = sum(fexp_cal_upm_trim),
            T_xjC_hog = sum(fexp_cal_hog_c_trim),
            T_xjC_per = sum(fexp_cal_per),
            T_xj = mean(t)) %>%
  group_by(dom7) %>%
  summarise(p = n(),
            er_upm = sum(abs(T_xjC_upm - T_xj)/T_xj)/p,
            er_hog = sum(abs(T_xjC_hog - T_xj)/T_xj)/p,
            er_per = sum(abs(T_xjC_per - T_xj)/T_xj)/p)
M1 %>%
  kbl(caption = "Medida 1") %>%
  kable_paper("hover", full_width = F)
Medida 1
Dominios p er_upm er_hog er_per
Quito 4 0 0 0
Guayaquil 4 0 0 0
Cuenca 4 0 0 0
Machala 4 0 0 0
Ambato 4 0 0 0
Resto urbano 4 0 0 0
Rural 4 0 0 0

Coeficiente de variación HT relativo promedio (M2)

\[ M2= \frac{1}{p}\sum_{j=1}^{p}\frac{(Var(\hat{t}_{x\pi }))^{1/2}}{t_{x}}. \]

M2_upm <- enemdu_upm %>%
  group_by(id_calib) %>%
  summarise(var1 = survey_total(vartype="cv", na.rm=T)) %>%
  mutate(dom7 = substr(id_calib, 1, 2),
         dom7 = ifelse(dom7 == "00", "12", dom7)) %>%
  group_by(dom7) %>%
  summarise(n = n(),
            cv_upm = sum(var1_cv)/n)

M2_hog <- enemdu_hog %>%
  group_by(id_calib) %>%
  summarise(var1 = survey_total(vartype="cv", na.rm=T)) %>%
  mutate(dom7 = substr(id_calib, 1, 2),
         dom7 = ifelse(dom7 == "00", "12", dom7)) %>%
  group_by(dom7) %>%
  summarise(n = n(),
            cv_hog = sum(var1_cv)/n) %>%
  select(-n)

M2_per <- enemdu_per %>%
  group_by(id_calib) %>%
  summarise(var1 = survey_total(vartype="cv", na.rm=T)) %>%
  mutate(dom7 = substr(id_calib, 1, 2),
         dom7 = ifelse(dom7 == "00", "12", dom7)) %>%
  group_by(dom7) %>%
  summarise(n = n(),
            cv_per = sum(var1_cv)/n) %>%
  select(-n)

M2 = M2_upm %>%
  left_join(M2_hog, by = "dom7") %>%
  left_join(M2_per, by= "dom7")
M2 %>%
  kbl(caption = "Medida 2") %>%
  kable_paper("hover", full_width = F)
Medida 2
Dominios n cv_upm cv_hog cv_per
Quito 4 0.0752517 0.0391733 0.0375555
Guayaquil 4 0.0524280 0.0310695 0.0295288
Cuenca 4 0.1043444 0.0448236 0.0425528
Machala 4 0.0749074 0.0371277 0.0353834
Ambato 4 0.0882415 0.0449750 0.0423096
Resto urbano 4 0.1109729 0.0308699 0.0266714
Rural 4 0.2091990 0.0307888 0.0254356

Proporción de pesos extremos (límite inferior) (M3)

\[ M3= \frac{1}{n}\sum_{k\epsilon S}^{}I(g_{k}<L). \]

M3 <- base %>%
  left_join(cotas, by = "dom7") %>%
  group_by(dom7) %>%
  summarise(L = 1,
            n = n(),
            M3_upm = sum(g_upm < L)/n*100,
            M3_hog = sum(g_hog_c < L)/n*100,
            M3_per = sum(g_per < L)/n*100)
M3 %>%
  kbl(caption = "Medida 3") %>%
  kable_paper("hover", full_width = F)
Medida 3
Dominios L n M3_upm M3_hog M3_per
Quito 1 7944 40.53374 7.489929 0
Guayaquil 1 8959 29.70198 4.922424 0
Cuenca 1 5740 43.36237 0.000000 0
Machala 1 6629 38.07512 5.596621 0
Ambato 1 4854 33.76597 0.000000 0
Resto urbano 1 26689 64.03387 39.982764 0
Rural 1 22079 30.97966 26.455002 0

Proporción de pesos extremos (límite superior) (M4)

\[ M4= \frac{1}{n}\sum_{k\epsilon S}^{}I(g_{k}>U). \]

M4 <- base %>%
  left_join(cotas, by = "dom7") %>%
  group_by(dom7) %>%
  summarise(n = n(),
            U = mean(U),
            U3 = mean(U3),
            M4_upm_U = sum(g_upm > U)/n*100,
            M4_upm_U3 = sum(g_upm > U3)/n*100,
            M4_hog_U = sum(g_hog_c > U)/n*100,
            M4_hog_U3 = sum(g_hog_c > U3)/n*100,
            M4_per_U = sum(g_per > U)/n*100,
            M4_per_U3 = sum(g_per > U3)/n*100)
M4 %>%
  kbl(caption = "Medida 4") %>%
  kable_paper("hover", full_width = F)
Medida 4
Dominios n U U3 M4_upm_U M4_upm_U3 M4_hog_U M4_hog_U3 M4_per_U M4_per_U3
Quito 7944 2.377896 3 18.34089 10.448137 9.441088 0.7678751 0.000000 0.00000
Guayaquil 8959 1.908182 3 20.48220 4.911262 9.476504 0.0892957 9.532314 0.00000
Cuenca 5740 2.804267 3 12.59582 10.487805 5.905923 5.1393728 0.000000 0.00000
Machala 6629 2.069283 3 24.04586 9.850656 12.747021 0.0603409 9.352844 0.00000
Ambato 4854 2.357989 3 16.83148 10.321384 12.896580 1.6069221 0.000000 0.00000
Resto urbano 26689 2.321403 3 14.02450 9.966653 14.357975 5.3954813 9.951666 0.00000
Rural 22079 3.740238 3 12.12917 16.436433 16.046922 23.6740794 10.027628 20.93392

Coeficiente de variación de los \(g_{k}\) (M5)

\[ M5= \frac{\sigma (g)}{\bar{g}}. \]

M5 <- base %>%
  group_by(dom7) %>%
  summarise(n = n(),
            cv_g_upm = sd(g_upm)/mean(g_upm),
            cv_g_hog = sd(g_hog_c)/mean(g_hog_c),
            cv_g_per = sd(g_per)/mean(g_per))
M5 %>%
  kbl(caption = "Medida 5") %>%
  kable_paper("hover", full_width = F)
Medida 5
Dominios n cv_g_upm cv_g_hog cv_g_per
Quito 7944 0.8055729 0.3069228 0.1587939
Guayaquil 8959 0.6110317 0.2281566 0.1112466
Cuenca 5740 1.0587296 0.4022099 0.2094576
Machala 6629 0.7039872 0.2558376 0.1221878
Ambato 4854 0.7715608 0.3097239 0.1625139
Resto urbano 26689 2.4135831 0.5507094 0.2684981
Rural 22079 2.9175783 0.7168510 0.3363919

Distancia entre los pesos de calibración y los pesos originales (M6)

\[ M6= \frac{1}{n}\sum_{k\varepsilon S}^{}\frac{(w_{_k{c}}-w_{_k{r}})^{2}}{w_{_k{r}}}=\frac{1}{n}\sum_{k\varepsilon S}^{}w_{_k{r}}(g_{k}-1)^{2}. \]

M6 <- base %>%
  group_by(dom7) %>%
  summarise(n = n(),
            dist_g_upm = sum((fexp_cal_upm_trim - fexp_rec45)^2/fexp_rec45)/n,
            dist_g_hog = sum((fexp_cal_hog_c_trim - fexp_rec45)^2/fexp_rec45)/n,
            dist_g_per = sum((fexp_cal_per - fexp_rec45)^2/fexp_rec45)/n)
M6 %>%
  kbl(caption = "Medida 6") %>%
  kable_paper("hover", full_width = F)
Medida 6
Dominios n dist_g_upm dist_g_hog dist_g_per
Quito 7944 329.50806 101.30174 71.69814
Guayaquil 8959 204.42208 69.67828 51.36827
Cuenca 5740 175.17786 42.84673 28.07025
Machala 6629 47.55320 15.02663 11.39641
Ambato 4854 55.81978 18.70385 13.67919
Resto urbano 26689 1645.69531 136.63313 54.77648
Rural 22079 7338.92963 459.00123 236.56293