इस लस्सो साजिश (glmnet) से क्या निष्कर्ष निकाला जाए


19

निम्नलिखित डिफ़ॉल्ट अल्फा (1, इसलिए lasso) के साथ Glmnet की साजिश है, जिसमें mtcarsडेटा सेट का उपयोग mpgDV और अन्य के साथ भविष्यवक्ता चर के रूप में किया गया है।

glmnet(as.matrix(mtcars[-1]), mtcars[,1])

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

विशेष रूप से am, cylऔर wt(लाल, काली और हल्की नीली रेखाओं) के संबंध में हम इस कथानक से क्या निष्कर्ष निकाल सकते हैं ? किसी रिपोर्ट में आउटपुट को हम कैसे प्रकाशित करेंगे?

मैंने निम्नलिखित के बारे में सोचा:

  1. wtका सबसे महत्वपूर्ण भविष्यवक्ता है mpg। यह नकारात्मक रूप से प्रभावित कर रहा है mpg

  2. cylएक कमजोर नकारात्मक भविष्यवक्ता है mpg

  3. amका एक सकारात्मक भविष्यवक्ता हो सकता है mpg

  4. अन्य चर मजबूत भविष्यवक्ता नहीं हैं mpg

इस पर आपके विचारों के लिए धन्यवाद।

(नोट: cylवह काली रेखा है जो 0 तक नहीं पहुँचती है, इसके बहुत करीब है।)

संपादित करें: निम्नलिखित कथानक है (मॉड, xvar = 'लैम्ब्डा') जो उपरोक्त प्लॉट के क्रम में x- अक्ष दिखाता है:

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

(पुनश्च: यदि आपको यह प्रश्न दिलचस्प / महत्वपूर्ण लगता है, तो कृपया इसे बढ़ाएँ;)


ऐसा लगता है कि आप इससे पहले अल्पविराम भूल गए -1थे glmnet(as.matrix(mtcars[-1]), mtcars[,1])
रिचर्ड हार्डी

यदि अल्पविराम नहीं दिया जाता है, तो आर संख्या को कॉलम संख्या मान लेता है, इसलिए यह काम करता है।
मई'15

अच्छा, मैं अब पहले ऐसा नहीं था।
रिचर्ड हार्डी

2
@ रीचर्डहार्डी सावधान रहें; यह व्यवहार डेटा फ़्रेम और मैट्रिसेस के लिए भिन्न होता है। एक डेटा फ्रेम एक सूची है, और प्रत्येक स्तंभ उस सूची का एक तत्व है, इसलिए my_data_frame[1], एक स्तंभ के साथ एक डेटा फ्रेम देता है, जबकि my_data_frame[[1]]और my_data_frame[, 1]दोनों वापसी एक सदिश कि है नहीं एक डेटा फ्रेम द्वारा "निहित"। मैट्रिक्स, हालांकि, वास्तव में एक विशेष गुण है कि एक ग्रिड की तरह उन्हें ऐक्सेस करने की आर की अनुमति देता है, तो साथ सिर्फ फ्लैट वैक्टर हैं my_matrix[1], my_matrix[1, 1]और my_matrix[[1]]सभी पहले वापस आ जाएगी तत्व की my_matrixmy_matrix[, 1] पहला कॉलम लौटाता है।
छायाकार

2
मैं सिर्फ उल्लेख करता हूं कि प्लॉट्मो पैकेज में प्लॉट_ग्लमनेट फ़ंक्शन थोड़ा बेहतर गुणांक देता है क्योंकि यह लेबल ओवरप्लेटिंग और कुछ अन्य विवरणों का ध्यान रखता है। प्लॉटरेस विग्नेट में अध्याय 6 में उदाहरण मिल सकते हैं ।
स्टीफन मिलबोरो

जवाबों:


39

मुझे लगता है कि जब से गुणांकों के इन भूखंडों की व्याख्या करने की कोशिश कर रहा , , या, यह जानने में बहुत मदद करता है कि वे कुछ सरल मामलों में कैसे दिखते हैं। विशेष रूप से, वे कैसे दिखते हैं जब आपका मॉडल डिज़ाइन मैट्रिक्स असंबंधित होता है, बनाम जब आपके डिज़ाइन में सहसंबंध होता है।लॉग ऑन ( λ ) Σ मैं | β i |λlog(λ)i|βi|

