प्रतिगमन मापदंडों के लिए आत्मविश्वास अंतराल: बेयसियन बनाम शास्त्रीय


15

दो सरणियों x और y को देखते हुए, दोनों की लंबाई n, मैं एक मॉडल y = a + b * x फिट करता हूं और ढलान के लिए 95% विश्वास अंतराल की गणना करना चाहता हूं। यह (b - डेल्टा, b + डेल्टा) है जहाँ b सामान्य तरीके से पाया जाता है और

delta = qt(0.975,df=n-2)*se.slope

और se.slope ढलान में मानक त्रुटि है। आर से ढलान की मानक त्रुटि प्राप्त करने का एक तरीका है summary(lm(y~x))$coef[2,2]

अब मान लें कि मैंने दिए गए ढलान की संभावना को x और y लिखा है, इसे पहले एक "फ्लैट" से गुणा करें और पीछे के वितरण से एक नमूना एम आकर्षित करने के लिए एमसीएमसी तकनीक का उपयोग करें । परिभाषित करें

lims = quantile(m,c(0.025,0.975))

मेरा प्रश्न: (lims[[2]]-lims[[1]])/2ऊपर बताए अनुसार लगभग डेल्टा के बराबर है?

नीचे परिशिष्ट एक सरल JAGS मॉडल है जहाँ ये दोनों भिन्न प्रतीत होते हैं।

model {
 for (i in 1:N) {
  y[i] ~ dnorm(mu[i], tau)
  mu[i] <- a + b * x[i]
 }
 a ~ dnorm(0, .00001)
 b ~ dnorm(0, .00001)
 tau <- pow(sigma, -2)
 sigma ~ dunif(0, 100)
}

मैं निम्नलिखित को R में चलाता हूं:

N <- 10
x <- 1:10
y <- c(30.5,40.6,20.5,59.1,52.5,
       96.0,121.4,78.9,112.1,128.4)
lin <- lm(y~x)

#Calculate delta for a 95% confidence interval on the slope
delta.lm <- qt(0.975,df=N-2)*summary(lin)$coef[2,2]

library('rjags')
jags <- jags.model('example.bug', data = list('x' = x,'y' = y,'N' = N),
                   n.chains = 4,n.adapt = 100)
update(jags, 1000)
params <- jags.samples(jags,c('a', 'b', 'sigma'),7500)
lims <- quantile(params$b,c(0.025,0.975))
delta.bayes <- (lims[[2]]-lims[[1]])/2

cat("Classical confidence region: +/-",round(delta.lm, digits=4),"\n")
cat("Bayesian confidence region:  +/-",round(delta.bayes,digits=4),"\n")

और पाओ:

शास्त्रीय आत्मविश्वास क्षेत्र: +/- 4.6939

बायेसियन विश्वास क्षेत्र: +/- 5.1605

इस कई बार फिर से, Bayesian विश्वास क्षेत्र शास्त्रीय एक की तुलना में लगातार व्यापक है। तो क्या यह मेरे द्वारा चुने गए पुजारियों के कारण है?

जवाबों:


9

'समस्या' सिग्मा पर पूर्व में है। कम जानकारीपूर्ण सेटिंग का प्रयास करें

tau ~ dgamma(1.0E-3,1.0E-3)
sigma <- pow(tau, -1/2)

अपने jags फ़ाइल में। फिर एक गुच्छा अद्यतन करें

update(10000)

मापदंडों को पकड़ो, और अपनी ब्याज की मात्रा को संक्षेप में प्रस्तुत करें। यह क्लासिक संस्करण के साथ उचित रूप से अच्छी तरह से पंक्तिबद्ध होना चाहिए।

स्पष्टता: अद्यतन केवल यह सुनिश्चित करने के लिए है कि आपको वह स्थान प्राप्त हो, जहां आप पहले से तय कर लें कि आप जो भी तय करना चाहते हैं, हालांकि इस तरह के मॉडलों के लिए जंजीरों को अलग-अलग पुजारियों और यादृच्छिक शुरुआती मूल्यों के साथ अभिसरण करने में अधिक समय लगता है। वास्तविक समस्याओं में आप किसी भी चीज़ को सारांशित करने से पहले अभिसरण की जाँच करेंगे, लेकिन अभिसरण आपके उदाहरण में मुख्य मुद्दा नहीं है जो मुझे नहीं लगता।


@Ringold, क्या काम किया? सिग्मा या अद्यतन पर पूर्व? अथवा दोनों? क्या आपने उन्हें अलग से परीक्षण किया है?
जिज्ञासु

होना चाहिए sigma <- pow(tau, -1/2)याsigma <- 1/sqrt(tau)
जिज्ञासु

