एक रैखिक प्रतिगमन में x- अवरोधन के विश्वास अंतराल की गणना कैसे करें?


9

चूंकि एक रैखिक प्रतिगमन की मानक त्रुटि आमतौर पर प्रतिक्रिया चर के लिए दी जाती है, मैं सोच रहा हूं कि अन्य दिशा में आत्मविश्वास अंतराल कैसे प्राप्त करें - जैसे कि एक्स-इंटरसेप्ट। मैं कल्पना कर सकता हूं कि यह क्या हो सकता है, लेकिन मुझे यकीन है कि ऐसा करने का एक सीधा तरीका होना चाहिए। नीचे इस बात की कल्पना करने के लिए आर में एक उदाहरण है:

set.seed(1)
x <- 1:10
a <- 20
b <- -2
y <- a + b*x + rnorm(length(x), mean=0, sd=1)

fit <- lm(y ~ x)
XINT <- -coef(fit)[1]/coef(fit)[2]

plot(y ~ x, xlim=c(0, XINT*1.1), ylim=c(-2,max(y)))
abline(h=0, lty=2, col=8); abline(fit, col=2)
points(XINT, 0, col=4, pch=4)
newdat <- data.frame(x=seq(-2,12,len=1000))

# CI
pred <- predict(fit, newdata=newdat, se.fit = TRUE) 
newdat$yplus <-pred$fit + 1.96*pred$se.fit 
newdat$yminus <-pred$fit - 1.96*pred$se.fit 
lines(yplus ~ x, newdat, col=2, lty=2)
lines(yminus ~ x, newdat, col=2, lty=2)

# approximate CI of XINT
lwr <- newdat$x[which.min((newdat$yminus-0)^2)]
upr <- newdat$x[which.min((newdat$yplus-0)^2)]
abline(v=c(lwr, upr), lty=3, col=4)

यहाँ छवि विवरण दर्ज करें


1
आप इसे बूटस्ट्रैप कर सकते हैं library(boot); sims <- boot(data.frame(x, y), function(d, i) { fit <- lm(y ~ x, data = d[i,]) -coef(fit)[1]/coef(fit)[2] }, R = 1e4); points(quantile(sims$t, c(0.025, 0.975)), c(0, 0)):। उलटा पूर्वानुमान अंतराल के chemCal:::inverse.predictलिए निम्नलिखित संदर्भ की मदद फ़ाइल देता है जो सीआई को प्राप्त करने में भी मदद कर सकती है: मासार्ट, एलएम, वांडेंगेंस्टे, बीजीएम, ब्यूडेन्स, एलएमसी, डी जोंग, एस, लेवी, पीजे, स्मियर्स-वेरबे, जे (1997) ) हैंडबुक ऑफ़ केमोमेट्रिक्स एंड क्वालिमिट्रिक्स: पार्ट ए, पी। 200
रोलैंड

1
आप ग्राफ में जो दिखाते हैं वह इंटरसेप्ट के लिए CI नहीं है। आप उन बिंदुओं को दिखाते हैं जहां भविष्यवाणियों की निचली और ऊपरी विश्वास रेखाएं अक्ष को पार करती हैं।
रोलैंड

1
अक्सर रैखिक प्रतिगमन में एक मॉडल होता है जो कुछ इस तरह कहता है:
Yi=α+βxi+εiwhere ε1,εni.i.d. N(0,σ2),
ताकि Ys को यादृच्छिक और के रूप में माना जाता है xतय के अनुसार है। यह कहकर उचित ठहराया जा सकता है कि आप दिए गए सशर्त वितरण की तलाश कर रहे हैंxरों। व्यवहार में यदि आप एक नया नमूना लेते हैं, तो यह आमतौर पर न केवल होता हैYs लेकिन यह भी xयह परिवर्तन, कुछ परिस्थितियों में सुझाव देते हुए उन्हें यादृच्छिक भी माना जाना चाहिए। मुझे आश्चर्य है कि अगर यह के स्वामित्व पर भालू
माइकल हार्डी


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

जवाबों:


9

एक रैखिक प्रतिगमन में x- अवरोधन के विश्वास अंतराल की गणना कैसे करें?

Asumptions

  • सरल प्रतिगमन मॉडल का उपयोग करें yi=α+βxi+εi
  • रजिस्टरों पर त्रुटियों का वितरण सामान्य होता है ϵ|XN(0,σ2In)
  • साधारण वर्ग का उपयोग करके फिट

एक्स-इंटरसेप्ट पर विश्वास अंतराल की गणना करने के लिए 3 प्रक्रियाएं

पहले आदेश टेलर विस्तार

आपका मॉडल है Y=aX+b अनुमानित मानक विचलन के साथ σa तथा σb पर a तथा b मापदंडों और अनुमानित सहसंयोजक σab। तुम हल करो

aX+b=0X=ba.

फिर मानक विचलन σX पर X द्वारा दिया गया है:

(σXX)2=(σbb)2+(σaa)22σabab.

एमआईबी

एक रेखीय प्रतिगमन में x- अवरोधन के विश्वास अंतराल की गणना करने के लिए बॉक्स में मार्क से कोड देखें ?

Capitani-POLLASTRI