उस अंत तक, मैंने प्रदर्शित करने के लिए कुछ सहसंबद्ध और असंबद्ध डेटा बनाया:

x_uncorr <- matrix(runif(30000), nrow=10000)
y_uncorr <- 1 + 2*x_uncorr[,1] - x_uncorr[,2] + .5*x_uncorr[,3]

sigma <- matrix(c(  1, -.5,   0,
                  -.5,   1, -.5,
                    0, -.5,   1), nrow=3, byrow=TRUE
)
x_corr <- x_uncorr %*% sqrtm(sigma)
y_corr <- y_uncorr <- 1 + 2*x_corr[,1] - x_corr[,2] + .5*x_corr[,3]

डेटा x_uncorrमें असंबद्ध कॉलम हैं

> round(cor(x_uncorr), 2)
     [,1]  [,2]  [,3]
[1,] 1.00  0.01  0.00
[2,] 0.01  1.00 -0.01
[3,] 0.00 -0.01  1.00

जबकि x_corrस्तंभों के बीच एक पूर्व निर्धारित सहसंबंध है

> round(cor(x_corr), 2)
      [,1]  [,2]  [,3]
[1,]  1.00 -0.49  0.00
[2,] -0.49  1.00 -0.51
[3,]  0.00 -0.51  1.00

अब इन दोनों मामलों के लिए लैस्सो भूखंडों को देखें। पहले असंबंधित डेटा

gnet_uncorr <- glmnet(x_uncorr, y_uncorr)
plot(gnet_uncorr)

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

एक युगल सुविधाएँ बाहर खड़े हैं

  • भविष्यवक्ता सच्चे रेखीय प्रतिगमन गुणांक के अपने परिमाण के क्रम में मॉडल में जाते हैं।
  • प्रत्येक सुविधा का गुणांक पथ एक पंक्ति है (सम्मान के साथ ) टुकड़ा-रेखीय है, और केवल तभी बदलता है जब एक नया भविष्यवक्ता मॉडल में प्रवेश करता है। यह केवल संबंध में कथानक के लिए सही है , और दूसरों पर इसे पसंद करने का एक अच्छा कारण है।i | β i |i|βi|i|βi|
  • जब एक नया भविष्यवक्ता मॉडल में प्रवेश करता है, तो यह सभी भविष्यवक्ताओं के गुणांक के ढलान को मॉडल में पहले से ही एक नियतात्मक तरीके से प्रभावित करता है। उदाहरण के लिए, जब दूसरा भविष्यवक्ता मॉडल में प्रवेश करता है, तो पहले गुणांक के ढलान को आधा में काट दिया जाता है। जब तीसरा भविष्यवक्ता मॉडल में प्रवेश करता है, तो गुणांक पथ का ढलान उसका मूल मूल्य एक तिहाई होता है।

ये सभी सामान्य तथ्य हैं जो असंबद्ध डेटा के साथ लास्सो प्रतिगमन पर लागू होते हैं, और वे सभी या तो (अच्छे व्यायाम!) या साहित्य में पाए गए साबित हो सकते हैं।

अब सहसंबद्ध डेटा करते हैं

gnet_corr <- glmnet(x_corr, y_corr)
plot(gnet_corr)

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

आप इस साजिश से कुछ बातें पढ़ सकते हैं और इसे असंबंधित मामले से तुलना कर सकते हैं

  • पहले और दूसरे भविष्यवक्ता रास्तों में असंबद्ध मामले के समान संरचना होती है जब तक कि तीसरा भविष्यवक्ता मॉडल में प्रवेश नहीं करता है, भले ही वे सहसंबद्ध हों। यह दो भविष्यवाणियों के मामले की एक विशेष विशेषता है, जिसे मैं एक अन्य उत्तर में समझा सकता हूं यदि रुचि है, तो यह मुझे वर्तमान चर्चा से थोड़ा दूर ले जाएगा।
  • दूसरी ओर, एक बार तीसरे भविष्यवक्ता ने मॉडल में प्रवेश किया, हम चित्र से विचलन देखते हैं, हम उम्मीद करेंगे कि यदि तीनों सुविधाएँ असंबद्ध थीं। दूसरी विशेषता का गुणांक समतल हो जाता है, और तीसरी विशेषता अपने अंतिम मूल्य तक बढ़ जाती है। ध्यान दें कि पहली सुविधा का ढलान अप्रभावित है, जिसका हम अनुमान नहीं लगाते यदि कोई संबंध नहीं होता! अनिवार्य रूप से, संसाधन तीन या उससे अधिक के समूह के भीतर गुणांक पर खर्च करते हैं, "न्यूनतम कारोबार" तक असाइन किया जा सकता हैपाया जाता है।|βi|

