5.2 Estimación de proporciones

Otro parámetro de interés en las encuestas de hogares, particularmente con variables categóricas es la estimación de las proporciones poblacionales. En esta sección se estudiará la estimación de proporciones y sus errores estándares. En términos de notación se define la estimación de proporciones de población como \(p\) y proporciones de población como \(\pi\). Es normal observar que en muchos paquetes estadísticos optan por generar estimaciones de proporciones y errores estándar en la escala de porcentaje. R Genera las estimaciones de proporciones en escala [0,1]. A continuación, se presenta el código computacional para estimar la proporción de personas por zona:

prop_zona <- diseno %>% group_by(Zone) %>% 
             summarise(
             prop = survey_mean(vartype = c("se","ci"), 
                    proportion = TRUE ))
prop_zona
## # A tibble: 2 × 5
##   Zone   prop prop_se prop_low prop_upp
##   <chr> <dbl>   <dbl>    <dbl>    <dbl>
## 1 Rural 0.480  0.0140    0.452    0.508
## 2 Urban 0.520  0.0140    0.492    0.548

Como se pudo observar, se usó la función survey_mean para la estimación. Sin embargo, con el parámetro “proportion = TRUE”, se le indica a R que lo que se desea estimar es una proporción. Para este ejemplo se puede observar que, el 47.9% de las personas viven en zona rural obteniendo un intervalo de confianza comprendido entre (45.2%, 50.7%) y el 52% de las personas viven en la zona urbana con un intervalo de confianza de (49.2%, 54.7%).

La librería survey tiene implementado una función específica para estimar proporciones la cual es survey_prop que genera los mismos resultados mostrados anteriormente. Le queda al lector la decisión de usar la función con la que más cómodo se sienta. A continuación, se muestra un ejemplo del uso de la función survey_prop:

prop_zona2 <- diseno %>% group_by(Zone) %>% 
              summarise( prop = survey_prop(vartype = c("se","ci") ))
prop_zona2
## # A tibble: 2 × 5
##   Zone   prop prop_se prop_low prop_upp
##   <chr> <dbl>   <dbl>    <dbl>    <dbl>
## 1 Rural 0.480  0.0140    0.452    0.508
## 2 Urban 0.520  0.0140    0.492    0.548

Si el interés ahora se centra en estimar subpoblaciones por ejemplo, proporción de hombres y mujeres que viven en la zona urbana, el código computacional es:

prop_sexoU <- sub_Urbano %>% group_by(Sex) %>% 
              summarise(prop = survey_prop(vartype = c("se","ci")))
prop_sexoU
## # A tibble: 2 × 5
##   Sex     prop prop_se prop_low prop_upp
##   <chr>  <dbl>   <dbl>    <dbl>    <dbl>
## 1 Female 0.537  0.0130    0.511    0.563
## 2 Male   0.463  0.0130    0.437    0.489

Arrojando como resultado que, el 53.6% de las mujeres y 46.4% de los hombres viven en la zona urbana y con intervalos de confianza (51%, 56.2%) y (43.7%, 48.9%) respectivamente. Los intervalos anteriores nos reflejan que, con una confianza del 95% la cantidad estimada de mujeres que viven en la zona urbana es de56% y de hombres es de 48%.

Realizando el mismo ejercicio anterior, pero ahora en la zona rural se tiene:

prop_sexoR <- sub_Rural %>% group_by(Sex) %>% 
              summarise( n = unweighted(n()),
                         prop = survey_prop(vartype = c("se","ci")))
prop_sexoR
## # A tibble: 2 × 6
##   Sex        n  prop prop_se prop_low prop_upp
##   <chr>  <int> <dbl>   <dbl>    <dbl>    <dbl>
## 1 Female   679 0.516 0.00824    0.500    0.533
## 2 Male     618 0.484 0.00824    0.467    0.500

el 51.6% de las mujeres y el 48.4% de los hombres viven en la zona rural con intervalos de confianza de (49.9%, 53.2%) y (46,7%, 50%) respectivamente. Los intervalos de confianza anteriores nos reflejan que, inclusive, con una confianza del 95%, la cantidad estimada de mujeres en la zona rural es de 53% y de hombres es de 50%.

Ahora bien, si nos centramos solo en la población de hombres en la base de datos y se desea estimar la proporción de hombres por zona, el código computacional es el siguiente:

prop_ZonaH <- sub_Hombre %>% group_by(Zone) %>% 
              summarise(prop = survey_prop(vartype = c("se","ci")))
prop_ZonaH
## # A tibble: 2 × 5
##   Zone   prop prop_se prop_low prop_upp
##   <chr> <dbl>   <dbl>    <dbl>    <dbl>
## 1 Rural 0.491  0.0178    0.455    0.526
## 2 Urban 0.509  0.0178    0.474    0.545

En la anterior tabla se puede observar que el 49% de los hombres están en la zona rural y el 51% en la zona urbana. Si se observa el intervalo de confianza se puede concluir que, con una confianza del 95%, la población estimada de hombres que viven en la zona rural puede llegar a ser el 52% y en urbana un 54%.

Si se realiza ahora el mismo ejercicio para la mujeres el código computacional es:

prop_ZonaM <- sub_Mujer %>% group_by(Zone) %>% 
              summarise(prop = survey_prop(vartype = c("se","ci")))
prop_ZonaM
## # A tibble: 2 × 5
##   Zone   prop prop_se prop_low prop_upp
##   <chr> <dbl>   <dbl>    <dbl>    <dbl>
## 1 Rural 0.470  0.0140    0.443    0.498
## 2 Urban 0.530  0.0140    0.502    0.557

De la tabla anterior se puede inferir que, el 47% de las mujeres están en la zona rural y el 52% en la zona urbana. Observando también intervalos de confianza al 95% de (44%, 49%) y (50%, 55%) para las zonas rural y urbana respectivamente.

Si se desea estimar por varios niveles de desagregación, con el uso de la función group_by es posible estimar un mayor número de niveles de agregación al combinar dos o más variables. Por ejemplo, si se desea estimar la proporción de hombres por zona y en estado de pobreza, se realiza de la siguiente manera:

prop_ZonaH_Pobreza <- sub_Hombre %>%
                      group_by(Zone, Poverty) %>% 
                      summarise(
                      prop = survey_prop(vartype = c("se","ci")))%>%
                      data.frame()
prop_ZonaH_Pobreza
##    Zone  Poverty      prop    prop_se   prop_low  prop_upp
## 1 Rural  NotPoor 0.5488453 0.06264753 0.42434340 0.6675180
## 2 Rural  Extreme 0.1975254 0.06745258 0.09582905 0.3637294
## 3 Rural Relative 0.2536293 0.03724070 0.18711180 0.3340755
## 4 Urban  NotPoor 0.6599255 0.03662268 0.58415144 0.7283141
## 5 Urban  Extreme 0.1128564 0.02451869 0.07264146 0.1712240
## 6 Urban Relative 0.2272181 0.02604053 0.17979436 0.2828371

De la salida anterior se puede observar que, en la ruralidad, el 19% de los hombres están en pobreza extrema mientras que en la zona urbana el 11% también están en pobreza extrema. Por otro lado, el 54% de los hombres que viven en la zona rural no están en pobreza mientras que, en la zona urbana el 65% no está en esta condición.

El mismo ejercicio anterior para la población de mujeres sería:

prop_ZonaM_Pobreza <- sub_Mujer %>% 
                      group_by(Zone, Poverty) %>% 
                      summarise( prop = survey_prop(vartype = c("se","ci"))) %>%
                      data.frame()
prop_ZonaM_Pobreza
##    Zone  Poverty      prop    prop_se   prop_low  prop_upp
## 1 Rural  NotPoor 0.5539176 0.05568825 0.44281376 0.6598834
## 2 Rural  Extreme 0.1599702 0.05574533 0.07728197 0.3021593
## 3 Rural Relative 0.2861122 0.04357612 0.20803909 0.3794466
## 4 Urban  NotPoor 0.6612172 0.03224726 0.59475977 0.7218725
## 5 Urban  Extreme 0.1093753 0.02209821 0.07267359 0.1613865
## 6 Urban Relative 0.2294075 0.02655874 0.18106582 0.2861459

De la salida anterior se puede observar que, en la ruralidad, el 16% de las mujeres están en pobreza extrema mientras que en la zona urbana el 10% también están en pobreza extrema. Por otro lado, el 55% de las mujeres que viven en la zona rural no están en pobreza mientras que, en la zona urbana el 66% no está en esta condición.

