Eu queria fazer uma demonstração de classe em que comparasse um intervalo t com um intervalo de autoinicialização e calculasse a probabilidade de cobertura de ambos. Como eu queria que os dados viessem de uma distribuição assimétrica, decidi gerá-los como exp(rnorm(10, 0, 2)) + 1
uma amostra do tamanho 10 de um lognormal alterado. Escrevi um script para desenhar 1000 amostras e, para cada amostra, calcular um intervalo t de 95% e um intervalo percentual de 95% de bootstrap com base em 1000 réplicas.
Quando executo o script, ambos os métodos fornecem intervalos muito semelhantes e ambos têm probabilidade de cobertura de 50 a 60%. Fiquei surpreso porque pensei que o intervalo de inicialização seria melhor.
Minha pergunta é, eu tenho
- cometeu um erro no código?
- cometeu um erro no cálculo dos intervalos?
- cometeu um erro ao esperar que o intervalo de inicialização tivesse melhores propriedades de cobertura?
Além disso, existe uma maneira de construir um IC mais confiável nessa situação?
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