LIMPIEZA DE DATOS

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)

MUESTREO ALEATORIO SIMPLE (NACIONAL)

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:

Porcentaje de la población de 15 años o más analfabeta

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.

Estimador puntual

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)

Intervalo de confianza al 95%

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).

Porcentaje de población ocupada con ingresos de hasta 2 salarios mínimos

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.

Estimador puntual

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)

Intervalo de confianza al 95%

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).

MUESTREO ALEATORIO ESTRATIFICADO (NACIONAL)

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]),]

Porcentaje de la población de 15 años o más analfabeta

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.

Estimador puntual

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]

Intervalo de confianza al 95%

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).

Porcentaje de población ocupada con ingresos de hasta 2 salarios mínimos

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.

Estimador puntual

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]

Intervalo de confianza al 95%

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).

COMENTARIOS

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)

Población de 15 años o más analfabeta nacional

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.

Resultados de estimaciones para ANALF

Método p (%) L(s1) (%) S(s1) (%)
Real 5.7823427 - -
MAS 6.0750402 4.514439 7.6356413
MAE 3.2256873 -2.5662435 9.0176182

Población ocupada con ingresos de hasta 2 S.M. nacional

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.

Resultados de estimaciones para PO2SM

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.