rm(list=ls()) #Limpiar entorno de trabajo
#install.packages("samplingbook") #Instalar sólo la primera vez
#install.packages("foreign") #Instalar sólo la primera vez
#install.packages("dplyr") # Instalar sólo la primera vez
#install.packages("questionr") Instalar sólo la primera vez
library(samplingbook) #Abrir paquete samplingbook
library(foreign) #Abrir paquete foreign para exportar base de datos spss a R
library(dplyr) #Abrir paquete dplyr para administración de bases de datos
library(spatstat) #Abrir paquete spatstat para estadísticas descriptivas
library(questionr) #Abrir paquete questionr para estadísticas descriptivas
setwd("/home/daniel/Dropbox/U CENTRAL/02 2020/01 Primer semestre 2020/Analisis de datos cuantitativos I/Clases/05") #Fijar carpeta de trabajo
A continuación se ejemplificará el cálculo de tamaños de muestra con muestreo estratificado con distintos tipos de afijación, empleando datos reales y ficticios.
Imagínense que se se está estudiando el ingreso per cápita promedio en la región de Coquimbo. Se realiza una recopilación de antecedentes, de modo tal que se conocen los siguientes parámetros poblacionales:
data2017 <- read.spss("Casen 2017.sav", to.data.frame = TRUE) #Cargar base de datos Casen 2017 para buscar valores que funcionen como parámetros poblacionales de referencia
data2017 <- filter(data2017, region == "Región de Coquimbo")
weighted.median(data2017$ypc, data2017$expr) #media de ingreso percapita regional
## [1] 194446.2
sqrt(weighted.var(data2017$ypc, data2017$expr)) #desviación estandar de la media regional
## [,1]
## [1,] 672127.1
N <- 757586
X <- 194446
S <- 672127
Además, por estudios anteriores, se sabe que el ingreso per cápita depende en gran medida del nivel educacional del jefe de hogar. De manera que se recopila información sobre el tamaño de cada estrato (Censo 2017), su ingreso per cápita promedio (Casen 2017) y desviación estándar (Casen 2017).
#Antes, se simplificará un poco la variable nivel educacional
levels(data2017$educ)
table(data2017$educ)
data2017$educ <- as.integer(data2017$educ)
table(data2017$educ)
data2017$educ[data2017$educ == 1] <- 1
data2017$educ[data2017$educ == 2] <- 2
data2017$educ[data2017$educ == 3] <- 3
data2017$educ[data2017$educ == 4] <- 4
data2017$educ[data2017$educ == 5] <- 4
data2017$educ[data2017$educ == 6] <- 5
data2017$educ[data2017$educ == 7] <- 5
data2017$educ[data2017$educ == 8] <- 6
data2017$educ[data2017$educ == 9] <- 7
data2017$educ[data2017$educ == 10] <- 6
data2017$educ[data2017$educ == 11] <- 7
data2017$educ[data2017$educ == 12] <- 7
data2017$educ[data2017$educ == 13] <- 7
data2017$educ[data2017$educ == 14] <- NA
table(data2017$educ)
data2017$educ <- as.factor(data2017$educ)
levels(data2017$educ) <- c("Sin educación formal", "Básica incompleta", "Básica completa", "Media incompleta", "Media completa", "Superior incompleta", "Superior completa")
Calculamos.
#tamano de los estratos
wtd.table(data2017$educ, weights = data2017$expr)
#parametros en los estratos
h<-filter(data2017, educ =="Sin educación formal")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
h<-filter(data2017, educ =="Básica incompleta")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
h<-filter(data2017, educ =="Básica completa")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
h<-filter(data2017, educ =="Media incompleta")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
h<-filter(data2017, educ =="Media completa")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
h<-filter(data2017, educ =="Superior incompleta")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
h<-filter(data2017, educ =="Superior completa")
weighted.median(h$ypc, h$expr) #media
sqrt(weighted.var(h$ypc, h$expr)) #desviación estandar
rm(h)
rm(data2017)
Almacenamos resultados.
h <- c(1:7) #estratos
Nh <- c(83499,159689,78373,109993,208523,55509,76944)
Xh <- c(151073,165896,186680,198841,196057,217595,333333)
Sh <- c(137328,134756,134506,143909,638670,1184090,1497191)
Muestreo estratificado con afijación proporcional
Calculo del tamaño de la muestra utilizando un 95% de nivel de confianza y un error máximo admisible de 10,000 pesos y 50,000, pesos empleando ME con afijación proporcional.
Paso 1: identificar fórmula
\(n = \frac{\sum^{l}_{h=1} W_h S^2_h}{\frac{e^2}{Z^{2}_{\alpha/2}}+\frac{\sum^{l}_{h=1} W_h S^2_h}{N}}\)
\(W_h = \frac{N_h}{N}\)
\(n_h = n W_h\)
Se calculará una muestra para estimar medias.
Paso 2: identificar información necesaria para calcular \(n\)
En la primera parte de la guía, recopilamos gran parte de la información necesaria. Sin embargo, aún falta determinar \(\alpha\) (1.96), el error máximo admisible (10,000 y 50,000 pesos) y el peso de los estratos en la población (\(W_h\)).
e1 <- 10000
e2 <- 50000
alpha <- 1.96
Wh <- Nh/N
Paso 3: reemplazar valores en la fórmula
Primero, se calcula la muestra con un error máximo admisible de 10,000:
numerador <- sum(Wh*(Sh^2))
denominador <- ((e1^2)/(alpha^2))+(sum(Wh*(Sh^2))/N)
tamaño1 <- numerador/denominador
tamaño1 <- round(tamaño1,0) #redondear sin decimales
tamaño1 #Tamaño total de la muestra
## [1] 17028
tamaño1_h <- tamaño1*Wh
tamaño1_h <- round(tamaño1_h,0) #redondear sin decimales
tamaño1_h #Tamaños de los estratos
## [1] 1877 3589 1762 2472 4687 1248 1729
#Método alternativo, usando paquete samplingbook
stratasize(e= 10000, Nh= Nh, Sh= Sh, level= 0.95, type = "prop") # error máximo admisible, vector con tamaños de cada estrato, tamaño de la población, nivel de confianza y tipo de afijación
##
## stratamean object: Stratified sample size determination
##
## type of sample: prop
##
## total sample size determinated: 16713
stratasamp(n = 16713, Nh= Nh, type = "prop") #tamaño de muestra (paso anterior), tamaño de estratos en la población y tipo de afijación
##
## Stratum 1 2 3 4 5 6 7
## Size 1806 3455 1696 2380 4511 1201 1665
Luego, se calcula la muestra con un error máximo admisible de 50,000:
numerador <- sum(Wh*(Sh^2))
denominador <- ((e2^2)/(alpha^2))+(sum(Wh*(Sh^2))/N)
tamaño2 <- numerador/denominador
tamaño2 <- round(tamaño2,0) #redondear sin decimales
tamaño2 #Tamaño total de la muestra
## [1] 696
tamaño2_h <- tamaño2*Wh
tamaño2_h <- round(tamaño2_h,0) #redondear sin decimales
tamaño2_h #Tamaños de los estratos
## [1] 77 147 72 101 192 51 71
#Método alternativo, usando paquete samplingbook
stratasize(e= 50000, Nh= Nh, Sh= Sh, level= 0.95, type = "prop") # error máximo admisible, vector con tamaños de cada estrato, tamaño de la población, nivel de confianza y tipo de afijación
##
## stratamean object: Stratified sample size determination
##
## type of sample: prop
##
## total sample size determinated: 683
stratasamp(n = 683, Nh= Nh, type = "prop") #tamaño de muestra (paso anterior), tamaño de estratos en la población y tipo de afijación
##
## Stratum 1 2 3 4 5 6 7
## Size 74 141 69 97 184 49 68
Paso 4: respuesta
Para hacer una estimación del ingreso percápita promedio en la Región de Coquimbo, con un error máximo admisible de $10,000 y un nivel de confianza del 95%, se requiere encuestar a 17,028 personas. Bajo afijación proporcional, se requiere encuestar 1,877 personas sin educación formal, 3,589 personas con educación básica incompleta, 1,762 personas con educación básica completa, 2,472 personas con educación media incompleta, 4,687 personas con educación media completa, 1,248 personas con educación superior incompleta y 1,729 personas con educación superior completa.
En cambio, con un error máximo admisible de $50,000, se necesitan personas 696 personas.Bajo afijación proporcional, se requiere encuestar 77 personas sin educación formal, 147 personas con educación básica incompleta, 72 personas con educación básica completa, 101 personas con educación media incompleta, 192 personas con educación media completa, 51 personas con educación superior incompleta y 71 personas con educación superior completa.
Muestreo estratificado con afijación óptima de varianza
Calculo del tamaño de la muestra utilizando un 95% de nivel de confianza y un error máximo admisible de 10,000 y 50,000 pesos, empleando ME con afijación óptima de varianza.
Paso 1: identificar fórmula
\(n = \frac{(\sum^{l}_{h=1} W_h S_h)^2}{\frac{e^2}{Z^{2}_{\alpha/2}}+\frac{\sum^{l}_{h=1} W_h S^2_h}{N}}]\)
\(W_h = \frac{N_h}{N}\)
\(n_h = n \frac{W_h S^2_h}{\sum^{l}_{h=1} W_h S^2_h}\)
Se calculará una muestra para estimar medias.
Paso 2: identificar información necesaria para calcular \(n\)
En la primera parte de la guía, recopilamos gran parte de la información necesaria. Sin embargo, aún falta determinar \(\alpha\) (1.96), el error máximo admisible (10,000 y 50,000 pesos) y el peso de los estratos en la población (\(W_h\)).
Paso 3: reemplazar valores en la fórmula
Primero, se calcula la muestra con un error máximo admisible de 10,000:
numerador <- (sum(Wh*(Sh)))^2
denominador <- ((e1^2)/(alpha^2))+(sum(Wh*(Sh^2))/N)
tamaño1 <- numerador/denominador
tamaño1 <- round(tamaño1,0) #redondear sin decimales
tamaño1 #Tamaño total de la muestra
## [1] 9126
tamaño1_h <- tamaño1*((Wh*(Sh^2))/(sum(Wh*(Sh^2))))
tamaño1_h <- round(tamaño1_h,0) #redondear sin decimales
tamaño1_h #Tamaños de los estratos
## [1] 42 77 38 61 2260 2068 4582
#Método alternativo, usando paquete samplingbook
stratasize(e= 10000, Nh= Nh, Sh= Sh, level= 0.95, type = "opt") # error máximo admisible, vector con tamaños de cada estrato, tamaño de la población, nivel de confianza y tipo de afijación
##
## stratamean object: Stratified sample size determination
##
## type of sample: opt
##
## total sample size determinated: 8784
stratasamp(n = 8784, Nh= Nh, Sh= Sh, type = "opt") #tamaño de muestra (paso anterior), tamaño de estratos en la población y tipo de afijación
##
## Stratum 1 2 3 4 5 6 7
## Size 270 506 248 372 3132 1546 2710
Luego, se calcula la muestra con un error máximo admisible de 50,000:
numerador <- (sum(Wh*(Sh)))^2
denominador <- ((e2^2)/(alpha^2))+(sum(Wh*(Sh^2))/N)
tamaño2 <- numerador/denominador
tamaño2 <- round(tamaño2,0) #redondear sin decimales
tamaño2 #Tamaño total de la muestra
## [1] 373
tamaño2_h <- tamaño2*Wh
tamaño2_h <- round(tamaño2_h,0) #redondear sin decimales
tamaño2_h #Tamaños de los estratos
## [1] 41 79 39 54 103 27 38
#Método alternativo, usando paquete samplingbook
stratasize(e= 50000, Nh= Nh, Sh= Sh, level= 0.95, type = "opt") # error máximo admisible, vector con tamaños de cada estrato, tamaño de la población, nivel de confianza y tipo de afijación
##
## stratamean object: Stratified sample size determination
##
## type of sample: opt
##
## total sample size determinated: 359
stratasamp(n = 359, Nh= Nh, Sh= Sh, type = "opt") #tamaño de muestra (paso anterior), tamaño de estratos en la población y tipo de afijación
##
## Stratum 1 2 3 4 5 6 7
## Size 11 21 10 15 128 63 111
Paso 4: respuesta
Para hacer una estimación del ingreso percápita promedio en la Región de Coquimbo, con un error máximo admisible de $10,000 y un nivel de confianza del 95%, se requiere encuestar a 9,126 personas. Bajo afijación óptima de varianza, se requiere encuestar 42 personas sin educación formal, 77 personas con educación básica incompleta, 38 personas con educación básica completa, 61 personas con educación media incompleta, 2,260 personas con educación media completa, 2,068 personas con educación superior incompleta y 4,582 personas con educación superior completa.
En cambio, con un error máximo admisible de $50,000, se necesitan personas 373 personas. Bajo afijación óptima de varianza, se requiere encuestar 41 personas sin educación formal, 79 personas con educación básica incompleta, 39 personas con educación básica completa, 54 personas con educación media incompleta, 103 personas con educación media completa, 27 personas con educación superior incompleta y 38 personas con educación superior completa.
Muestreo estratificado con afijación óptima de costos
Calculo del tamaño de la muestra utilizando un 95% de nivel de confianza y un error máximo admisible de 10,000 y 50,000 pesos, empleando ME con afijación óptima de costos.
Paso 1: identificar fórmula
\(n = \frac{(\sum^{l}_{h=1} W_h S_h \sqrt{C_h}) \sum^{l}_{h=1}\frac{W_h S_h}{\sqrt{C_h}}}{\frac{e^2}{Z^{2}_{\alpha/2}}+\frac{\sum^{l}_{h=1} W_h S^2_h}{N}}\)
\(W_h = \frac{N_h}{N}\)
\(n_h = n \frac{\frac{W_h S_h}{\sqrt{C_h}}}{\sum^{l}_{h=1} \frac{W_h S_h}{\sqrt{C_h}}}\)
Se calculará una muestra para estimar medias.
Paso 2: identificar información necesaria para calcular \(n\)
En la primera parte de la guía, recopilamos gran parte de la información necesaria. Sin embargo, aún falta determinar \(\alpha\) (1.96), el error máximo admisible (10,000 y 50,000 pesos), el peso de los estratos en la población (\(W_h\)) y el costo por unidad en cada estrato (\(C_h\)) -costos ficticios!!-.
e1 <- 10000
e2 <- 50000
alpha <- 1.96
Wh <- Nh/N
Ch <- c(15000, 10000, 5000, 5000, 5000, 10000, 30000)
Paso 3: reemplazar valores en la fórmula
Primero, se calcula la muestra con un error máximo admisible de 10,000:
numerador <- (sum(Wh*Sh*(sqrt(Ch))))*sum((Wh*Sh)/(sqrt(Ch)))
denominador <- ((e1^2)/(alpha^2))+(sum(Wh*(Sh^2))/N)
tamaño1 <- numerador/denominador
tamaño1 <- round(tamaño1,0) #redondear sin decimales
tamaño1 #Tamaño total de la muestra
## [1] 10521
tamaño1_h <- tamaño1*(((Wh*Sh)/(sqrt(Ch)))/(sum((Wh*Sh)/(sqrt(Ch)))))
tamaño1_h <- round(tamaño1_h,0) #redondear sin decimales
tamaño1_h #Tamaños de los estratos
## [1] 253 582 403 606 5097 1779 1800
Luego, se calcula la muestra con un error máximo admisible de 50,000:
numerador <- (sum(Wh*Sh*(sqrt(Ch))))*sum((Wh*Sh)/(sqrt(Ch)))
denominador <- ((e2^2)/(alpha^2))+(sum(Wh*(Sh^2))/N)
tamaño2 <- numerador/denominador
tamaño2 <- round(tamaño2,0) #redondear sin decimales
tamaño2 #Tamaño total de la muestra
## [1] 430
tamaño2_h <- tamaño2*(((Wh*Sh)/(sqrt(Ch)))/(sum((Wh*Sh)/(sqrt(Ch)))))
tamaño2_h <- round(tamaño2_h,0) #redondear sin decimales
tamaño2_h #Tamaños de los estratos
## [1] 10 24 16 25 208 73 74
Paso 4: respuesta
Para hacer una estimación del ingreso percápita promedio en la Región de Coquimbo, con un error máximo admisible de $10,000 y un nivel de confianza del 95%, se requiere encuestar a 10,521 personas. Bajo afijación óptima de costos, se requiere encuestar 253 personas sin educación formal, 582 personas con educación básica incompleta, 403 personas con educación básica completa, 606 personas con educación media incompleta, 5,097 personas con educación media completa, 1,779 personas con educación superior incompleta y 1,800 personas con educación superior completa.
En cambio, con un error máximo admisible de $50,000, se necesitan personas 430 personas. Bajo afijación óptima de costos, se requiere encuestar 253 personas sin educación formal, 582 personas con educación básica incompleta, 403 personas con educación básica completa, 606 personas con educación media incompleta, 5,097 personas con educación media completa, 1,779 personas con educación superior incompleta y 1,800 personas con educación superior completa.