बहुत बड़े डेटासेट से महत्वपूर्ण चर कैसे जल्दी से चुनें?


9

मेरे पास लगभग 2,000 बाइनरी चर / 200,000 पंक्तियों के साथ एक डेटासेट है और मैं एक एकल बाइनरी निर्भर चर की भविष्यवाणी करने की कोशिश कर रहा हूं। इस स्तर पर मेरा मुख्य लक्ष्य भविष्यवाणी की सटीकता नहीं है, बल्कि यह पहचानना है कि इनमें से कौन से चर महत्वपूर्ण भविष्यवक्ता हैं। मैं अपने अंतिम मॉडल में चर की संख्या को लगभग 100 तक गिराना चाहता हूं।

क्या सबसे महत्वपूर्ण चर प्राप्त करने का अपेक्षाकृत त्वरित तरीका है? randomForest एक लंबा समय लग रहा है।

मुझे सभी 200,000 टिप्पणियों का उपयोग करने की आवश्यकता नहीं है, इसलिए नमूनाकरण तालिका पर एक विकल्प है।


"सटीक" भविष्यवाणियों के बजाय "महत्वपूर्ण" से, क्या आपका मतलब है कि आप उन लोगों को ढूंढना चाहते हैं जो परिणाम की व्याख्या करने और एक सिद्धांत बनाने में आपकी मदद करने के लिए सर्वश्रेष्ठ उम्मीदवार हैं? यदि हां, तो 100 व्याख्यात्मक चर बहुत बड़ी संख्या है - निषेधात्मक रूप से बड़े। सिद्धांत-निर्माण और सच्ची व्याख्या (केवल भविष्यवाणी के बजाय) की आवश्यकता होगी कि आप X की संख्या को घटाकर 10 या 15.
rolando2

2
@ rolando2 कुछ अनुप्रयोगों में 100 बिल्कुल भी बड़े नहीं हैं। उदाहरण के लिए, हाई-स्पीड ब्रॉडबैंड पॉइंट्स की पहुंच पर साहित्य लगभग 150 वेरिएबल्स (कई सैकड़ों विश्लेषणों में से) और उनमें से सभी उचित हैं: वे अर्थशास्त्र से इंजीनियरिंग (इलाके, रॉक प्रकार, जलवायु, आदि) में आसानी से संबंधित हैं। (एसईएस, आदि), जनसांख्यिकी से, स्थानीय परिवहन बुनियादी ढांचे की ज्यामिति से, राजनीति (कर और व्यवसाय जलवायु), आदि तक, मेरा मानना ​​है कि कई आर्थिक मॉडल इसी तरह कई सैकड़ों सैद्धांतिक रूप से महत्वपूर्ण चर शामिल कर सकते हैं।
whuber

@whuber - मैं आपकी बात के माध्यम से सोच रहा हूँ ... क्या आप सहमत होंगे कि यह इतने सारे चरों द्वारा निभाई गई कार्यवाहक (केवल भविष्यवाणी के बजाय) भूमिकाओं को सुलझाने के लिए एक असामान्य रूप से समर्पित, प्रतिभाशाली और अनुभवी विश्लेषक लेता है?
3land पर rolando2

@ कैरोलो ज़रूर। 2000 चर बहुत काम है!
whuber

जवाबों:


6

आप एक साधारण Univariate फ़िल्टर के साथ शुरू कर सकते हैं, और यह निर्धारित करने के लिए क्रॉस-वैद्यता का उपयोग करें कि कौन से चर को रखना है। sbfमें समारोह caretआर के लिए पैकेज वास्तव में उपयोगी है। आप इसके बारे में और अधिक यहाँ पढ़ सकते हैं , पृष्ठ 19 पर शुरू।


धन्यवाद। मैं सिर्फ कागज पढ़ता हूं और यह एक ठोस दृष्टिकोण है। लेकिन मैं अपने 64 बिट 4 एमबी मेमोरी सिस्टम पर कुछ मेमोरी समस्याओं में चल रहा हूं।
देवएक्स

