यह पहले से ही काफी पुराना प्रश्न है, लेकिन मुझे लगता है कि इस बीच यहां के अधिकांश उत्तर काफी पुराने हैं (और जिसे सही उत्तर के रूप में जांचा जाता है वह सादा गलत है।)
सबसे पहले, अच्छा भविष्यवाणी प्रदर्शन प्राप्त करने के संदर्भ में यह सार्वभौमिक रूप से सच नहीं है कि LASSO हमेशा स्टेप वाइज बेहतर होता है। कागज "सर्वश्रेष्ठ सबसेट चयन, आगे चरणबद्ध चुनाव की विस्तारित तुलना, और कमंद" Hastie एट अल द्वारा (2017) आगे चरणबद्ध, LASSO और आराम LASSO जैसे कुछ LASSO वेरिएंट की एक व्यापक तुलना के साथ ही सबसे अच्छा सबसेट प्रदान करता है, और वे यह दिखाएं कि कभी-कभी LASSO की तुलना में सौतेलापन बेहतर होता है। LASSO का एक प्रकार हालांकि - आराम से LASSO - वह था जिसने परिस्थितियों की व्यापक रेंज के तहत उच्चतम मॉडल भविष्यवाणी सटीकता का उत्पादन किया। जिसके बारे में निष्कर्ष सबसे अच्छा है वह इस बात पर बहुत कुछ निर्भर करता है कि आप सबसे अच्छा क्या मानते हैं, उदाहरण के लिए, चाहे यह उच्चतम भविष्यवाणी सटीकता हो या कुछ सबसे गलत सकारात्मक चर का चयन करना हो।
हालांकि विरल सीखने के तरीकों का एक पूरा चिड़ियाघर है, जिनमें से अधिकांश LASSO से बेहतर हैं। उदाहरण के लिए , पैकेज में लागू किए गए Meinhausen के आराम से LASSO , अनुकूली LASSO और SCAD और MCP दंडात्मक प्रतिगमन हैncvreg
, जो सभी मानक LASSO की तुलना में कम पूर्वाग्रह रखते हैं और इसलिए बेहतर होते हैं। इसके अलावा, यदि आप सर्वोत्तम पूर्वानुमान प्रदर्शन के साथ पूर्ण विरल समाधान में रुचि रखते हैं तो L0 दंडित प्रतिगमन (उर्फ सर्वोत्तम उपसमुच्चय, यानी गैर-गुणांक के एनआर के दंड के आधार पर LASSO में गुणांक के निरपेक्ष मान के विपरीत है) LASSO से बेहतर है, उदाहरण के लिए देखें कि l0ara
पैकेज जो L0 दंडित GLMs को पुनरावृत्त अनुकूली रिज प्रक्रिया का उपयोग करता है, और जो LASSO के विपरीत भी अत्यधिक संकलित चर के साथ बहुत अच्छी तरह से काम करता है, और L0Learn
पैकेज , जो समन्वित वंश का उपयोग करके L0 दंडित प्रतिगमन मॉडल फिट कर सकता है , संभवतः संपार्श्विकता को नियमित करने के लिए L2 दंड के साथ संयोजन में।
तो अपने मूल प्रश्न पर वापस आने के लिए: चर चयन के लिए LASSO का उपयोग क्यों न करें? :
(1) क्योंकि गुणांक अत्यधिक पक्षपाती होगा, जो कि आराम LASSO, MCP और SCAD दंडित प्रतिगमन में सुधार किया जाता है, और पूरी तरह से L0 दंडित प्रतिगमन में हल किया जाता है (जिसके पास पूर्ण अलंकृत संपत्ति होती है, अर्थात यह दोनों कारण चर और अनुगमन को निकाल सकता है। निष्पक्ष गुणांक, p> n मामलों के लिए भी)
(2) क्योंकि यह L0 दंडित प्रतिगमन की तुलना में अधिक झूठे सकारात्मक का उत्पादन करने के लिए जाता है (मेरे परीक्षणों में l0ara
सबसे अच्छा प्रदर्शन करता है, यानी पुनरावृत्त अनुकूली रिज, इसके बाद L0Learn
)
(3) क्योंकि यह कोलिनियर वेरिएबल्स के साथ अच्छी तरह से व्यवहार नहीं कर सकता (यह अनिवार्य रूप से केवल बेतरतीब ढंग l0ara
से कोलीनियर वेरिएबल्स में से एक का चयन करेगा) - पुनरावृत्ति विशेषण रिज / और L0L2 पेनल्टी L0Learn
उस से निपटने में बहुत बेहतर हैं।
बेशक, सामान्य तौर पर, आपको अभी भी इष्टतम भविष्यवाणी प्रदर्शन प्राप्त करने के लिए अपने नियमितीकरण पैरामीटर (ओं) को ट्यून करने के लिए क्रॉस सत्यापन का उपयोग करना होगा, लेकिन यह एक मुद्दा नहीं है। और आप अपने मापदंडों पर उच्च आयामी अनुमान भी लगा सकते हैं और अपने गुणांक पर 95% विश्वास अंतराल की गणना कर सकते हैं यदि आप नॉनपैमेट्रिक बूटस्ट्रैपिंग के माध्यम से पसंद करते हैं (यहां तक कि इष्टतम नियमितीकरण के चयन पर अनिश्चितता को ध्यान में रखते हुए यदि आप प्रत्येक बूटस्ट्रैप किए गए डेटासेट पर अपनी क्रॉस सत्यापन भी करते हैं , हालांकि यह काफी धीमा हो जाता है)।
कम्प्यूटेशनल रूप से LASSO, स्टेपवाइज एप्रोच btw की तुलना में फिट होने के लिए धीमा नहीं है, निश्चित रूप से नहीं अगर कोई अत्यधिक अनुकूलित कोड का उपयोग करता है जो आपके LASSO नियमितीकरण का अनुकूलन करने के लिए गर्म का उपयोग करता है (आप fs
आगे की स्टेप lasso
वाइज के लिए कमांड का उपयोग करके और bestsubset
पैकेज में LASSO के लिए खुद की तुलना कर सकते हैं )। यह तथ्य कि स्टेप वाइज एप्रोच अभी भी लोकप्रिय हैं, शायद बहुतों के गलत विश्वास के साथ यह करना है कि कोई आपके अंतिम मॉडल को रख सकता है और यह संबंधित पी मानों को रिपोर्ट कर सकता है - जो वास्तव में करने के लिए सही बात नहीं है, क्योंकि यह ऐसा नहीं करता है अपने मॉडल चयन द्वारा शुरू की गई अनिश्चितता को ध्यान में रखें, जिसके परिणामस्वरूप बहुत अधिक आशावादी पी मान हैं।
उम्मीद है की यह मदद करेगा?