95% विश्वास अंतराल के दोहराया प्रयोगों की व्याख्या के सिमुलेशन अध्ययन के साथ समस्याएं - मैं गलत कहां जा रहा हूं?


9

मैं 95% विश्वास अंतराल के दोहराया प्रयोगों की व्याख्या करने के लिए एक आर स्क्रिप्ट लिखने की कोशिश कर रहा हूं। मैंने पाया है कि यह उस अनुपात के अनुपात को कम कर देता है जिसमें एक अनुपात का वास्तविक जनसंख्या मान नमूने के 95% सीआई के भीतर समाहित होता है। कोई बड़ा अंतर नहीं है - लगभग 96% बनाम 95%, लेकिन फिर भी मुझे इसमें दिलचस्पी थी।

मेरा कार्य samp_nप्रायिकता के साथ बर्नौली वितरण से एक नमूना लेता है pop_p, और फिर prop.test()निरंतरता सुधार, या अधिक के साथ 95% विश्वास अंतराल की गणना करता है binom.test()। यदि सही जनसंख्या अनुपात pop_p95% CI के भीतर समाहित है तो यह 1 देता है। मैंने दो कार्य लिखे हैं, एक जो उपयोग करता है prop.test()और एक जो उपयोग करता है binom.test()और दोनों के साथ समान परिणाम हैं:

in_conf_int_normal <- function(pop_p = 0.3, samp_n = 1000, correct = T){
    ## uses normal approximation to calculate confidence interval
    ## returns 1 if the CI contain the pop proportion
    ## returns 0 otherwise
    samp <- rbinom(samp_n, 1, pop_p)
    pt_result <- prop.test(length(which(samp == 1)), samp_n)
    lb <- pt_result$conf.int[1]
        ub <- pt_result$conf.int[2]
    if(pop_p < ub & pop_p > lb){
        return(1)
    } else {
    return(0)
    }
}
in_conf_int_binom <- function(pop_p = 0.3, samp_n = 1000, correct = T){
    ## uses Clopper and Pearson method
    ## returns 1 if the CI contain the pop proportion
    ## returns 0 otherwise
    samp <- rbinom(samp_n, 1, pop_p)
    pt_result <- binom.test(length(which(samp == 1)), samp_n)
    lb <- pt_result$conf.int[1]
        ub <- pt_result$conf.int[2] 
    if(pop_p < ub & pop_p > lb){
        return(1)
    } else {
    return(0)
    }
 }

मैंने पाया है कि जब आप कुछ हज़ार बार प्रयोग दोहराते हैं, तो उस समय का अनुपात जब pop_pनमूने के 95% सीआई के भीतर होता है, 0.95 के बजाय 0.96 के करीब होता है।

set.seed(1234)
times = 10000
results <- replicate(times, in_conf_int_binom())
sum(results) / times
[1] 0.9562

यह क्यों हो सकता है, इस बारे में मेरे विचार

  • मेरा कोड गलत है (लेकिन मैंने इसे बहुत जांचा है)
  • मैंने शुरू में सोचा था कि यह सामान्य सन्निकटन के मुद्दे के कारण था, लेकिन फिर पाया गया binom.test()

कोई सुझाव?


(+1) वैसे, मैंने आपके कोड को times=100000कुछ अलग समयों के साथ फिर से चलाया और उसी परिणाम को देखा। मैं यह देखने के लिए उत्सुक हूं कि क्या किसी के पास इसके लिए स्पष्टीकरण है। कोड पर्याप्त रूप से सरल है कि मुझे पूरा यकीन है कि कोई कोडिंग त्रुटि नहीं है। इसके अलावा, एक रन के रूप में परिणाम times=1000000दिया .954931
मैक्रो

3
(+1) लेकिन आप 95% पाने की उम्मीद क्यों करते हैं? उदाहरण के लिए क्लॉपर पियर्सन रूढ़िवादी होने की गारंटी है। आपके लिएn तथा पी, मुझे लगता है कि सीआई को समय का सही मूल्य 95.3648% कवर करना चाहिए।
कार्डिनल

2
कार्डिनल्स का समर्थन करने के लिए, सटीक द्विपद संभावनाएं सटीक हैं क्योंकि सटीक संभावना गणना पर आधारित हैं, लेकिन वे आवश्यक रूप से सटीक आत्मविश्वास स्तर नहीं देते हैं। ऐसा इसलिए है क्योंकि द्विपद एक असतत वितरण है। इसलिए क्लॉपर-पीयरसन अंतराल के लिए समापन बिंदु चुनता है ताकि आपके पास इसके ऊपर या उसके ऊपर विश्वास स्तर के लिए निकटतम संभावना हो। यह भी एक सटीक द्विपद परीक्षण के शक्ति समारोह के लिए एक sawtoothed व्यवहार बनाता है। अमेरिकन स्टेटिस्टिशियन (2002) में क्रिस्टीन लियू के साथ मेरे पेपर में इस विषम लेकिन मूल परिणाम की चर्चा की गई है।
माइकल आर। चेरनिक

