Я хотів провести демонстрацію класу, де я порівнюю t-інтервал з інтервалом завантаження і обчислив вірогідність покриття обох. Я хотів, щоб дані надходили з перекошеного розподілу, тому я вирішив генерувати дані як exp(rnorm(10, 0, 2)) + 1
зразок розміром 10 із зрушеної лонормальної. Я написав сценарій, щоб намалювати 1000 зразків і, для кожного зразка, обчислити 95% інтервал t і 95% інтервал завантажувального перцентиля на основі 1000 повторень.
Коли я запускаю сценарій, обидва способи дають дуже однакові інтервали, і обидва мають ймовірність покриття 50-60%. Я був здивований, тому що думав, що інтервал завантаження буде кращим.
Моє запитання: чи маю я
- помилився в коді?
- помилилися в обчисленні інтервалів?
- помилилися, очікуючи, що інтервал завантаження матиме кращі властивості покриття?
Також, чи існує спосіб побудови більш надійної ІС у цій ситуації?
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