मैं एक वर्ग प्रदर्शन करना चाहता था जहां मैं एक टी-अंतराल की तुलना बूटस्ट्रैप अंतराल से करता हूं और दोनों की कवरेज संभावना की गणना करता हूं। मैं चाहता था कि डेटा एक तिरछी वितरण से आए, इसलिए मैंने डेटा को उत्पन्न करने के लिए चुना exp(rnorm(10, 0, 2)) + 1
, एक स्थानांतरित लॉजिकल से आकार 10 का एक नमूना। मैंने 1000 नमूनों को आकर्षित करने के लिए एक स्क्रिप्ट लिखी और प्रत्येक नमूने के लिए, 1000 प्रतिकृति पर आधारित 95% टी-अंतराल और 95% बूटस्ट्रैप प्रतिशताइल अंतराल की गणना की।
जब मैं स्क्रिप्ट चलाता हूं, तो दोनों विधियां बहुत समान अंतराल देती हैं और दोनों में 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