Saya ingin melakukan demonstrasi kelas di mana saya membandingkan interval-t dengan interval bootstrap dan menghitung probabilitas cakupan keduanya. Saya ingin data berasal dari distribusi miring jadi saya memilih untuk menghasilkan data sebagai exp(rnorm(10, 0, 2)) + 1
, sampel ukuran 10 dari lognormal bergeser. Saya menulis sebuah skrip untuk menggambar 1000 sampel dan, untuk setiap sampel, menghitung interval t 95% dan interval persentil bootstrap 95% berdasarkan 1000 ulangan.
Ketika saya menjalankan skrip, kedua metode memberikan interval yang sangat mirip dan keduanya memiliki probabilitas cakupan 50-60%. Saya terkejut karena saya pikir interval bootstrap akan lebih baik.
Pertanyaan saya adalah, sudahkah saya
- melakukan kesalahan dalam kode?
- melakukan kesalahan dalam menghitung interval?
- melakukan kesalahan dengan mengharapkan interval bootstrap untuk memiliki properti cakupan yang lebih baik?
Juga, adakah cara untuk membangun CI yang lebih andal dalam situasi ini?
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