@ टोमास, काफी सही। टाइपो तय।
संयुक्ताक्षरी

हालांकि स्पष्ट रूप से यह अंतर का स्रोत हो सकता है क्योंकि यह मूल कोड में है ...
conjugateprior

6

यदि आप b के पिछले भाग से नमूना लेते हैं | y और अंगों की गणना (जैसा कि आप परिभाषित करते हैं) यह (b - डेल्टा, b + डेल्टा) के समान होना चाहिए। विशेष रूप से, यदि आप बी के पीछे वितरण की गणना करते हैं | पहले एक फ्लैट के नीचे, यह बी के शास्त्रीय नमूना वितरण के समान है।

अधिक जानकारी के लिए देखें: जेलमैन एट अल। (2003)। बायेसियन डेटा विश्लेषण। सीआरसी प्रेस। धारा 3.6

संपादित करें:

रिंगोल्ड, आपके द्वारा मनाया गया व्यवहार बायेसियन विचार के अनुरूप है। बेइज़ियन क्रेडिबल इंटरवल (CI) आम तौर पर शास्त्रीय लोगों की तुलना में व्यापक है। और कारण यह है, जैसा कि आपने सही ढंग से अनुमान लगाया है, हाइपरप्रिअर्स अज्ञात मापदंडों के कारण परिवर्तनशीलता को ध्यान में रखते हैं।

इन जैसे साधारण परिदृश्यों के लिए (सामान्य में नहीं):

Baysian CI> अनुभवजन्य बायेसियन CI> शास्त्रीय सीआई; > == व्यापक


मैंने JAGS का उपयोग करते हुए कुछ कोड जोड़े जहां मुझे एक अलग उत्तर मिल रहा है। मेरी गलती कहाँ है? क्या पुजारियों की वजह से ऐसा हो रहा है?
रिंगाल

अब मैं उलझन में हूँ। पहले आपने कहा था कि एक फ्लैट के नीचे b। Y का पिछला वितरण समान है, जो कि b का शास्त्रीय नमूना वितरण है। फिर आपने कहा कि बायेसियन सीआई शास्त्रीय एक की तुलना में व्यापक है। यदि वितरण समान हैं तो यह कैसे व्यापक हो सकता है?
रिंग

क्षमा करें - मुझे बताना चाहिए कि @CP ने अपनी टिप्पणियों में क्या सुझाव दिया। सैद्धांतिक रूप से, b। Y एक फ्लैट से पहले और शास्त्रीय CI के समान हैं, लेकिन आप JAGS में व्यावहारिक रूप से ऐसा नहीं कर सकते हैं जब तक कि आप CP के सुझाए गए बहुत पहले फैलाना का उपयोग न करें और बहुत सारे MCMC पुनरावृत्तियों का उपयोग करें।
सूर्यास्तसू

मैंने आपके खातों को मर्ज कर दिया है ताकि आप अपने प्रश्नों को संपादित कर सकें और टिप्पणियाँ जोड़ सकें। फिर भी, कृपया यहाँ क्लिक करके अपना खाता पंजीकृत करें: आँकड़ें ।stackexchange.com / users / login ; आप इसे कुछ ही सेकंड में करने के लिए अपने जीमेल ओपनआईडी का उपयोग कर सकते हैं और आप अपने खाते को यहां और ढीले नहीं करेंगे।

धन्यवाद, मैंने पंजीकृत किया है। और इस सवाल का जवाब देने वालों को बहुत धन्यवाद। मैं पहले गामा की कोशिश करूंगा।
रिंगाल

5

रैखिक गाऊसी मॉडल के लिए बेसम पैकेज का उपयोग करना बेहतर है। यह पुजारियों के अर्ध-संयुग्मित परिवार को लागू करता है, और जेफ्रीज़ पूर्व इस परिवार का एक सीमित मामला है। नीचे मेरा उदाहरण देखें। ये शास्त्रीय सिमुलेशन हैं, एमसीएमसी का उपयोग करने की कोई आवश्यकता नहीं है।

मुझे याद नहीं है कि क्या प्रतिगमन मापदंडों के बारे में विश्वसनीयता अंतराल बिल्कुल सामान्य न्यूनतम वर्ग अंतराल अंतराल के समान हैं, लेकिन किसी भी मामले में वे बहुत करीब हैं।

