Yo quería hacer una clase de demostración donde puedo comparar un t-intervalo de un bootstrap de intervalo y calcular la probabilidad de cobertura de ambos. Yo quería que los datos provienen de una distribución desigual de manera que elegí para generar los datos como exp(rnorm(10, 0, 2)) + 1
, una muestra de tamaño 10, a partir de un desplazado lognormal. Escribí un guión para dibujar 1000 muestras y, para cada muestra, calcular un 95% de intervalo y un 95% de bootstrap percentil intervalo basado en 1000 repeticiones.
Cuando ejecuto el script, ambos métodos dan muy similar intervalos y ambos tienen probabilidad de cobertura de 50-60%. Me sorprendió porque pensé que el bootstrap intervalo sería mejor.
Mi pregunta es, he
- cometió un error en el código?
- cometió un error en el cálculo de los intervalos?
- cometió un error esperar que el bootstrap intervalo para tener una mejor cobertura de las propiedades?
También, hay una manera de construir una forma más confiable de CI en esta situación?
tCI.total <- 0
bootCI.total <- 0
m <- 10 # sample size
true.mean <- exp(2) + 1
for (i in 1:1000){
samp <- exp(rnorm(m,0,2)) + 1
tCI <- mean(samp) + c(1,-1)*qt(0.025,df=9)*sd(samp)/sqrt(10)
boot.means <- rep(0,1000)
for (j in 1:1000) boot.means[j] <- mean(sample(samp,m,replace=T))
bootCI <- sort(boot.means)[c(0.025*length(boot.means), 0.975*length(boot.means))]
if (true.mean > min(tCI) & true.mean < max(tCI)) tCI.total <- tCI.total + 1
if (true.mean > min(bootCI) & true.mean < max(bootCI)) bootCI.total <- bootCI.total + 1
}
tCI.total/1000 # estimate of t interval coverage probability
bootCI.total/1000 # estimate of bootstrap interval coverage probability