Si lo que se desea ahora es estimar la proporción de hombres empleados o no por zona, se realiza de la siguiente manera:

prop_ZonaH_Ocupacion <- sub_Hombre %>%
                        group_by(Zone, Employment) %>% 
                        summarise(prop = survey_prop(vartype = c("se","ci")))%>%
                        data.frame()
prop_ZonaH_Ocupacion
##    Zone Employment       prop     prop_se   prop_low   prop_upp
## 1 Rural Unemployed 0.05125186 0.015733138 0.02767737 0.09298588
## 2 Rural   Inactive 0.10351629 0.020267044 0.06970747 0.15106011
## 3 Rural   Employed 0.52251375 0.026522751 0.46994089 0.57459249
## 4 Rural       <NA> 0.32271810 0.034987840 0.25763953 0.39547790
## 5 Urban Unemployed 0.04374724 0.008492664 0.02969659 0.06400729
## 6 Urban   Inactive 0.16331307 0.018093938 0.13056379 0.20236490
## 7 Urban   Employed 0.51337023 0.023637331 0.46658553 0.55992181
## 8 Urban       <NA> 0.27956945 0.022085422 0.23799131 0.32531045

De la salida anterior se puede observar que, el 5% de los hombres que viven en la ruralidad están desempleados mientras que el 4% de los que viven en la zona urbana están en esta misma condición. Ahora bien, el 52% de los hombres que viven en la ruralidad trabajan mientras que el 51% de los que viven en la zona rural también están empleados.

Si se hace este mismo ejercicio para las mujeres se obtiene:

prop_ZonaM_Ocupacion <- sub_Mujer %>% 
                        group_by(Zone, Employment) %>% 
                        summarise(prop = survey_prop(vartype = c("se","ci"))) %>%
                        data.frame()
prop_ZonaM_Ocupacion
##    Zone Employment       prop     prop_se    prop_low   prop_upp
## 1 Rural Unemployed 0.01017065 0.005540256 0.003443802 0.02964628
## 2 Rural   Inactive 0.44719272 0.035247218 0.378871481 0.51756811
## 3 Rural   Employed 0.23999716 0.039151859 0.171118101 0.32570701
## 4 Rural       <NA> 0.30263948 0.030765644 0.245379430 0.36676711
## 5 Urban Unemployed 0.02109678 0.005964137 0.012019202 0.03677508
## 6 Urban   Inactive 0.36445938 0.021442387 0.323143427 0.40787461
## 7 Urban   Employed 0.38455672 0.019452094 0.346831628 0.42372325
## 8 Urban       <NA> 0.22988711 0.013850398 0.203613820 0.25845036

Para las mujeres se puede observar que, el 1% de las mujeres que viven en la ruralidad están desempleados mientras que el 2% de las que viven en la zona urbana están en esta misma condición. Ahora bien, el 24% de las mujeres que viven en la ruralidad trabajan mientras que el 38% de las que viven en la zona rural también están empleados.

Otro parámetro que es de interés es estimar en encuestas de hogares la cantidad de personas menores y mayores de edad en los hogares. A continuación, ejemplificamos la estimación de menores y mayores a 18 años cruzado por pobreza:

diseno %>% group_by(edad_18, pobreza) %>% 
           summarise(Prop = survey_prop(vartype =  c("se", "ci"))) %>%
           data.frame()
##       edad_18 pobreza      Prop    Prop_se  Prop_low  Prop_upp
## 1  < 18 anios       0 0.4984504 0.03729355 0.4251710 0.5717964
## 2  < 18 anios       1 0.5015496 0.03729355 0.4282036 0.5748290
## 3 >= 18 anios       0 0.6646140 0.02978353 0.6033275 0.7208132
## 4 >= 18 anios       1 0.3353860 0.02978353 0.2791868 0.3966725

De la anterior salida se puede observar que, el 50% de los menores de edad y el 33% de los mayores de edad están en estado de pobreza. Al observar los intervalos de confianza para los menores de edad en estado de pobreza se puede observar que, dicha estimación puede llegar, con una confianza del 95% a 57% mientras que a los mayores de edad puede llegar a 39%.

Ahora, si se hace este mismo ejercicio, pero esta vez cruzando con la variable que indica empleo se obtiene:

diseno %>% group_by(edad_18, desempleo) %>% 
           summarise(Prop = survey_prop(vartype =  c("se", "ci"))) %>%
           data.frame()