> # required package
> library(bayesm)
> # data
> age <- c(35,45,55,65,75)
> tension <- c(114,124,143,158,166)
> y <- tension
> # model matrix
> X <- model.matrix(tension~age)
> # prior parameters
> Theta0 <- c(0,0)
> A0 <- 0.0001*diag(2)
> nu0 <- 0
> sigam0sq <- 0
> # number of simulations
> n.sims <- 5000
> # run posterior simulations
> Data <- list(y=y,X=X)
> Prior <- list(betabar=Theta0, A=A0, nu=nu0, ssq=sigam0sq)
> Mcmc <- list(R=n.sims)
> bayesian.reg <- runireg(Data, Prior, Mcmc)
> beta.sims <- t(bayesian.reg$betadraw) # transpose of bayesian.reg$betadraw
> sigmasq.sims <- bayesian.reg$sigmasqdraw
> apply(beta.sims, 1, quantile, probs = c(0.025, 0.975))
[,1] [,2]
2.5% 53.33948 1.170794
97.5% 77.23371 1.585798
> # to be compared with: 
> frequentist.reg <- lm(tension~age)

3

यह देखते हुए कि साधारण रेखीय प्रतिगमन जेफरी के पूर्व के साथ शास्त्रीय और बेयसियन विश्लेषण के बीच विश्लेषणात्मक रूप से समान है, जो दोनों विश्लेषणात्मक हैं, बेसिकियन विश्लेषण करने के लिए एमसीएमसी जैसे संख्यात्मक पद्धति का सहारा लेना थोड़ा अजीब लगता है। MCMC केवल एक संख्यात्मक एकीकरण उपकरण है, जो बेयसियन विधियों को अधिक जटिल समस्याओं में उपयोग करने की अनुमति देता है जो विश्लेषणात्मक रूप से अट्रैक्टिव हैं, ठीक उसी तरह जैसे न्यूटन-रैप्सन या फिशर स्कोरिंग शास्त्रीय समस्याओं को हल करने के लिए संख्यात्मक तरीके हैं जो कि अट्रैक्टिव हैं।

जेफरी के पूर्व पी (ए, बी, एस) का उपयोग करके 1 / एस (जहां एस त्रुटि का मानक विचलन है) का एक छात्र टी वितरण स्थान b_ols, स्केल se__ols (" "सामान्य कम से कम वर्ग" अनुमान के लिए ols ", और स्वतंत्रता की n-2 डिग्री। लेकिन b_ols का नमूना वितरण स्थान b, स्केल se_b_ols, और स्वतंत्रता की n-2 डिग्री के साथ एक छात्र टी भी है। इस प्रकार वे समान हैं सिवाय इसके कि b और b_ols की अदला-बदली की गई है, इसलिए जब अंतराल बनाने की बात आती है, तो विश्वास अंतराल के "एस्ट + - बाउंड" विश्वसनीय अंतराल में एक "एस्ट - + बाउंड" के विपरीत हो जाते हैं।

तो विश्वास अंतराल और विश्वसनीय अंतराल विश्लेषणात्मक रूप से समान हैं, और यह मायने रखता है कि कौन सी विधि का उपयोग किया जाता है (बशर्ते कोई अतिरिक्त पूर्व सूचना न हो) - इसलिए उस विधि को लें जो कम्प्यूटेशनल रूप से सस्ता हो (जैसे कि कम मैट्रिक्स व्युत्क्रमों वाला)। MCMC के साथ आपका परिणाम क्या दिखाता है कि MCMC के साथ उपयोग किया जाने वाला विशेष सन्निकटन एक विश्वसनीय अंतराल देता है जो सटीक विश्लेषणात्मक विश्वसनीय अंतराल की तुलना में बहुत व्यापक है। यह शायद एक अच्छी बात है (हालांकि हम चाहते हैं कि सन्निकटन बेहतर हो) कि अनुमानित बायेसियन समाधान सटीक बायेसियन समाधान की तुलना में अधिक रूढ़िवादी प्रतीत होता है।


वास्तव में इतना अजीब नहीं है। किसी समस्या का उत्तर खोजने के लिए संख्यात्मक पद्धति का उपयोग करने का एक कारण जो विश्लेषणात्मक रूप से हल किया जा सकता है, वह यह सुनिश्चित करना है कि कोई सॉफ़्टवेयर का सही उपयोग कर रहा है।
रिंगालो

1
(β0,β1,...,βपी,σ)मापदंडों के। उदाहरण के लिए, मैं संभावना के बारे में विश्वसनीयता अंतराल प्राप्त करने के लिए इस संभावना का उपयोग करता हूंपीआर(Y>10|एक्स) कुछ मूल्य के लिए एक्सकोविरेट का। मैं नहीं जानता कि इस संभावना के बारे में लगातार विश्वास अंतराल कैसे प्राप्त करें।
स्टीफन लॉरेंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.