तो अब चलो कारों के डेटासेट से अपने प्लॉट को देखें और कुछ दिलचस्प बातें पढ़ें (मैंने आपका प्लॉट यहाँ पुन: पेश किया है, इसलिए यह चर्चा पढ़ने में आसान है):

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

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

  • जैसा कि आप कहते हैं, wtभविष्यवक्ता बहुत महत्वपूर्ण लगता है। यह पहले मॉडल में प्रवेश करता है, और इसके अंतिम मूल्य के लिए धीमा और स्थिर वंश होता है। इसमें कुछ सहसंबंध होते हैं जो इसे थोड़ा ऊबड़ सवारी बनाते हैं, amविशेष रूप से ऐसा लगता है कि जब यह प्रवेश करता है तो एक कठोर प्रभाव पड़ता है।
  • amभी महत्वपूर्ण है। यह बाद में आता है, और इसके साथ सहसंबद्ध होता है wt, क्योंकि यह wtहिंसक तरीके से ढलान को प्रभावित करता है । यह भी सहसंबद्ध है carbऔर qsec, क्योंकि हम प्रवेश करते समय ढलान के अनुमान को नरम नहीं देखते हैं। बाद इन चार चर हालांकि प्रवेश किया है, हम करते हैं अच्छा असहसंबद्ध पैटर्न को देखने, तो यह अंत में सभी भविष्यवक्ताओं के साथ असहसंबद्ध हो रहा है।
  • एक्स-एक्सिस पर लगभग 2.25 पर कुछ प्रवेश करता है, लेकिन इसका रास्ता स्वयं अभेद्य है, आप केवल इसके cylऔर wtमापदंडों को प्रभावित करके इसका पता लगा सकते हैं ।
  • cylकाफी मुखर है। यह दूसरे में प्रवेश करता है, इसलिए छोटे मॉडल के लिए महत्वपूर्ण है। अन्य चर के बाद, और विशेष रूप से amप्रवेश करते हैं, यह अब इतना महत्वपूर्ण नहीं है, और इसकी प्रवृत्ति उलट जाती है, अंततः सभी को हटा दिया जाता है। ऐसा लगता है cylकि इस प्रक्रिया के अंत में प्रवेश करने वाले चर द्वारा पूरी तरह से कब्जा किया जा सकता है। चाहे वह उपयोग करने के लिए अधिक उपयुक्त हो cyl, या चर का पूरक समूह, वास्तव में पूर्वाग्रह-भिन्नता व्यापार पर निर्भर करता है। आपके अंतिम मॉडल में समूह होने से इसके विचरण में काफी वृद्धि होगी, लेकिन ऐसा हो सकता है कि निम्न पूर्वाग्रह इसके लिए तैयार हों!

यह एक छोटा सा परिचय है कि मैंने इन भूखंडों की जानकारी को पढ़ना कैसे सीखा है। मुझे लगता है कि वे बहुत सारे मज़ेदार हैं!

एक महान विश्लेषण के लिए धन्यवाद। सरल शब्दों में रिपोर्ट करने के लिए, क्या आप कहेंगे कि डब्ल्यूटी, एम और सिलेंडर mpg के 3 सबसे महत्वपूर्ण भविष्यवक्ता हैं। इसके अलावा, यदि आप भविष्यवाणी के लिए एक मॉडल बनाना चाहते हैं, तो आप इस आंकड़े के आधार पर किन लोगों को शामिल करेंगे: wt, am और सिलेंडर? या कोई और संयोजन। इसके अलावा, आपको विश्लेषण के लिए सबसे अच्छा लैम्ब्डा की आवश्यकता नहीं है। क्या यह रिज रिग्रेशन की तरह महत्वपूर्ण नहीं है?

मैं कहता हूँ कि मामले के लिए wtऔर amस्पष्ट कटौती कर रहे हैं, वे महत्वपूर्ण हैं। cylबहुत अधिक सूक्ष्म है, यह एक छोटे मॉडल में महत्वपूर्ण है, लेकिन एक बड़े में सभी प्रासंगिक नहीं है।

मैं केवल इस बात का निर्धारण नहीं कर पाऊंगा कि केवल आकृति के आधार पर क्या शामिल किया जाए, जो वास्तव में आप क्या कर रहे हैं, इस संदर्भ में उत्तर दिया जाना चाहिए। आप कह सकते हैं कि यदि आप तीन भविष्यवक्ता मॉडल चाहते हैं, तो wt, amऔर cylअच्छे विकल्प हैं, क्योंकि वे चीजों की भव्य योजना में प्रासंगिक हैं, और एक छोटे मॉडल में उचित प्रभाव के आकार को समाप्त करना चाहिए। यह इस धारणा पर आधारित है कि आपके पास एक छोटे से तीन भविष्यवक्ता मॉडल की इच्छा के लिए कोई बाहरी कारण है।

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

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

दूसरी दिशा में, कभी-कभी बाहरी बाधाएं होती हैं कि कोई मॉडल कितना जटिल हो सकता है (कार्यान्वयन लागत, विरासत प्रणाली, व्याख्यात्मक न्यूनतावाद, व्यापार व्याख्यात्मकता, सौंदर्यपूर्ण सामंजस्य) और इस तरह का निरीक्षण वास्तव में आपके डेटा के आकार को समझने में आपकी मदद कर सकता है, और आपके द्वारा बनाए गए ट्रेडऑफ़ को इष्टतम मॉडल से छोटा चुनकर बनाया जाता है।


एक महान विश्लेषण के लिए धन्यवाद। सरल शब्दों में रिपोर्ट करने के लिए, क्या आप कहेंगे कि डब्ल्यूटी, एम और सिलेंडर mpg के 3 सबसे महत्वपूर्ण भविष्यवक्ता हैं। इसके अलावा, यदि आप भविष्यवाणी के लिए एक मॉडल बनाना चाहते हैं, तो आप इस आंकड़े के आधार पर किन लोगों को शामिल करेंगे: wt, am और सिलेंडर? या कोई और संयोजन। इसके अलावा, आपको विश्लेषण के लिए सबसे अच्छा लैम्ब्डा की आवश्यकता नहीं है। क्या यह रिज रिग्रेशन की तरह महत्वपूर्ण नहीं है?
rnso

@rnso मैंने अपने जवाब पर प्रतिक्रिया व्यक्त की।
मैथ्यू ड्र्यू

शायद 'पैट्रिमोनी' को 'पारसमोनी' माना जाता है?
हत्शेपसट

@ मैथ्यू ड्र्यूरी, मेरे पास कुछ चीजें हैं जो मुझे इसके बारे में निश्चित नहीं हैं, मैं आपके स्पष्टीकरण के लिए आभारी रहूंगा, # आपने लिखा "जैसे जब दूसरा भविष्यवक्ता प्रवेश करता है" तो मैं दूसरे भविष्यवाणियों या तीसरे व्यक्ति / साजिशकर्ता से कैसे पता कर सकता हूं । ## मैं कब कह सकता हूं कि यह भविष्यवाणी महत्वपूर्ण है या नहीं। ### आखिरकार, मैं इस फिटिंग का सबसे अच्छा मॉडल कैसे चुन सकता हूं। इसके अलावा, किंवदंती / लेबल स्वचालित रूप से शामिल है। (मैंने इस उदाहरण को R में लागू किया है)
jeza

5
+6, जब वह बाहर आया तो मैंने उसे मिस कर दिया। वास्तव में अच्छा काम।
गंग - २३:१३ पर मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.