1
इस लिंक पर मेरे पेपर पर विवरण: citeulike.org/user/austin987/article/7571878
माइकल आर। चेरिक जूल

3
सटीक द्विपद सीआई "सटीक" हैं क्योंकि उनका वास्तविक प्रदर्शन उनके नाममात्र प्रदर्शन के बराबर है, इसलिए नहीं कि संभावना गणना "सटीक" है! यह समझना होगा कि ए1-αसीआई होना आवश्यक है कम से कम एक1-αसही पैरामीटर को कवर करने का मौका, कोई फर्क नहीं पड़ता कि अंतर्निहित वितरण क्या है (ग्रहण किए गए परिवार के भीतर)। "सटीक" का अर्थ है कि इन सभी आवरणों के अनंत, वितरण के पूरे परिवार के ऊपर ले जाया जाता है, बराबर होता है 1-α। इसे प्राप्त करने के लिए, कई संभावित वितरणों के लिए वास्तविक कवरेज अक्सर से अधिक होना चाहिए1-α
whuber

जवाबों:


9

आप गलत नहीं हो रहे हैं यह बस एक निर्माण करने के लिए संभव नहीं है एक द्विपद अनुपात के लिए विश्वास अंतराल जो हमेशा की कवरेज है वास्तव में परिणाम के असतत प्रकृति के कारण 95%। क्लोपर-पियर्सन ('सटीक') अंतराल में कम से कम 95% कवरेज की गारंटी है । अन्य अंतराल 95% के करीब कवरेज औसतन जब सच अनुपात से अधिक औसत,।

मैं खुद जेफरीज़ अंतराल का पक्ष लेता हूं, क्योंकि इसमें औसतन 95% के करीब कवरेज है और (विल्सन स्कोर अंतराल के विपरीत) दोनों पूंछों में लगभग समान कवरेज है।

प्रश्न में कोड में केवल एक छोटे से बदलाव के साथ, हम सिमुलेशन के बिना सटीक कवरेज की गणना कर सकते हैं।

p <- 0.3
n <- 1000

# Normal test
CI <- sapply(0:n, function(m) prop.test(m,n)$conf.int[1:2])
caught.you <- which(CI[1,] <= p & p <= CI[2,])
coverage.pr <- sum(dbinom(caught.you - 1, n, p))

# Clopper-Pearson
CI <- sapply(0:n, function(m) binom.test(m,n)$conf.int[1:2])
caught.you.again <- which(CI[1,] <= p & p <= CI[2,])
coverage.cp <- sum(dbinom(caught.you.again - 1, n, p))

यह निम्न आउटपुट देता है।

> coverage.pr
[1] 0.9508569

> coverage.cp
[1] 0.9546087

1
" यह बस एक द्विपदीय अनुपात के लिए एक आत्मविश्वास अंतराल का निर्माण करना संभव नहीं है, जिसके परिणाम की असतत प्रकृति के कारण हमेशा 95% का कवरेज होता है " --- एक तरफ, शायद, यादृच्छिक अंतराल की (कुछ हद तक) संभावना के लिए । (कम से कम उस तरह से, यह किया जा सकता है, हालांकि यह अच्छी तरह से हो सकता है कि यह आमतौर पर नहीं होना चाहिए ।)
Glen_b -Reinstate Monica

2
@Glen_b मैं लंबे समय से यादृच्छिक निर्णयों पर आपत्तियों के बारे में उत्सुक हूं। मेरा मानना ​​है कि जैक कीफर ने टिप्पणी की कि यदि आप अपने नमूने एकत्र करने के लिए यादृच्छिककरण का उपयोग कर रहे हैं, तो आपको निर्णय प्रक्रिया में इसका उपयोग करने में कोई समस्या नहीं होनी चाहिए। यदि आपको एक निर्णय प्रक्रिया की आवश्यकता होती है, जो प्रतिलिपि प्रस्तुत करने योग्य, प्रलेखित और धोखा देने के लिए मुश्किल है, तो डेटा एकत्र करने से पहले यादृच्छिक अंतराल के लिए आवश्यक कोई भी यादृच्छिक मान उत्पन्न करें - इसे डिज़ाइन का हिस्सा बनाएं।
whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.