रिज रिग्रेशन को समझना


9

मैं रिज रिग्रेशन के लिए नया हूं। जब मैंने रैखिक रिज प्रतिगमन लागू किया, तो मुझे निम्नलिखित परिणाम मिले:

>myridge = lm.ridge(y ~ ma + sa + lka + cb  + ltb , temp, lamda = seq(0,0.1,0.001))
> select(myridge)
modified HKB estimator is 0.5010689 
modified L-W estimator is 0.3718668 
smallest value of GCV  at 0 

प्रशन:

  • क्या इसके लिए शून्य प्राप्त करना ठीक है GCV?
  • इसका सही अर्थ में तात्पर्य क्या है?
  • क्या मेरे मॉडल में कोई समस्या है?
  • मैं मान कैसे पा सकता हूं ?R2myridge

लमडा को लमडा में बदलें। मुझे लगता है कि आपके द्वारा निर्दिष्ट अनुक्रम को अनदेखा कर दिया गया था।

जवाबों:


20

आप दंडित पैकेज या ग्लमैनेट पैकेज के साथ बेहतर हो सकते हैं ; दोनों लसो या इलास्टिक नेट को लागू करते हैं, इसलिए लसो (सुविधा चयन) और रिज रिग्रेशन (कोलीनियर वैरिएबल को संभालने) के गुणों को जोड़ती है। दंड भी रिज करता है। ये दोनों पैकेज ऐसी चीजों के लिए MASS पैकेज की तुलना lm.ridge()में कहीं अधिक पूरी तरह से चित्रित हैं।

वैसे भी, अर्थ है कि शून्य जुर्माना, इसलिए कम से कम वर्गों का अनुमान इस मायने में इष्टतम है कि उनके पास सबसे कम GCV (सामान्यीकृत क्रॉस सत्यापन) स्कोर था। हालाँकि, आपने पर्याप्त रूप से बड़े दंड की अनुमति नहीं दी होगी; दूसरे शब्दों में, कम से कम वर्गों का अनुमान आपके द्वारा मानों के छोटे सेट के इष्टतम था। रिज पथ (गुणांक के मानों को कार्य के रूप में प्लॉट करें और देखें कि निशान स्थिर हुए हैं या नहीं। यदि नहीं, तो मूल्यांकन किए गए मानों की सीमा बढ़ाएं ।λ=0λλλ


5

इसका कारण आपको 0 GCV मिल रहा है क्योंकि आपने उपयोग किया है:

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lamda = seq (0,0.1,0.001))

के बजाय

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lambda = seq (0,0.1,0.001))

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