पृष्ठभूमि : मेरे पास सामाजिक मनोविज्ञान में पीएचडी है, जहां सैद्धांतिक आँकड़े और गणित मुश्किल से मेरे मात्रात्मक शोध में शामिल थे। अंडरग्रेजुएट और ग्रेड स्कूल के माध्यम से, मुझे "शास्त्रीय" सामाजिक तथ्य ढांचे के माध्यम से (शायद आप में से कई सामाजिक विज्ञानों में भी पसंद किया गया था) सिखाया गया था। अब, मैं भी आर प्यार और सत्यापित करने के लिए तरीकों काम करता है सिमुलेशन तरीकों का उपयोग कर रास्तागणितीय प्रमाण की तुलना में मेरे लिए अधिक समझदारी (फिर से: एक मात्रात्मक सामाजिक विज्ञान में पृष्ठभूमि, सैद्धांतिक आंकड़े नहीं)। बार-बार होने वाले तरीके और सिमुलेशन तरीके मेरे लिए एक टन का एहसास कराते हैं। चूँकि फ़्रीक्वेंटर्स प्रायिकता को लंबे समय तक चलने के रूप में देखते हैं (उदाहरण के लिए, अगर मैं इसे बड़ी संख्या में बार-बार करता हूँ, और यह समय का 50% होता है, तो 50% संभावना है)। हम मोंटे कार्लो विधियों के साथ इस लंबे समय का अनुकरण कर सकते हैं!
जटिलताओं : अंडरगार्मेंट के बाद से, मैं बायेसियन तरीकों के बारे में बहुत जागरूक रहा हूं, और मेरे जीवन में हमेशा ऐसे लोग रहे हैं, जिन्होंने मुझे बायेसियन पक्ष में बुलाया, यह कहते हुए कि परिणाम व्याख्या करने में आसान थे, कि हम डेटा के बजाय एक परिकल्पना के लिए संभावना प्राप्त करते हैं। एक परिकल्पना दी गई, आदि मैं वास्तव में इस में था और एक बायेसियन वर्ग लिया, कुछ बायेसियन किताबें और पेपर पढ़ा, और अब स्टेन और इसके संबंधित आर पैकेजों से काफी परिचित हूं।
मायो दर्ज करें : कुछ समय के लिए "बायेसियन शायद भविष्य का रास्ता है" यह सोचने के बाद, मैंने डेबोरा मेयो के सांख्यिकीय आविष्कार को गंभीर परीक्षण के रूप में पढ़ा । वह कहती है कि वह किताब की शुरुआत में कोई पक्ष नहीं लेती है, लेकिन वह करती है: वह एक बार-बार आने वाली लड़की है, और बहुत सारी किताब बार-बार होने वाली कार्यप्रणाली का बचाव कर रही है। मैं आवश्यक रूप से इस बात की चर्चा में नहीं पड़ना चाहता कि क्या हमें लगता है कि वह जिस तरह से सबूत देखती है वह वैध है, लेकिन यह मुझे सोच रहा है: क्या बेयस वास्तव में यह सब विज्ञापित है? मेरा मतलब है, बेयस भीड़ अपने आप में इतनी फ्रैक्चर है कि मुझे बायसियन फ्रेमवर्क में डेटा का विश्लेषण करने का "सही" तरीका भी नहीं पता है। आमतौर पर, मैं बस का उपयोग करेगाrstanarm
और वर्तमान बिंदु अनुमान और विश्वसनीय अंतराल ... जो अक्सर लगातार अनुमानों और आत्मविश्वास के अंतराल के साथ निकटता रखते हैं। मैं मॉडल की तुलना कर सकता हूं, लेकिन मैं हमेशा बेयर्स कारकों का वर्णन करने से डरता हूं क्योंकि बाद की संभावना तुलना, आदि।
अधिक सोच : मेयो की किताब के माध्यम से मैं जो सोचता रहा वह था: एक तरीका है जिससे हम कंप्यूटर का उपयोग कर सकते हैं ताकि यह सुनिश्चित हो सके कि हमारे लगातार काम करने के तरीके काम करते हैं, क्योंकि संभावना है कि हम लंबे समय में देखते हैं और हम इसे अनुकरण कर सकते हैं। बायेसियन भी इस बात पर सहमत नहीं हो सकते हैं कि वास्तव में क्या संभावना है, ऐसा लगता है, बायेसियन स्कूल (डिफ़ॉल्ट, व्यक्तिपरक, आदि) पर निर्भर करता है। जो मुझे मेरे प्रश्न की ओर ले जाता है:
प्रश्न : बायेसियन यह कैसे सत्यापित करते हैं कि मोंटे कार्लो सिमुलेशन विधियों का उपयोग करके उनके तरीके अनिश्चितता को ठीक से परिभाषित करते हैं (यानी, वैध विश्वसनीय अंतराल और पश्च वितरण की गणना करें), यदि संभावना को लंबे समय में दरों के रूप में परिभाषित नहीं किया गया है?
उदाहरण : मैं एक डेटा जनरेटर बनाता हूं। यह सिर्फ .5 की संभावना के साथ एक बर्नौली वितरण से अनुकरण करने जा रहा है।
set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
rbinom(n, 1, p)
}
अब, मान लें कि मैं यह सुनिश्चित करना चाहता हूं कि लॉजिस्टिक रिग्रेशन में विश्वास अंतराल वास्तव में मान्य हैं। मैं एक प्रतिगमन को कई बार अनुकरण कर सकता हूं और यह सुनिश्चित कर सकता हूं कि वास्तविक जनसंख्या मूल्य 95% आत्मविश्वास अंतराल 95% समय में आता है। यह इंटरसेप्ट-ओनली मॉडल है, इसलिए मैं केवल यह सुनिश्चित करना चाहता हूं कि मैं p
सही तरीके से अनुमान लगा रहा हूं :
set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
mod <- glm(gen_dat(n, p) ~ 1, binomial)
conf <- suppressMessages(confint(mod))
log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)
इसे चलाने में कुछ मिनट लगते हैं, लेकिन हम mean(results)
कॉल देने के साथ समाप्त हो जाते हैं 0.9416
। यह लगभग 95% है, और मुझे यह कहने में विश्वास है कि glm
आदेश अनिश्चितता को वैध तरीके से वर्णित कर रहा है। मुझे यकीन है कि अगर मैं ऊपर उठता iter
और अपने लैपटॉप पर लंबे समय तक यहां इंतजार करना चाहता था, तो यह नाक पर दाएं 95% के करीब हो गया होगा ।
दूसरी ओर, आइए एक बेइज़ियन मॉडल को उसी चीज़ के लिए फिट करें:
library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)
भाग में, यह मुझे देता है:
Estimates:
mean sd 2.5% 25% 50% 75% 97.5%
(Intercept) -0.1 0.2 -0.5 -0.2 -0.1 0.0 0.3
mean_PPD 0.5 0.1 0.3 0.4 0.5 0.5 0.6
log-posterior -73.0 0.7 -75.1 -73.1 -72.7 -72.5 -72.5
चूंकि बायेसियन संभावना को परिभाषित नहीं करते हैं जैसा कि हम लंबे समय में देखते हैं, मैं कैसे सत्यापित करने के लिए सिमुलेशन विधियों का उपयोग कर सकता हूं stan_glm
कि सटीकता अनिश्चितता पर कब्जा कर रही है? यही है, मैं कैसे विश्वास कर सकता हूं कि सिमुलेशन के तरीकों का उपयोग करके ये विश्वसनीय अंतराल वैध हैं? और अभी, मैं एक पूर्व को भी परिभाषित नहीं कर रहा हूं - पुजारियों को शामिल करने का तरीका यहां कैसे लागू होता है, क्योंकि यह अनिश्चितता के हमारे उपायों को प्रभावित करेगा?
जब मैं स्टेन से एक बाधा मॉडल घटक के साथ एक बार बीटा प्रतिगमन लिखने की कोशिश कर रहा था, तो मुझे किसी ने सिफारिश की थी: "डेटा का अनुकरण करें। क्या यह समय का एक गुच्छा है, और सही अनुमान 95 के बारे में विश्वसनीय अंतराल में होना चाहिए। % समय की।" लेकिन मेरे लिए, जो कि बेयसियंस में विश्वास करता है, उसी चीज के खिलाफ जाता है! यह संभावना की लगातार समझ पर निर्भर करता है! तो एक बायेसियन मुझे कैसे समझाएगा कि मुझे summary()
अपने मॉडल पर कॉल से जो विश्वसनीय अंतराल मिल रहा है, वह सिमुलेशन विधियों का उपयोग करके अनिश्चितता का सटीक वर्णन कर रहा है?
प्रश्न का उद्देश्य : यह एक तुच्छ उदाहरण है, लेकिन कई बार क्लाइंट मुझे मुश्किल समस्याएं प्रदान करते हैं। और मैं उन चीजों की कोशिश करता हूं जिनसे मैं अपरिचित हूं, इसलिए मैं यह सुनिश्चित करने के लिए अक्सर एक सिमुलेशन अध्ययन चलाता हूं कि मैं जो कर रहा हूं वह वैध है। अगर मैं स्टेन में एक कस्टम मॉडल लिखता, तो मुझे कैसे पता चलता कि मैं जो कर रहा हूं वह वैध है? मैं यह सत्यापित करने के लिए सिमुलेशन विधियों का उपयोग कैसे कर सकता हूं कि मैं स्टेन में जो कर रहा हूं वह वास्तव में मुझे बताने जा रहा है कि मैं क्या जानना चाहता हूं?