CAPITANI-POLLASTRI दो सहसंबद्ध सामान्य यादृच्छिक चर के अनुपात के लिए संचयी वितरण फ़ंक्शन और घनत्व फ़ंक्शन प्रदान करता है। इसका उपयोग रेखीय प्रतिगमन में एक्स-इंटरसेप्ट के विश्वास अंतराल की गणना करने के लिए किया जा सकता है। यह प्रक्रिया MIB के समान परिणाम देती है (लगभग)।

वास्तव में, सामान्य वर्ग का उपयोग करते हुए और त्रुटियों की सामान्यता का उपयोग करते हुए, β^N(β,σ2(XTX)1) (सत्यापित) और β^सहसंबद्ध (सत्यापित) हैं।

प्रक्रिया निम्नलिखित है:

  • के लिए OLS अनुमानक प्राप्त करें a तथा b
  • विचरण-सहसंयोजक मैट्रिक्स प्राप्त करें और निकालें, σa,σb,σab=ρσaσb
  • मान लो की a तथा b Bivariate सहसंबद्ध सामान्य वितरण का पालन करें, N(a,b,σa,σb,ρ)। फिर घनत्व समारोह और संचयी वितरण समारोहxintercept=ba CAPITANI-POLLASTRI द्वारा दिए गए हैं।
  • के संचयी वितरण फ़ंक्शन का उपयोग करें xintercept=ba वांछित मात्राओं की गणना करने और एक कॉफिडेंस अंतराल सेट करने के लिए।

3 प्रक्रियाओं की तुलना

निम्न डेटा कॉन्फ़िगरेशन का उपयोग करके प्रक्रियाओं की तुलना की जाती है:

  • x <- 1:10
  • एक <- 20
  • b <- -2
  • y <- a + b * x + rnorm (लंबाई (x), माध्य = 0, sd = 1)

10000 अलग-अलग नमूने उत्पन्न होते हैं और 3 तरीकों का उपयोग करके विश्लेषण किया जाता है। उत्पन्न करने और विश्लेषण करने के लिए उपयोग किए जाने वाले कोड (R) पर पाया जा सकता है: https://github.com/adrienrenaud/stackExchange/blob/master/crossValidated/q221630/answer.ipynb

  • MIB और CAPITANI-POLLASTRI बराबर परिणाम देते हैं।
  • पहला आदेश टेलर विस्तार दो अन्य तरीकों से काफी भिन्न होता है।
  • MIB और CAPITANI-POLLASTRI अंडर-कवरेज से ग्रस्त हैं। 68% (95%) ci को उस समय का सही मान 63% (92%) पाया जाता है।
  • पहला आदेश टेलर विस्तार ओवर-कवरेज से ग्रस्त है। 68% (95%) ci में उस समय का सही मूल्य 87% (99%) पाया जाता है।

निष्कर्ष

एक्स-इंटरसेप्ट वितरण असममित है। यह एक असममित आत्मविश्वास अंतराल को सही ठहराता है। MIB और CAPITANI-POLLASTRI बराबर परिणाम देते हैं। CAPITANI-POLLASTRI का एक अच्छा सैद्धांतिक औचित्य है और यह MIB के लिए आधार देता है। MIB और CAPITANI-POLLASTRI मध्यम अंडर-कवरेज से ग्रस्त हैं और आत्मविश्वास अंतराल सेट करने के लिए उपयोग किया जा सकता है।


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

हाँ, यह एक सममित अंतराल करता है। यदि आप एक असममित चाहते हैं, तो आप अपने मॉडल मापदंडों को उपद्रव मापदंडों के रूप में मानते हुए एक प्रोफ़ाइल संभावना का उपयोग कर सकते हैं। लेकिन यह अधिक काम है :)
एड्रियन रेनॉड

क्या आप इस बारे में अधिक विस्तार से बता सकते हैं कि आपको वह अभिव्यक्ति कैसे मिलती है (σX/X)2?

@fcop यह एक टेलर विस्तार है। पर एक नज़र डालें en.wikipedia.org/wiki/Propagation_of_uncertainty
एड्रियन रेनॉड

2

मैं अवशिष्ट को बूटस्ट्रैप करने की सलाह दूंगा:

library(boot)

set.seed(42)
sims <- boot(residuals(fit), function(r, i, d = data.frame(x, y), yhat = fitted(fit)) {

  d$y <- yhat + r[i]

  fitb <- lm(y ~ x, data = d)

  -coef(fitb)[1]/coef(fitb)[2]
}, R = 1e4)
lines(quantile(sims$t, c(0.025, 0.975)), c(0, 0), col = "blue")

परिणामी भूखंड

आप ग्राफ में जो दर्शाते हैं, वे बिंदु हैं जहां भविष्यवाणियों के विश्वास बैंड की निचली / ऊपरी सीमा अक्ष को पार करती है। मुझे नहीं लगता कि ये इंटरसेप्ट की विश्वास सीमाएं हैं, लेकिन शायद ये एक मोटा अनुमान है।


महान - यह पहले से ही आपकी टिप्पणी से उदाहरण से अधिक उचित लगता है। एक बार फिर धन्यवाद।
बॉक्स में मार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.