##       edad_18 desempleo        Prop     Prop_se    Prop_low   Prop_upp
## 1  < 18 anios         0 0.166704172 0.014856561 0.139321648 0.19822898
## 2  < 18 anios         1 0.003729693 0.001969183 0.001309174 0.01057808
## 3  < 18 anios        NA 0.829566135 0.015009188 0.797760089 0.85726505
## 4 >= 18 anios         0 0.955234872 0.007552778 0.937660285 0.96802386
## 5 >= 18 anios         1 0.044765128 0.007552778 0.031976144 0.06233972

De la tabla anterior se puede observar que, el 0.3% de los menores de edad y el 4% de los mayores de edad están desempleados. Adicionalmente, con una confianza del 95% y basados en la muestra se puede observar que el desempleo en menores de edad puede llegar a 0.7% y para los mayores llega a un 5%.

Por otro lado, si el objetivo ahora es estimar la cantidad de menores de edad en la zona rural se realiza de la siguiente manera:

sub_Rural %>% group_by(edad_18) %>% 
              summarise(Prop = survey_prop(vartype =  c("se", "ci"))) %>%
              data.frame()
##       edad_18      Prop    Prop_se  Prop_low  Prop_upp
## 1  < 18 anios 0.3711613 0.03021982 0.3128746 0.4334566
## 2 >= 18 anios 0.6288387 0.03021982 0.5665434 0.6871254

De la anterior tabla se puede observar que, el 37% de las personas que viven en la zona rural de la base de ejemplo son menores de edad con un intervalo de confianza al 95% comprendido entre 31% y 43%.

Como se mencionó al inicio del capítulo, es posible categorizar una variable de tipo cuantitativo como por ejemplo la edad y cruzarla con la variable que categoriza la empleabilidad. A continuación, se estima la edad de las mujeres por rango.

sub_Mujer %>% mutate(edad_rango = case_when(
                     Age>= 18 & Age <=35  ~ "18 - 35", TRUE ~ "Otro")) %>%
                     group_by(edad_rango, Employment) %>% 
                     summarise(Prop = survey_prop(vartype =  c("se", "ci"))) %>% 
                     data.frame()
##   edad_rango Employment       Prop     Prop_se    Prop_low   Prop_upp
## 1    18 - 35 Unemployed 0.02893412 0.009142347 0.015403014 0.05370358
## 2    18 - 35   Inactive 0.51653851 0.037905184 0.441673039 0.59066889
## 3    18 - 35   Employed 0.45452737 0.035685710 0.385232560 0.52562948
## 4       Otro Unemployed 0.01015164 0.004026104 0.004617517 0.02217073
## 5       Otro   Inactive 0.35271022 0.020725430 0.312834830 0.39474850
## 6       Otro   Employed 0.25483870 0.021700305 0.214292062 0.30012671
## 7       Otro       <NA> 0.38229944 0.022313379 0.339191706 0.42734277

De la anterior tabla se puede observar, entre otros que, las mujeres con edades entre 18 y 35 años el 2% están desempleadas y el 45% están empleadas. Análisis similares se pueden hacer para los demás rangos de edades.

Este mismo ejercicio se puede realizar para los hombres y hacer los mismos análisis. A continuación, se muestra el código computacional:

sub_Hombre %>% mutate(edad_rango = case_when(
                      Age>= 18 & Age <=35  ~ "18 - 35",TRUE ~ "Otro")) %>%
                      group_by(edad_rango, Employment) %>% 
                      summarise(Prop = survey_prop(vartype =  c("se", "ci"))) %>% 
                      data.frame()
##   edad_rango Employment       Prop     Prop_se   Prop_low   Prop_upp
## 1    18 - 35 Unemployed 0.09637042 0.018215667 0.06584071 0.13895080
## 2    18 - 35   Inactive 0.08939940 0.016438321 0.06175556 0.12773290
## 3    18 - 35   Employed 0.81423018 0.022991735 0.76436394 0.85553799
## 4       Otro Unemployed 0.02606667 0.007175709 0.01506262 0.04474457
## 5       Otro   Inactive 0.15344056 0.019883462 0.11805657 0.19706023
## 6       Otro   Employed 0.38849664 0.020270309 0.34919327 0.42930563
## 7       Otro       <NA> 0.43199614 0.021111842 0.39076987 0.47418649