Bir t-aralığını bir önyükleme aralığına göre karşılaştırdığım ve her ikisinin de kapsama olasılığını hesapladığım bir sınıf gösteri yapmak istedim. Verilerin çarpık bir dağılımdan gelmesini istedim, böylece verileri exp(rnorm(10, 0, 2)) + 1
değiştirilmiş bir lognormal'den 10 büyüklüğünde bir örnek olarak oluşturmayı seçtim . 1000 örnek çizmek için bir senaryo yazdım ve her bir örnek için 1000 kopyaya göre% 95 t-aralığı ve% 95 önyükleme yüzdesi aralığını hesapladım.
Senaryoyu çalıştırdığımda, her iki yöntem de birbirine çok benziyor ve her ikisi de% 50-60 arasında kapsama olasılığına sahip. Şaşırdım çünkü önyükleme aralığının daha iyi olacağını düşündüm.
Benim sorum
- kodunda bir hata mı yaptın?
- aralıkları hesaplamada hata mı yaptınız?
- Önyükleme aralığının daha iyi kapsama özelliklerine sahip olmasını bekleyerek hata mı yaptınız?
Ayrıca, bu durumda daha güvenilir bir CI oluşturmanın bir yolu var mı?
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