आंशिक निर्धारण के गुणांक का कार्यान्वयन


9

क्या किसी के पास ऐसे सुझाव या पैकेज हैं जो आंशिक निर्धारण के गुणांक की गणना करेंगे?

आंशिक निर्धारण के गुणांक को भिन्नता के प्रतिशत के रूप में परिभाषित किया जा सकता है जिसे कम किए गए मॉडल में नहीं समझाया जा सकता है, लेकिन एक पूर्ण (एर) मॉडल में निर्दिष्ट भविष्यवाणियों द्वारा समझाया जा सकता है। इस गुणांक का उपयोग अंतर्दृष्टि प्रदान करने के लिए किया जाता है कि क्या एक या एक से अधिक अतिरिक्त भविष्यवाणियां अधिक पूरी तरह से निर्दिष्ट प्रतिगमन मॉडल में उपयोगी हो सकती हैं।

आंशिक r ^ 2 के लिए गणना आपके दो मॉडल का अनुमान लगाने और उनके लिए एनोवा तालिकाओं के निर्माण के बाद अपेक्षाकृत सीधे आगे है। आंशिक r ^ 2 के लिए गणना है:

(SSEreduced - SSEfull) / SSEreduced

मैंने इस अपेक्षाकृत सरल फ़ंक्शन को लिखा है जो इसे कई रैखिक प्रतिगमन मॉडल के लिए गणना करेगा। मैं R में अन्य मॉडल संरचनाओं से अपरिचित हूँ जहाँ यह कार्य प्रदर्शन नहीं कर सकता है:

partialR2 <- function(model.full, model.reduced){
    anova.full <- anova(model.full)
    anova.reduced <- anova(model.reduced)

    sse.full <- tail(anova.full$"Sum Sq", 1)
    sse.reduced <- tail(anova.reduced$"Sum Sq", 1)

    pR2 <- (sse.reduced - sse.full) / sse.reduced
    return(pR2)

    }

इस कार्य को पूरा करने के लिए अधिक मजबूत कार्यों पर कोई सुझाव या सुझाव और / या उपरोक्त कोड के अधिक कुशल कार्यान्वयन की बहुत सराहना की जाएगी।


2
मेरा सुझाव है कि अन्य मॉडलों की कोशिश करें और देखें कि कोड काम करता है या नहीं। आर आमतौर पर अच्छा होता है, इसलिए एनोवा को अलग-अलग मॉडल के लिए समान चीजों को वापस करना चाहिए। समस्या आपके प्रारंभिक सूत्र के साथ है। क्या यह अन्य मॉडलों के लिए है? यदि ऐसा नहीं होता है, तो कोड को काम करने का कोई मतलब नहीं है, इसके अलावा कोड को एक चेतावनी जारी करनी चाहिए कि यह उन मॉडलों के लिए उपयोग किया जाता है जहां सूत्र नहीं रखता है।
mpiktas

मैं वास्तव में सवाल नहीं देखता। आप एक फ़ंक्शन चाहते हैं जो आंशिक R2 की गणना करता है, लेकिन आपके पास पहले से ही एक है। क्या आप जानते हैं कि पैकेज सेंसिटिविटी (कोई आंशिक आर 2 नहीं है लेकिन pcc जो कि किसी विशेष मामले को लागू किया गया है) है?
रॉबिन जियार्ड

@robin - अगर मेरा सवाल स्पष्ट नहीं था तो मैं माफी माँगता हूँ। मैं एक पैकेज खोजने में दिलचस्पी रखता हूं जिसमें यह गणना शामिल है (क्योंकि इसमें संभवतः कई अन्य उपयोगी कार्य शामिल हैं जो उपयोगी होंगे) और / या सुझाव है कि मैंने ऊपर लिखे फ़ंक्शन को कैसे सुधारें। यह स्पष्ट रूप से किसी भी त्रुटि जाँच की कमी है, और सभी मॉडल प्रकारों के लिए लागू नहीं हो सकता है।
चेज

मेरा सुझाव है कि इस प्रश्न को एसई में माइग्रेट किया जाए। सवाल के दिल में एक कार्यान्वयन समस्या है, न कि एक सांख्यिकीय।
काराकल

@caralal - जो भी आप फिट देखते हैं। मुझे पता है कि आर से संबंधित प्रश्नों के बारे में एसओ और सीवी के बीच रेत में रेखा कहाँ खींची जानी चाहिए, इस बारे में काफी चर्चा हुई है। मेरे पास किसी भी तरह से मजबूत प्राथमिकता नहीं है। मेरे काम ने मुझे पिछले कुछ समय के लिए इस विशिष्ट समस्या से दूर कर दिया है, लेकिन आने वाले हफ्तों में इसे फिर से जारी किया जाएगा ताकि मैं खुद एक बेहतर समाधान के साथ आ सकूं। मैं भी ठीक हूँ जो प्रश्न को ईथर में फीका कर देता है ...
चेस

जवाबों:


0

खैर, r ^ 2 वास्तव में सिर्फ सह-वर्ग के उत्पाद पर वर्गीय है, इसलिए आप शायद कुछ ऐसा कर सकते हैं जैसे cov (Yfull, Ytrue) / var (Ytrue) var (Yfull) - cov (YReduced, Ytrue) / var (Ytrue) ) मॉडल प्रकार की परवाह किए बिना var (YRed); यह सत्यापित करने के लिए कि lm मामले में आपको एक ही उत्तर देता है, हालांकि जाँच करें।

http://www.stator-afm.com/image-files/r-squared.gif

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