Muestreo Estratificado en R: Asignación Proporcional y de Mínima Varianza para Estimar Talla y Peso de Salmones

Clasificado en Matemáticas

Escrito el en español con un tamaño de 4,62 KB

Muestreo Estratificado en R: Asignación Proporcional y de Mínima Varianza

Carga de datos y definición de estratos

Salmon <- read.delim("clipboard")
Nh <- table(Salmon[,2])
N <- sum(Nh)
Wh <- Nh / N
n <- 30
nh <- n * Wh
nh <- c(10, 9, 11)
fh <- nh / Nh
A <- subset(Salmon, Piscigranja == 1)
B <- subset(Salmon, Piscigranja == 2)
C <- subset(Salmon, Piscigranja == 3)

Repartición de la muestra piloto

# Repartición de la muestra
set.seed(66)
Pm1 <- sample(1:Nh[1], nh[1])
APm1 <- A[Pm1, ]
set.seed(60)
Pm2 <- sample(1:Nh[2], nh[2])
BPm2 <- B[Pm2, ]
set.seed(50)
Pm3 <- sample(1:Nh[3], nh[3])
CPm3 <- C[Pm3, ]

Estimación de las varianzas

# Estimación de las varianzas
datosm <- rbind(APm1, BPm2, CPm3)
attach(datosm)
sh <- by(Talla, Piscigranja, sd) # Desviación estándar de la talla
s2h <- by(Talla, Piscigranja, var) # Varianza de la talla
s2h_peso <- by(Peso, Piscigranja, var) # Varianza del peso

Pregunta a): Tamaño de muestra con asignación proporcional

WhSh <- sum(Wh * sh)
WhS2h <- sum(Wh * s2h)
e <- 2
n <- 30
L <- 3
alfa <- 0.05
t <- qt(1 - alfa / 2, n - L)
n_prop <- ceiling(WhS2h / (e^2 / t^2 + WhS2h / N))

Pregunta b): Tamaño de muestra con asignación de mínima varianza

n_Varmin <- ceiling(WhSh^2 / (e^2 / t^2 + WhS2h / N))

Pregunta a): Asignación proporcional

Nh <- table(Salmon[,2])
N <- sum(Nh)
Wh <- Nh / N
n <- n_prop
nh <- n * Wh
nh <- c(14, 14, 15)
set.seed(66)
m1 <- sample(1:Nh[1], nh[1])
Am1 <- A[m1, ]
set.seed(60)
m2 <- sample(1:Nh[2], nh[2])
Bm2 <- B[m2, ]
set.seed(50)
m3 <- sample(1:Nh[3], nh[3])
Cm3 <- C[m3, ]

Pregunta b): Asignación de mínima varianza

n <- n_Varmin
nh <- n * Nh * sh / sum(Nh * sh)
nh <- c(14, 11, 17)
set.seed(66)
m1 <- sample(1:Nh[1], nh[1])
Am1_Min <- A[m1, ]
set.seed(60)
m2 <- sample(1:Nh[2], nh[2])
Bm2_Min <- B[m2, ]
set.seed(50)
m3 <- sample(1:Nh[3], nh[3])
Cm3_Min <- C[m3, ]

Pregunta a): Estimación de la media de talla

datosm3 <- rbind(Am1_Min, Bm2_Min, Cm3_Min) # Cuidado: toma los últimos valores
attach(datosm3)
ybarh_talla <- by(Talla, Piscigranja, mean) # Media de cada estrato (piscigranja)
ybarst_talla <- sum(Wh * ybarh_talla)

Pregunta b): Estimación del peso total

ybarh_peso <- by(Peso, Piscigranja, mean)
y_total <- sum(Nh * ybarh_peso) # Resultado en gramos
y_total / 1000 # Resultado en kilogramos

Pregunta c): Intervalo de confianza para la media de talla

fh <- nh / Nh
ybarst_talla <- sum(Wh * ybarh_talla)
vybarst <- sum(Wh^2 * s2h * (1 - fh) / nh) # Varianza de la media estimada
LI <- ybarst_talla - qnorm(1 - 0.06 / 2) * sqrt(vybarst)
LS <- ybarst_talla + qnorm(1 - 0.06 / 2) * sqrt(vybarst)
c(LI, LS)

Pregunta d): Intervalo de confianza para la media de peso

fh <- nh / Nh
ybarst_peso <- sum(Wh * ybarh_peso)
vybarst <- sum(Wh^2 * s2h_peso * (1 - fh) / nh) # Varianza de la media estimada
LI <- ybarst_peso - qnorm(1 - 0.06 / 2) * sqrt(vybarst)
LS <- ybarst_peso + qnorm(1 - 0.06 / 2) * sqrt(vybarst)
c(LI, LS)

Pregunta e): Intervalo de confianza para una proporción

ah <- table(Norma, Piscigranja)[2, ]
ph <- ah / nh
pst <- sum(Wh * ph) # Proporción estratificada estimada
vpst <- sum(Wh^2 * ph * (1 - ph) * (1 - fh) / (nh - 1))
LI <- pst - qnorm(1 - 0.06 / 2) * sqrt(vpst)
LS <- pst + qnorm(1 - 0.06 / 2) * sqrt(vpst)
c(LI, LS)

Entradas relacionadas: