सामान्य तरीके से:
p <- predict(mod, newdata, type = "link", se.fit = TRUE)
फिर ध्यान दें कि p
इसमें $se.fit
टिप्पणियों के लिए भविष्यवाणियों के मानक त्रुटियों के साथ एक घटक है newdata
। फिर आप अपने इच्छित स्तर के मान से एसई को गुणा करके CI का निर्माण कर सकते हैं। उदाहरण के लिए लगभग 95% विश्वास अंतराल का गठन किया गया है:
upr <- p$fit + (2 * p$se.fit)
lwr <- p$fit - (2 * p$se.fit)
आपके द्वारा आवश्यक अंतराल के लिए एक या गौसियन वितरण से आप उचित मूल्य में स्थानापन्न करते हैं।t
ध्यान दें कि type = "link"
यदि आप एक GAM या सिर्फ एक AM है तो आप जैसा कहते हैं वैसा मैं उपयोग करता हूं। GAM में, आपको रैखिक भविष्यवक्ता के पैमाने पर विश्वास अंतराल बनाने की आवश्यकता है और फिर लिंक फ़ंक्शन के व्युत्क्रम को लागू करके प्रतिक्रिया के पैमाने पर परिवर्तित करें:
upr <- mod$family$linkinv(upr)
lwr <- mod$family$linkinv(lwr)
अब ध्यान दें कि ये बहुत अनुमानित अंतराल हैं। इसके अलावा ये अंतराल अनुमानित मूल्यों पर बिंदु-वार हैं और वे इस तथ्य को ध्यान में नहीं रखते हैं कि चिकनाई चयन किया गया था।
मापदंडों के पीछे वितरण से अनुकरण के माध्यम से एक साथ आत्मविश्वास अंतराल की गणना की जा सकती है। मेरे ब्लॉग पर इसका एक उदाहरण है ।
यदि आप एक आत्मविश्वास अंतराल चाहते हैं जो स्मूथिंग मापदंडों पर सशर्त नहीं है (यानी एक ऐसा जो ध्यान में रखता है जिसे हम नहीं जानते हैं, लेकिन इसके बजाय अनुमान, चिकनाई मापदंडों के मान), फिर जोड़ें unconditional = TRUE
के लिए predict()
कॉल।
इसके अलावा, यदि आप स्वयं ऐसा नहीं करना चाहते हैं, तो ध्यान दें कि mgcv के नए संस्करणों में एक plot.gam()
फ़ंक्शन है जो सभी डेटा के साथ एक ऑब्जेक्ट देता है जिसका उपयोग स्मूथ और उनके आत्मविश्वास अंतराल के प्लॉट बनाने के लिए किया जाता है। आप बस आउटपुट को plot.gam()
किसी obj से बचा सकते हैं
obj <- plot(model, ....)
और फिर निरीक्षण करें obj
, जो कि प्रति सुचारू एक घटक के साथ एक सूची है। विश्वास अंतराल प्राप्त seWithMean = TRUE
करने के लिए plot()
कॉल में जोड़ें जो चिकनाई पैरामीटर पर सशर्त नहीं हैं।