Ggplot प्रतिगमन के लिए विश्वास अंतराल की गणना कैसे करता है?


15

R प्लॉटिंग पैकेज ggplot2 में संबंधित विश्वास बैंड के साथ एक प्रतिगमन रेखा (या वक्र) की साजिश रचने के लिए stat_smooth नामक एक भयानक कार्य है ।

हालाँकि मुझे यह पता लगाने में मुश्किल समय आ रहा है कि यह आत्मविश्वास बैंड कैसे उत्पन्न होता है, प्रतिगमन लाइन (या "विधि") के हर समय के लिए। मुझे यह जानकारी कैसे मिल सकती है?


2
अपने लिंक में "विवरण" शीर्षक वाला अनुभाग देखें।
स्टीफन लॉरेंट

1
@ StéphaneLaurent: मैंने उस अनुभाग को पढ़ा है, लेकिन मुझे अभी भी डॉट्स कनेक्ट करने में समस्या है। मैं एक लाइन फिट करने के लिए "आरएलएम" विधि का उपयोग करता हूं, कैसे आत्मविश्वास अंतराल की गणना की जाती है (गणितीय रूप से, क्या समीकरण / एल्गोरिदम?)। मुझे वह जानकारी कैसे मिल सकती है?
static_rtti

1
इसलिए मुझे लगता है कि आपको अधिक सटीक प्रश्न पूछना चाहिए।
स्टीफन लॉरेंट

1
मुझे लगता है कि आपका प्रश्न यथोचित सटीक है ... लेकिन मुझे संदेह है कि आपको यहां उत्तर नहीं मिलेगा। : आप ggplot2 गूगल समूह में बेहतर भाग्य हो सकता है groups.google.com/forum/?fromgroups#!forum/ggplot2
russellpierce

जवाबों:


22

Detailsमदद के अनुभाग से

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

इसलिए प्रेडिफ़ीड आमतौर पर कॉल करेगा stats::predict, जो बदले में स्मूथिंगpredict विधि के लिए सही विधि कहेगाStat_smooth से जुड़े अन्य कार्य से भी विचार करने के लिए उपयोगी हैं।

अधिकांश मॉडल फिटिंग कार्यों में मॉडल predictके साथ जुड़ा हुआ तरीका होगा class। ये आमतौर पर एक newdataऑब्जेक्ट और एक तर्क se.fitलेगा जो यह दर्शाता है कि मानक त्रुटियों को फिट किया जाएगा या नहीं। (देखें ?predict) अधिक जानकारी के लिए।

se
चिकनी के आसपास आत्मविश्वास अंतराल प्रदर्शित करें? (डिफ़ॉल्ट रूप से सही, नियंत्रित करने के लिए स्तर देखें

यह उचित मानक त्रुटियों (विधि पर निर्भर) को वापस करने के लिए पूर्वानुमान विधि का निर्देशन पारित किया गया है

fullrange
फिट को प्लॉट की पूरी रेंज, या सिर्फ डेटा चाहिए

यह उन newdataमूल्यों को परिभाषित करता है xजिनके लिए भविष्यवाणियों का मूल्यांकन किया जाएगा

level उपयोग करने के लिए विश्वास अंतराल का स्तर (0.95 डिफ़ॉल्ट रूप से)

सीधे पूर्वानुमान विधि में पास किया गया ताकि आत्मविश्वास अंतराल उचित महत्वपूर्ण मान को परिभाषित कर सके (जैसे मानक त्रुटियों के लिए गुणा करने के लिए predict.lmउपयोग करता qt((1 - level)/2, df)है)

n चिकनी पर मूल्यांकन करने के लिए अंकों की संख्या

ऑब्जेक्ट में मूल्यों fullrangeको परिभाषित करने के लिए संयोजन के साथ प्रयोग किया जाता है ।xnewdata

एक कॉल के भीतर stat_smoothआप यह परिभाषित कर सकते हैं seकि क्या आंशिक रूप से se.fit(या se) से मेल खाता है , और intervalयदि आवश्यक हो तो तर्क को परिभाषित करेगा । levelविश्वास अंतराल का स्तर देगा (चूक 0.95)।

newdataवस्तु, प्रसंस्करण के भीतर परिभाषित किया गया है अपने की सेटिंग के आधार पर fullrangeलंबाई का एक अनुक्रम कोn प्लॉट या डेटा की पूरी रेंज के भीतर।

आपके मामले में, उपयोग करते हुए rlm, यह उपयोग करेगा predict.rlm, जिसे इस रूप में परिभाषित किया गया है

predict.rlm <- function (object, newdata = NULL, scale = NULL, ...)
{
    ## problems with using predict.lm are the scale and
    ## the QR decomp which has been done on down-weighted values.
    object$qr <- qr(sqrt(object$weights) * object$x)
        predict.lm(object, newdata = newdata, scale = object$s, ...)
}

तो यह आंतरिक रूप predict.lmसे qrअपघटन और scaleतर्क के एक उपयुक्त स्केलिंग के साथ बुला रहा है।


... और predict.rlm MASS के अंदर छिपा हुआ है ... और भविष्यवाणी करने के लिए कॉल मॉडल, xseq, se, और लेवल आर्ग्युमेंट्स का पूर्वानुमान लगाता है ।rlm ... लेकिन वे मान कहां से आए? ठीक है, मुझे लगता है कि यह निर्भर करता है कि क्या होता है जब तर्क stat_smooth से पारित कर दिए जाते हैं StatSmooth $ नया ... जो तब बदले में कॉल करता है ...
russellpierce

1
मेरा कहना है, कि आपका उत्तर सही दिशा में एक कदम है, लेकिन ओपी प्रश्न का पूरी तरह से उत्तर देना उतना तुच्छ नहीं है जितना कि यह पहली बार लगता है (हालांकि किसी को उम्मीद है कि कोड समझदारी से व्यवहार करेगा ... एक यह सुनिश्चित नहीं है जब तक कि यह पूरी तरह से पता नहीं लगाता है। )
russellpierce

2
यदि कोई predictविधि मानक तरीके से स्थापित की गई है , तो कोड को समझदारी से व्यवहार करने की उम्मीद है । मैंने अपना जवाब आपकी पहली टिप्पणी में उठाए गए मुद्दों को संबोधित करने के लिए संपादित किया है।
मेल

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