1
@ डेवएक्स: यदि आपके पास बहुत अधिक डेटा है, तो आप एक नमूना लेने और नमूने के आधार पर चर चुनने की कोशिश कर सकते हैं?
Zach

13

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

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

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

पाइथन के लिए लसो और इलास्टिक नेट जैसी विधियों के स्किटिट-लर्न में कार्यान्वयन है ।


एक अतिरिक्त धारणा के रूप में, यदि संभावित भविष्यवक्ताओं की संख्या आसमान छूती है, जैसे कि जीडब्ल्यूएएस, तो आप इस लेख में कुछ इस तरह से जान सकते हैं: लसो ने लॉजिस्टिक लॉजिस्टिक रिग्रेशन द्वारा जीनोम-वाइड एसोसिएशन एनालिसिस
निक

@NickSabbe, इस संदर्भ के लिए धन्यवाद। यह बहुत उपयोगी है। GWAS के संदर्भ में, और संभवत: सहसंबद्ध भविष्यवक्ताओं की एक बड़ी संख्या के साथ अन्य संदर्भों में भी, मैंने सुना है सिल्विया रिचर्डसन बेसेनियन मॉडल चयन की सिफारिश करते हैं जैसे कि स्थिरता चयन के साथ कुछ तुलना। MCMC अभिकलन वास्तव में मांग कर रहे थे, हालांकि।
NRH

मुझे लगता है कि यह अनुकूली लसो पर जोर देने के लायक है क्योंकि इसे लागू करना आसान है ( glmnetआर में एक के बजाय लगभग दो कॉल )। एक अन्य विकल्प थ्रेसहोल्ड द लास्सो है जिसे लागू करना भी काफी सरल है। Springer.com/gp/book/9783642201912 का अनुभाग 2.9 देखें ।
बेंजामिन क्रिस्टोफ़रसेन

2

आप प्रत्येक चर के लिए एसोसिएशन का लॉजिस्टिक रिग्रेशन / ची-स्क्वायर टेस्ट कर सकते हैं और केवल उन्हीं को बनाए रख सकते हैं, जिनका पी-वैल्यू कुछ मान से कम है, कहते हैं। २।


4
यह अनुशंसा कैसे की जा सकती है, यह जानने के लिए, ऐसे मामले पर विचार करें जहां 100 (कहते हैं) महत्वपूर्ण भविष्यवक्ता (आश्रित चर के साथ सहसंबद्ध) और बाकी पूरी तरह से आश्रित चर और एक दूसरे से असंबंधित हैं। पी-मान वाले लोगों को 0.2 से कम आश्वासन देते हुए कहा कि आप लगभग 100 + 0.2 * (2000-100) = 480 चर के साथ समाप्त हो जाएंगे, जिनमें से 380 बेकार हैं। के लिए छोटे डेटासेट इस दृष्टिकोण कभी कभी एक त्वरित प्रारंभिक स्क्रीन के रूप में प्रयोग किया जाता है, लेकिन यह वास्तव में गंभीरता से यहाँ नहीं माना जा सकता है।
whuber

अच्छा बिंदु @whuber। आपको 100 के आसपास बनाए रखने के लिए अपने अल्फा स्तर को बहुत नीचे सेट करना होगा, लेकिन फिर आप उन चरों पर चूक सकते हैं जो केवल दूसरों के लिए समायोजन को प्रभावित कर सकते हैं। हालाँकि 2000 से 480 तक जाना यादृच्छिक जंगलों की तरह कुछ चलाने में अधिक प्रबंधनीय हो सकता है।
ग्लेन

आप सही हैं, ऐसी स्क्रीनिंग में योग्यता है - अगर यह ठीक से काम करता है। 480 एक कमी है, लेकिन सभी 2000 मूल चरों के बीच उच्च सहसंबंधों की संभावना से अतिरिक्त समस्याएं हैं। यह किसी भी या सभी 100 सही चरों को बनाए रखने का कारण नहीं हो सकता है, जैसा कि किसी संबंधित प्रश्न के उत्तर में चित्रित किया गया है ।
whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.