7.3 Proceso de Benchmark
- Del censo extraer el total de personas por DAM2
<- readRDS(file = "Recursos/Día2/Sesion3/Data/total_personas_dam2.rds")
total_pp
<- total_pp %>% group_by(region) %>%
N_dam_pp mutate(region_pp = sum(pp_dam2) )
tba(N_dam_pp %>% slice(1:20))
region | nombre_region | dam | dam2 | id_municipio | pp_dam2 | region_pp |
---|---|---|---|---|---|---|
01 | Región Cibao Norte | 09 | 00901 | 010901 | 179829 | 1516957 |
01 | Región Cibao Norte | 09 | 00902 | 010902 | 6911 | 1516957 |
01 | Región Cibao Norte | 09 | 00903 | 010903 | 37378 | 1516957 |
01 | Región Cibao Norte | 09 | 00904 | 010904 | 7820 | 1516957 |
01 | Región Cibao Norte | 18 | 01801 | 011801 | 158756 | 1516957 |
01 | Región Cibao Norte | 18 | 01802 | 011802 | 18868 | 1516957 |
01 | Región Cibao Norte | 18 | 01803 | 011803 | 6333 | 1516957 |
01 | Región Cibao Norte | 18 | 01804 | 011804 | 22058 | 1516957 |
01 | Región Cibao Norte | 18 | 01805 | 011805 | 12639 | 1516957 |
01 | Región Cibao Norte | 18 | 01806 | 011806 | 16464 | 1516957 |
01 | Región Cibao Norte | 18 | 01807 | 011807 | 49593 | 1516957 |
01 | Región Cibao Norte | 18 | 01808 | 011808 | 17169 | 1516957 |
01 | Región Cibao Norte | 18 | 01809 | 011809 | 19717 | 1516957 |
01 | Región Cibao Norte | 25 | 02501 | 012501 | 691262 | 1516957 |
01 | Región Cibao Norte | 25 | 02502 | 012502 | 42092 | 1516957 |
01 | Región Cibao Norte | 25 | 02503 | 012503 | 16993 | 1516957 |
01 | Región Cibao Norte | 25 | 02504 | 012504 | 25539 | 1516957 |
01 | Región Cibao Norte | 25 | 02505 | 012505 | 38628 | 1516957 |
01 | Región Cibao Norte | 25 | 02506 | 012506 | 51695 | 1516957 |
01 | Región Cibao Norte | 25 | 02507 | 012507 | 37349 | 1516957 |
02 | Región Cibao Sur | 13 | 01301 | 021301 | 248089 | 710821 |
02 | Región Cibao Sur | 13 | 01302 | 021302 | 59052 | 710821 |
02 | Región Cibao Sur | 13 | 01303 | 021303 | 56803 | 710821 |
02 | Región Cibao Sur | 13 | 01304 | 021304 | 30261 | 710821 |
02 | Región Cibao Sur | 24 | 02401 | 022401 | 76554 | 710821 |
02 | Región Cibao Sur | 24 | 02402 | 022402 | 13759 | 710821 |
02 | Región Cibao Sur | 24 | 02403 | 022403 | 22117 | 710821 |
02 | Región Cibao Sur | 24 | 02404 | 022404 | 38962 | 710821 |
02 | Región Cibao Sur | 28 | 02801 | 022801 | 125338 | 710821 |
02 | Región Cibao Sur | 28 | 02802 | 022802 | 18952 | 710821 |
02 | Región Cibao Sur | 28 | 02803 | 022803 | 20934 | 710821 |
03 | Región Cibao Nordeste | 06 | 00601 | 030601 | 188118 | 624186 |
03 | Región Cibao Nordeste | 06 | 00602 | 030602 | 14062 | 624186 |
03 | Región Cibao Nordeste | 06 | 00603 | 030603 | 15709 | 624186 |
03 | Región Cibao Nordeste | 06 | 00604 | 030604 | 17864 | 624186 |
03 | Región Cibao Nordeste | 06 | 00605 | 030605 | 33663 | 624186 |
03 | Región Cibao Nordeste | 06 | 00606 | 030606 | 14661 | 624186 |
03 | Región Cibao Nordeste | 06 | 00607 | 030607 | 5497 | 624186 |
03 | Región Cibao Nordeste | 14 | 01401 | 031401 | 76993 | 624186 |
03 | Región Cibao Nordeste | 14 | 01402 | 031402 | 24524 | 624186 |
03 | Región Cibao Nordeste | 14 | 01403 | 031403 | 24240 | 624186 |
03 | Región Cibao Nordeste | 14 | 01404 | 031404 | 15168 | 624186 |
03 | Región Cibao Nordeste | 19 | 01901 | 031901 | 39557 | 624186 |
03 | Región Cibao Nordeste | 19 | 01902 | 031902 | 27765 | 624186 |
03 | Región Cibao Nordeste | 19 | 01903 | 031903 | 24871 | 624186 |
03 | Región Cibao Nordeste | 20 | 02001 | 032001 | 58156 | 624186 |
03 | Región Cibao Nordeste | 20 | 02002 | 032002 | 24509 | 624186 |
03 | Región Cibao Nordeste | 20 | 02003 | 032003 | 18829 | 624186 |
04 | Región Cibao Noroeste | 05 | 00501 | 040501 | 28071 | 394068 |
04 | Región Cibao Noroeste | 05 | 00502 | 040502 | 15624 | 394068 |
04 | Región Cibao Noroeste | 05 | 00503 | 040503 | 6951 | 394068 |
04 | Región Cibao Noroeste | 05 | 00504 | 040504 | 7274 | 394068 |
04 | Región Cibao Noroeste | 05 | 00505 | 040505 | 6035 | 394068 |
04 | Región Cibao Noroeste | 15 | 01501 | 041501 | 24644 | 394068 |
04 | Región Cibao Noroeste | 15 | 01502 | 041502 | 14921 | 394068 |
04 | Región Cibao Noroeste | 15 | 01503 | 041503 | 35923 | 394068 |
04 | Región Cibao Noroeste | 15 | 01504 | 041504 | 10559 | 394068 |
04 | Región Cibao Noroeste | 15 | 01505 | 041505 | 9136 | 394068 |
04 | Región Cibao Noroeste | 15 | 01506 | 041506 | 14424 | 394068 |
04 | Región Cibao Noroeste | 26 | 02601 | 042601 | 34540 | 394068 |
04 | Región Cibao Noroeste | 26 | 02602 | 042602 | 11183 | 394068 |
04 | Región Cibao Noroeste | 26 | 02603 | 042603 | 11753 | 394068 |
04 | Región Cibao Noroeste | 27 | 02701 | 042701 | 76863 | 394068 |
04 | Región Cibao Noroeste | 27 | 02702 | 042702 | 62205 | 394068 |
04 | Región Cibao Noroeste | 27 | 02703 | 042703 | 23962 | 394068 |
05 | Región Valdesia | 02 | 00201 | 050201 | 91345 | 1028129 |
05 | Región Valdesia | 02 | 00202 | 050202 | 11243 | 1028129 |
05 | Región Valdesia | 02 | 00203 | 050203 | 17620 | 1028129 |
05 | Región Valdesia | 02 | 00204 | 050204 | 20041 | 1028129 |
05 | Región Valdesia | 02 | 00205 | 050205 | 15257 | 1028129 |
05 | Región Valdesia | 02 | 00206 | 050206 | 19020 | 1028129 |
05 | Región Valdesia | 02 | 00207 | 050207 | 11235 | 1028129 |
05 | Región Valdesia | 02 | 00208 | 050208 | 17647 | 1028129 |
05 | Región Valdesia | 02 | 00209 | 050209 | 5263 | 1028129 |
05 | Región Valdesia | 02 | 00210 | 050210 | 5640 | 1028129 |
05 | Región Valdesia | 17 | 01701 | 051701 | 157316 | 1028129 |
05 | Región Valdesia | 17 | 01702 | 051702 | 27028 | 1028129 |
05 | Región Valdesia | 21 | 02101 | 052101 | 232769 | 1028129 |
05 | Región Valdesia | 21 | 02102 | 052102 | 15466 | 1028129 |
05 | Región Valdesia | 21 | 02103 | 052103 | 124193 | 1028129 |
05 | Región Valdesia | 21 | 02104 | 052104 | 31057 | 1028129 |
05 | Región Valdesia | 21 | 02105 | 052105 | 84312 | 1028129 |
05 | Región Valdesia | 21 | 02106 | 052106 | 42325 | 1028129 |
05 | Región Valdesia | 21 | 02107 | 052107 | 30268 | 1028129 |
05 | Región Valdesia | 21 | 02108 | 052108 | 9540 | 1028129 |
06 | Región Enriquillo | 03 | 00301 | 060301 | 36511 | 368594 |
06 | Región Enriquillo | 03 | 00302 | 060302 | 15702 | 368594 |
06 | Región Enriquillo | 03 | 00303 | 060303 | 26772 | 368594 |
06 | Región Enriquillo | 03 | 00304 | 060304 | 10619 | 368594 |
06 | Región Enriquillo | 03 | 00305 | 060305 | 7709 | 368594 |
06 | Región Enriquillo | 04 | 00401 | 060401 | 83619 | 368594 |
06 | Región Enriquillo | 04 | 00402 | 060402 | 14823 | 368594 |
06 | Región Enriquillo | 04 | 00403 | 060403 | 13164 | 368594 |
06 | Región Enriquillo | 04 | 00404 | 060404 | 15390 | 368594 |
06 | Región Enriquillo | 04 | 00405 | 060405 | 21605 | 368594 |
06 | Región Enriquillo | 04 | 00406 | 060406 | 3970 | 368594 |
06 | Región Enriquillo | 04 | 00407 | 060407 | 9112 | 368594 |
06 | Región Enriquillo | 04 | 00408 | 060408 | 8042 | 368594 |
06 | Región Enriquillo | 04 | 00409 | 060409 | 4703 | 368594 |
06 | Región Enriquillo | 04 | 00410 | 060410 | 8186 | 368594 |
06 | Región Enriquillo | 04 | 00411 | 060411 | 4491 | 368594 |
06 | Región Enriquillo | 10 | 01001 | 061001 | 16510 | 368594 |
06 | Región Enriquillo | 10 | 01002 | 061002 | 12029 | 368594 |
06 | Región Enriquillo | 10 | 01003 | 061003 | 8310 | 368594 |
06 | Región Enriquillo | 10 | 01004 | 061004 | 5668 | 368594 |
07 | Región EL Valle | 07 | 00701 | 070701 | 25924 | 295362 |
07 | Región EL Valle | 07 | 00702 | 070702 | 6533 | 295362 |
07 | Región EL Valle | 07 | 00703 | 070703 | 8344 | 295362 |
07 | Región EL Valle | 07 | 00704 | 070704 | 10587 | 295362 |
07 | Región EL Valle | 07 | 00705 | 070705 | 7281 | 295362 |
07 | Región EL Valle | 07 | 00706 | 070706 | 4360 | 295362 |
07 | Región EL Valle | 22 | 02201 | 072201 | 132177 | 295362 |
07 | Región EL Valle | 22 | 02202 | 072202 | 9685 | 295362 |
07 | Región EL Valle | 22 | 02203 | 072203 | 20843 | 295362 |
07 | Región EL Valle | 22 | 02204 | 072204 | 13062 | 295362 |
07 | Región EL Valle | 22 | 02205 | 072205 | 44163 | 295362 |
07 | Región EL Valle | 22 | 02206 | 072206 | 12403 | 295362 |
08 | Región Yuma | 08 | 00801 | 080801 | 66867 | 606323 |
08 | Región Yuma | 08 | 00802 | 080802 | 20813 | 606323 |
08 | Región Yuma | 11 | 01101 | 081101 | 251243 | 606323 |
08 | Región Yuma | 11 | 01102 | 081102 | 21967 | 606323 |
08 | Región Yuma | 12 | 01201 | 081201 | 139671 | 606323 |
08 | Región Yuma | 12 | 01202 | 081202 | 16558 | 606323 |
08 | Región Yuma | 12 | 01203 | 081203 | 89204 | 606323 |
09 | Región Higuamo | 23 | 02301 | 092301 | 195307 | 561431 |
09 | Región Higuamo | 23 | 02302 | 092302 | 22573 | 561431 |
09 | Región Higuamo | 23 | 02303 | 092303 | 8901 | 561431 |
09 | Región Higuamo | 23 | 02304 | 092304 | 30051 | 561431 |
09 | Región Higuamo | 23 | 02305 | 092305 | 19034 | 561431 |
09 | Región Higuamo | 23 | 02306 | 092306 | 14592 | 561431 |
09 | Región Higuamo | 29 | 02901 | 092901 | 46723 | 561431 |
09 | Región Higuamo | 29 | 02902 | 092902 | 31889 | 561431 |
09 | Región Higuamo | 29 | 02903 | 092903 | 31096 | 561431 |
09 | Región Higuamo | 29 | 02904 | 092904 | 55348 | 561431 |
09 | Región Higuamo | 29 | 02905 | 092905 | 20900 | 561431 |
09 | Región Higuamo | 30 | 03001 | 093001 | 61517 | 561431 |
09 | Región Higuamo | 30 | 03002 | 093002 | 16272 | 561431 |
09 | Región Higuamo | 30 | 03003 | 093003 | 7228 | 561431 |
10 | Región Ozama | 01 | 00101 | 100101 | 965040 | 3339410 |
10 | Región Ozama | 32 | 03201 | 103201 | 948885 | 3339410 |
10 | Región Ozama | 32 | 03202 | 103202 | 363321 | 3339410 |
10 | Región Ozama | 32 | 03203 | 103203 | 529390 | 3339410 |
10 | Región Ozama | 32 | 03204 | 103204 | 142019 | 3339410 |
10 | Región Ozama | 32 | 03205 | 103205 | 43963 | 3339410 |
10 | Región Ozama | 32 | 03206 | 103206 | 272776 | 3339410 |
10 | Región Ozama | 32 | 03207 | 103207 | 74016 | 3339410 |
- Obtener las estimaciones directa por región o el nivel de agregación en el cual la encuesta es representativa.
En este código, se lee un archivo RDS de una encuesta y se utilizan las funciones transmute()
y paste0()
para seleccionar y transformar las variables de interés.
En primer lugar, se crea una variable dam
que corresponde al identificador de la división administrativa mayor de la encuesta. A continuación, se utiliza la columna dam_ee
para crear una variable dam
, se selecciona la variable dam2
que corresponde al identificador de la división administrativa municipal de segundo nivel (subdivisión del departamento) de la encuesta.
Luego, se crea una variable wkx
que corresponde al peso de la observación en la encuesta, y una variable upm
que corresponde al identificador del segmento muestral en la encuesta.
La variable estrato
se crea utilizando la función paste0()
, que concatena los valores de dam
y area_ee
(una variable que indica el área geográfica en la que se encuentra la vivienda de la encuesta).
Finalmente, se crea una variable pobreza
que toma el valor 1 si el ingreso de la vivienda es menor que un umbral lp, y 0 en caso contrario.
<- readRDS("Recursos/Día2/Sesion3/Data/encuestaDOM21N1.rds") %>%
encuesta transmute(
dam = haven::as_factor(dam_ee,levels = "values"),
dam = str_pad(dam,width = 2,pad = "0"),
dam2,wkx = `_fep`,
upm = `_upm`,
estrato =`_estrato`,
pobreza = ifelse(ingcorte < lp, 1 , 0)) %>%
inner_join(N_dam_pp %>% select(region,dam2) )
El código está realizando un análisis de datos de encuestas utilizando el paquete survey
de R. Primero, se crea un objeto diseno
de diseño de encuestas usando la función as_survey_design()
del paquete srvyr
, que incluye los identificadores de la unidad primaria de muestreo (upm
), los pesos (wkx
), las estratos (estrato
) y los datos de la encuesta (encuesta). Posteriormente, se agrupa el objeto diseno
por la variable “Agregado” y se calcula la media de la variable pobreza con un intervalo de confianza para toda la población utilizando la función survey_mean()
. El resultado se guarda en el objeto directoDam
y se muestra en una tabla.
library(survey)
library(srvyr)
options(survey.lonely.psu = "adjust")
<-
diseno as_survey_design(
ids = upm,
weights = wkx,
strata = estrato,
nest = TRUE,
.data = encuesta
)
<- diseno %>%
directoDam group_by(region) %>%
summarise(
theta_dir = survey_mean(pobreza, vartype = c("ci"))
)tba(directoDam)
region | theta_dir | theta_dir_low | theta_dir_upp |
---|---|---|---|
01 | 0.1696 | 0.1472 | 0.1919 |
02 | 0.1618 | 0.1230 | 0.2007 |
03 | 0.1808 | 0.1371 | 0.2245 |
04 | 0.1714 | 0.1269 | 0.2160 |
05 | 0.2629 | 0.2287 | 0.2972 |
06 | 0.4221 | 0.3741 | 0.4702 |
07 | 0.2957 | 0.2316 | 0.3599 |
08 | 0.1998 | 0.1605 | 0.2392 |
09 | 0.2258 | 0.1817 | 0.2700 |
10 | 0.2409 | 0.2213 | 0.2604 |
- Realizar el consolidando información obtenida en 1 y 2.
<- estimacionesPre %>%
temp inner_join(N_dam_pp %>% select(region,dam2,pp_dam2,region_pp) ) %>%
inner_join(directoDam )
tba(temp %>% slice(1:10))
dam2 | theta_pred | region | pp_dam2 | region_pp | theta_dir | theta_dir_low | theta_dir_upp |
---|---|---|---|---|---|---|---|
00101 | 0.2204 | 10 | 965040 | 3339410 | 0.2409 | 0.2213 | 0.2604 |
00201 | 0.2234 | 05 | 91345 | 1028129 | 0.2629 | 0.2287 | 0.2972 |
00206 | 0.3097 | 05 | 19020 | 1028129 | 0.2629 | 0.2287 | 0.2972 |
00301 | 0.4158 | 06 | 36511 | 368594 | 0.4221 | 0.3741 | 0.4702 |
00302 | 0.4343 | 06 | 15702 | 368594 | 0.4221 | 0.3741 | 0.4702 |
00303 | 0.4579 | 06 | 26772 | 368594 | 0.4221 | 0.3741 | 0.4702 |
00304 | 0.4922 | 06 | 10619 | 368594 | 0.4221 | 0.3741 | 0.4702 |
00401 | 0.3379 | 06 | 83619 | 368594 | 0.4221 | 0.3741 | 0.4702 |
00402 | 0.2213 | 06 | 14823 | 368594 | 0.4221 | 0.3741 | 0.4702 |
00403 | 0.4380 | 06 | 13164 | 368594 | 0.4221 | 0.3741 | 0.4702 |
- Con la información organizada realizar el calculo de los pesos para el Benchmark
<- temp %>% group_by(region) %>%
R_dam2 summarise(
R_dam_RB = unique(theta_dir) / sum((pp_dam2 / region_pp ) * theta_pred)
)
tba(R_dam2)
region | R_dam_RB |
---|---|
01 | 1.0526 |
02 | 0.9339 |
03 | 1.1303 |
04 | 1.0137 |
05 | 1.0035 |
06 | 1.0894 |
07 | 0.9750 |
08 | 1.0018 |
09 | 0.8851 |
10 | 0.9941 |
calculando los pesos para cada dominio.
<- temp %>%
pesos mutate(W_i = pp_dam2 / region_pp) %>%
select(dam2, W_i)
tba(pesos %>% slice(1:10))
dam2 | W_i |
---|---|
00101 | 0.2890 |
00201 | 0.0888 |
00206 | 0.0185 |
00301 | 0.0991 |
00302 | 0.0426 |
00303 | 0.0726 |
00304 | 0.0288 |
00401 | 0.2269 |
00402 | 0.0402 |
00403 | 0.0357 |
- Realizar la estimación FH Benchmark
En este proceso, se realiza la adición de una nueva columna denominada R_dam_RB
, que es obtenida a partir de un objeto denominado R_dam2
. Posteriormente, se agrega una nueva columna denominada theta_pred_RBench
, la cual es igual a la multiplicación de R_dam_RB
y theta_pred.
Finalmente, se hace un left_join
con el dataframe pesos, y se seleccionan únicamente las columnas dam
, dam2
, W_i
, theta_pred
y theta_pred_RBench
para ser presentadas en una tabla (tba) que muestra únicamente las primeras 10 filas.
<- estimacionesPre %>%
estimacionesBench inner_join(N_dam_pp %>% select(region,dam2) )%>%
left_join(R_dam2, by = c("region")) %>%
mutate(theta_pred_RBench = R_dam_RB * theta_pred) %>%
left_join(pesos) %>%
select(region, dam2, W_i, theta_pred, theta_pred_RBench)
tba(estimacionesBench %>% slice(1:10))
region | dam2 | W_i | theta_pred | theta_pred_RBench |
---|---|---|---|---|
10 | 00101 | 0.2890 | 0.2204 | 0.2191 |
05 | 00201 | 0.0888 | 0.2234 | 0.2242 |
05 | 00206 | 0.0185 | 0.3097 | 0.3108 |
06 | 00301 | 0.0991 | 0.4158 | 0.4529 |
06 | 00302 | 0.0426 | 0.4343 | 0.4731 |
06 | 00303 | 0.0726 | 0.4579 | 0.4988 |
06 | 00304 | 0.0288 | 0.4922 | 0.5362 |
06 | 00401 | 0.2269 | 0.3379 | 0.3681 |
06 | 00402 | 0.0402 | 0.2213 | 0.2411 |
06 | 00403 | 0.0357 | 0.4380 | 0.4771 |
- Validación: Estimación FH con Benchmark
%>% group_by(region) %>%
estimacionesBench summarise(theta_reg_RB = sum(W_i * theta_pred_RBench)) %>%
left_join(directoDam, by = "region") %>%
tba()
region | theta_reg_RB | theta_dir | theta_dir_low | theta_dir_upp |
---|---|---|---|---|
01 | 0.1696 | 0.1696 | 0.1472 | 0.1919 |
02 | 0.1618 | 0.1618 | 0.1230 | 0.2007 |
03 | 0.1808 | 0.1808 | 0.1371 | 0.2245 |
04 | 0.1714 | 0.1714 | 0.1269 | 0.2160 |
05 | 0.2629 | 0.2629 | 0.2287 | 0.2972 |
06 | 0.4221 | 0.4221 | 0.3741 | 0.4702 |
07 | 0.2957 | 0.2957 | 0.2316 | 0.3599 |
08 | 0.1998 | 0.1998 | 0.1605 | 0.2392 |
09 | 0.2258 | 0.2258 | 0.1817 | 0.2700 |
10 | 0.2409 | 0.2409 | 0.2213 | 0.2604 |