Importamos los datos primero:
library(readxl)
library(dplyr)
## Registered S3 methods overwritten by 'tibble':
## method from
## format.tbl pillar
## print.tbl pillar
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
data <- as.data.frame(read_excel("IMAMU_EA1.xlsx", sheet = "Base_Indice_de_marginacion_muni"))
Y el correspondiente diccionario:
library(readxl)
dix <- read_excel("IMAMU_EA1.xlsx", sheet = "Descripción de las variables")
Eliminamos las variables ruido:
data <- subset(data, select = c(CVE_MUN, POB_TOT, ANALF, PO2SM, GM))
Convirtamos las variables porcentaje en valores en el rango \([0,1]\):
data$ANALF <- data$ANALF/100
data$PO2SM <- data$PO2SM/100
Por utilidad del ejercicio, creemos las siguientes variables:
data$POB_ANALF <- data$POB_TOT*data$ANALF
data$POB_PO2SM <- data$POB_TOT*data$PO2SM
Ahora, creemos una variable donde se generen los estratos que utilizaremos después (grupo 1 y grupo 2; g1, g2):
data$ESTR <- ""
data$ESTR[data$GM == "Alto"] <- "g2"
data$ESTR[data$GM == "Muy alto"] <- "g2"
data$ESTR[data$GM == "Muy bajo"] <- "g1"
data$ESTR[data$GM == "Bajo"] <- "g1"
data$ESTR[data$GM == "Medio"] <- "g1"
Ahora, determinamos la semilla con mi clave única:
set.seed(166136)
Primero, obtenemos una muestra aleatoria simple de tamaño 900 (municipios).
s1 <- data[sample(nrow(data), 900),]
Ahora obtenemos los estimadores puntuales y de intervalos (al 95%) para las siguientes variables:
En la variable data$POB_ANALF se encuentra la población de 15 años o más analfabeta, por municipio. Se desea estimar el porcentaje de población de 15 años o más analfabeta en el país.
En este caso, podemos utilizar el estimador promedio de la variable data$POB_ANALF para encontrar un estimador puntual del porcentaje nacional de personas de 15 años o más analfabeta.
En la variable p.1.1 guardaremos el estimador puntual descrito arriba.
p.1.1 <- sum(s1$POB_ANALF)/sum(s1$POB_TOT)
Calculemos la desviación estándar del ejercicio:
sd.1.1 <- sqrt(p.1.1*(1-p.1.1)/900)
Calculamos los límites inferior y superior:
L.1.1 <- p.1.1 - qnorm(0.975)*sd.1.1
S.1.1 <- p.1.1 + qnorm(0.975)*sd.1.1
Entonces nuestro intervalo de confianza de que el porcentaje de la población nacional de 15 años o más analfabeta sea 6.0750402% es (4.514439, 7.6356413).
En la variable data$POB_PO2SM se encuentra la población ocupada con ingresos de hasta 2 salarios mínimos, por municipio. Se desea estimar el porcentaje de población ocupada con ingresos de hasta 2 salarios mínimos nacional.
En este caso, podemos utilizar el estimador promedio de la variable data$POB_PO2SM para encontrar un estimador puntual del porcentaje nacional de población ocupada con ingresos de hasta 2 salarios mínimos.
En la variable p.1.2 guardaremos el estimador puntual descrito arriba.
p.1.2 <- sum(s1$POB_PO2SM)/sum(s1$POB_TOT)
Calculemos la desviación estándar del ejercicio:
sd.1.2 <- sqrt(p.1.2*(1-p.1.2)/900)
Calculamos los límites inferior y superior:
L.1.2 <- p.1.2 - qnorm(0.975)*sd.1.2
S.1.2 <- p.1.2 + qnorm(0.975)*sd.1.2
Entonces nuestro intervalo de confianza de que el porcentaje nacional de la población ocupada con ingresos de hasta 2 salarios mínimos sea 40.7187033% es (37.5088687, 43.9285379).
Primero, creamos la muestra de tamaño 900 dependiendo de las proporciones de cada estrato:
data_est <- data %>%
group_by(ESTR) %>%
dplyr::summarize(prop_analf = sum(POB_ANALF)/sum(POB_TOT), prop_po2sm = sum(POB_PO2SM)/sum(POB_TOT)) %>%
as.data.frame()
Luego filtramos en dos variables distintas por grupo:
gp1 <- data.frame(data %>% filter(ESTR == "g1"))
gp2 <- data.frame(data %>% filter(ESTR == "g2"))
Ahora generamos las muestras aleatorias con las proporciones encontradas por cada grupo:
#ANALF
gp1.s1 <- gp1[sample(nrow(gp1), 900*data_est[1,2]),]
gp2.s1 <- gp2[sample(nrow(gp2), 900*data_est[2,2]),]
#PO2SM
gp1.s2 <- gp1[sample(nrow(gp1), 900*data_est[1,3]),]
gp2.s2 <- gp2[sample(nrow(gp2), 900*data_est[2,3]),]
En la variable POB_ANALF se encuentra la población de 15 años o más analfabeta, por municipio. Se desea estimar el porcentaje de población de 15 años o más analfabeta en el país.
En este caso, podemos utilizar el estimador promedio de la variable POB_ANALF para encontrar un estimador puntual del porcentaje nacional de personas de 15 años o más analfabeta.
En la variable p.2.1 guardaremos el estimador puntual descrito arriba.
p.2.1_1 <- sum(gp1.s1$POB_ANALF)/sum(gp1.s1$POB_TOT)
p.2.1_2 <- sum(gp2.s1$POB_ANALF)/sum(gp2.s1$POB_TOT)
p.2.1 <- p.2.1_1*data_est[1,2] + p.2.1_2*data_est[2,2]
Calculemos la desviación estándar “pool” del ejercicio:
sd.2.1_1 <- sqrt(p.2.1_1*(1-p.2.1_1)/(900*data_est[1,2]))
sd.2.1_2 <- sqrt(p.2.1_2*(1-p.2.1_2)/(900*data_est[2,2]))
numer.1 <- (sd.2.1_1^2)*(900 * data_est[1,2] - 1) + (sd.2.1_2^2)*(900 * data_est[2,2] - 1)
denom.1 <- 900 * data_est[1,2] - 1 + 900 * data_est[2,2] - 1
sd.2.1 <- sqrt(numer.1/denom.1)
Calculamos los límites inferior y superior:
L.2.1 <- p.2.1 - qnorm(0.975)*sd.2.1
S.2.1 <- p.2.1 + qnorm(0.975)*sd.2.1
Entonces nuestro intervalo de confianza de que el porcentaje de la población nacional de 15 años o más analfabeta sea 3.2256873% es (-2.5662435, 9.0176182).
En la variable data$POB_PO2SM se encuentra la población ocupada con ingresos de hasta 2 salarios mínimos, por municipio. Se desea estimar el porcentaje de población ocupada con ingresos de hasta 2 salarios mínimos nacional.
En este caso, podemos utilizar el estimador promedio de la variable POB_PO2SM para encontrar un estimador puntual del porcentaje nacional de población ocupada con ingresos de hasta 2 salarios mínimos nacional.
En la variable p.2.2 guardaremos el estimador puntual descrito arriba.
p.2.2_1 <- sum(gp1.s2$POB_PO2SM)/sum(gp1.s2$POB_TOT)
p.2.2_2 <- sum(gp2.s2$POB_PO2SM)/sum(gp2.s2$POB_TOT)
p.2.2 <- p.2.2_1*data_est[1,3] + p.2.2_2*data_est[2,3]
Calculemos la desviación estándar “pool” del ejercicio:
sd.2.2_1 <- sqrt(p.2.2_1*(1-p.2.2_1)/(900*data_est[1,3]))
sd.2.2_2 <- sqrt(p.2.2_2*(1-p.2.2_2)/(900*data_est[2,3]))
numer.2 <- (sd.2.2_1^2)*(900 * data_est[1,3] - 1)+(sd.2.2_2^2)*(900 * data_est[2,3] - 1)
denom.2 <- 900 * data_est[1,3] - 1 + 900 * data_est[2,3] - 1
sd.2.2 <- sqrt(numer.2/denom.2)
Calculamos los límites inferior y superior:
L.2.2 <- p.2.2 - qnorm(0.975)*sd.2.2
S.2.2 <- p.2.2 + qnorm(0.975)*sd.2.2
Entonces nuestro intervalo de confianza de que el porcentaje nacional de la población ocupada con ingresos de hasta 2 salarios mínimos sea 55.7598466% es (51.3933518, 60.1263414).
En este ejercicio nos aproximamos a las preguntas mediante un método distinto. En lugar de utilizar los porcentajes poblacionales por municipio para realizar los cálculos, utilizamos estos porcentajes poblacionales para realizar cada ejercicio.
p1 <- sum(data$POB_ANALF)/sum(data$POB_TOT)
p2 <- sum(data$POB_PO2SM)/sum(data$POB_TOT)
En este caso, el promedio real es 5.7823427%. Notemos que este valor es mucho más cercano al 6.0750402% (CI 95%; 4.514439, 7.6356413) obtenido mediante MAS, mientras que, mediante MAE obtenemos un valor bastante alejado de 3.2256873% (CI 95%; -2.5662435, 9.0176182). En este caso, el MAE nos arroja una subestimación del promedio nacional real, lo cual puede deberse a que la estratificación no representa confiablemente una estructura real de la población nacional. También, podríamos considerar una MAE que no está hecha con pesos diferentes, sino con pesos iguales, en cuyo caso, el estimador sería un promedio (no ponderado) entre el estimador para el etrato gp1 y el estimador para el estrato gp2: 2.9082585% y 17.322573%, respectivamente. El resultado de esto sería un estimador estratificado de 10.1154157%. Notemos que, entonces, podríamos considerar la subestimación como un problema relacionado directamente con la estratificación.
| Método | p (%) | L(s1) (%) | S(s1) (%) |
|---|---|---|---|
| Real | 5.7823427 | - | - |
| MAS | 6.0750402 | 4.514439 | 7.6356413 |
| MAE | 3.2256873 | -2.5662435 | 9.0176182 |
En este caso, el promedio real es 39.5044198%. Notemos que este valor es mucho más cercano al 3.2256873% (CI 95%; -2.5662435, 9.0176182) obtenido mediante MAS, mientras que, mediante MAE obtenemos un valor bastante alejado de 55.7598466% (CI 95%; 51.3933518, 60.1263414). En este caso, el MAE nos arroja una sobreestimación del promedio nacional real, lo cual puede deberse a que la estratificación no representa confiablemente una estructura real de la población nacional. También, podríamos considerar una MAE que no está hecha con pesos diferentes, sino con pesos iguales, en cuyo caso, el estimador sería un promedio (no ponderado) entre el estimador para el etrato gp1 y el estimador para el estrato gp2: 34.9665399 y 65.8931722, respectivamente. El resultado de esto sería un estimador estratificado de 50.429856. Notemos que, entonces, podríamos considerar la subestimación como un problema relacionado directamente con la estratificación.
| Método | p (%) | L(s1) (%) | S(s1) (%) |
|---|---|---|---|
| Real | 39.5044198 | - | - |
| MAS | 40.7187033 | 37.5088687 | 43.9285379 |
| MAE | 55.7598466 | 51.3933518 | 60.1263414 |
Agradeceré del apoyo del lector en la sección de comentarios para ampliar juntos nuestro conocimiento estadístico y mejorar nuestra práctica.