लापता मूल्यों को संभालने के लिए सैद्धांतिक कारण क्या हैं? ग्रेडिंग बूस्टिंग मशीन, रिग्रेशन ट्री लापता मूल्यों को संभालते हैं। रैंडम फ़ॉरेस्ट ऐसा क्यों नहीं करता है?
लापता मूल्यों को संभालने के लिए सैद्धांतिक कारण क्या हैं? ग्रेडिंग बूस्टिंग मशीन, रिग्रेशन ट्री लापता मूल्यों को संभालते हैं। रैंडम फ़ॉरेस्ट ऐसा क्यों नहीं करता है?
जवाबों:
ग्रैडिएंट बूस्टिंग ट्रीज़ CART पेड़ों का उपयोग करता है (एक मानक सेटअप में, जैसा कि इसके लेखकों द्वारा प्रस्तावित किया गया था)। CART के पेड़ों का उपयोग रैंडम जंगलों में भी किया जाता है। क्या @ user777 ने कहा है कि यह सच है कि RF पेड़ या तो औसत के साथ प्रतिरूपण से गुम मानों को संभालते हैं, या तो किसी औसत / मोड के आधार पर, या तो औसत / मोड के आधार पर यातनाओं के आधार पर। इन विधियों को ब्रीमन और कटलर द्वारा प्रस्तावित किया गया था और आरएफ के लिए उपयोग किया जाता है। यह प्रशिक्षण सेट में लेखकों के गुम मूल्यों से एक संदर्भ है ।
हालांकि, कोई अन्य प्रकार के निर्णय पेड़ों के साथ एक जीबीएम या आरएफ का निर्माण कर सकता है। CART के लिए सामान्य प्रतिस्थापन C4.5 क्विनलान द्वारा प्रस्तावित है। C4.5 में डेटा सेट पर लापता मानों को प्रतिस्थापित नहीं किया जाता है। इसके बजाय, गणना की गई अशुद्धता फ़ंक्शन गुम मानों के राशन के साथ अशुद्धता स्कोर को दंडित करके लापता मूल्यों को ध्यान में रखता है। परीक्षण सेट पर मूल्यांकन एक नोड में जिसका लापता मान के साथ एक परीक्षण है, भविष्यवाणी प्रत्येक बच्चे के नोड के लिए बनाई गई है और बाद में (भारित करके) एकत्र की गई है।
अब, कई कार्यान्वयन में CART के बजाय C4.5 का उपयोग किया जाता है। महंगी गणना से बचने का मुख्य कारण है (CART में अधिक कठोर सांख्यिकीय दृष्टिकोण हैं, जिसके लिए अधिक संगणना की आवश्यकता होती है), परिणाम समान प्रतीत होते हैं, परिणामस्वरूप पेड़ अक्सर छोटे होते हैं (चूंकि कार्ट बाइनरी और C4.5 नहीं है)। मुझे पता है कि वीका इस दृष्टिकोण का उपयोग करता है। मैं अन्य पुस्तकालयों को नहीं जानता, लेकिन मुझे उम्मीद है कि यह एक विलक्षण स्थिति नहीं होगी। यदि आपके GBM कार्यान्वयन के मामले में ऐसा है, तो इसका उत्तर होगा।
"क्या हैं [] सैद्धांतिक कारण [आरएफ के लिए] लापता मूल्यों को संभालने के लिए नहीं? ग्रेडिंग बूस्टिंग मशीन, रिग्रेशन लापता मूल्यों को संभालना। रैंडम फ़ॉरेस्ट ऐसा क्यों नहीं करता है?"
आरएफ लापता मानों को संभालता है, ठीक उसी तरह नहीं जैसे कि CART और इसी तरह के अन्य निर्णय पेड़ एल्गोरिदम करते हैं। उपयोगकर्ता777 आरएफ द्वारा लापता डेटा (मध्ययुगीन प्रतिरूपण और / या निकटता आधारित माप) को संभालने के लिए उपयोग किए जाने वाले दो तरीकों का सही वर्णन करता है, जबकि फ्रैंक हैरेल सही ढंग से बताता है कि कैसे कार्ट (सरोगेट विभाजन) में गुम मानों को संभाला जाता है। अधिक जानकारी के लिए, CART के लिए अनुपलब्ध डेटा हैंडलिंग पर लिंक देखें (या यह FOSS चचेरे भाई: RPART ) और RF है ।
आपके वास्तविक प्रश्न का उत्तर स्पष्ट रूप से, IMHO, ईश्वरन एट अल के 2008 के पेपर में रैंडम सर्वाइवल फॉरेस्ट के रूप में दिया गया है । वे निम्नलिखित प्रशंसनीय स्पष्टीकरण प्रदान करते हैं कि आरएफ क्यूआर या इसी तरह के एकल निर्णय ट्री क्लासिफायर के समान लापता डेटा को क्यों नहीं संभालता है:
"हालांकि सरोगेट विभाजन पेड़ों के लिए अच्छी तरह से काम करता है, हो सकता है कि विधि जंगलों के लिए अच्छी तरह से अनुकूल न हो। गति एक समस्या है। सरोगेट विभाजन को खोजना कम्प्यूटेशनल रूप से गहन है और बड़ी संख्या में पेड़ों को उगाने पर यह संभव हो सकता है, विशेषकर पूरी तरह से संतृप्त पेड़ों का उपयोग करके। वन। इसके अलावा, सरोगेट विभाजन एक वन प्रतिमान में भी सार्थक नहीं हो सकता है। आरएफ एक नोड को विभाजित करते समय बेतरतीब ढंग से चर का चयन करता है और, जैसे, एक नोड के भीतर चर असम्बद्ध हो सकते हैं, और एक उचित सरोगेट विभाजन मौजूद नहीं हो सकता है। एक और चिंता का विषय है। सरोगेट विभाजन एक चर की व्याख्या को बदल देता है, जो [चर महत्व] जैसे उपायों को प्रभावित करता है।
इन कारणों से, RF के लिए एक अलग रणनीति की आवश्यकता होती है। ”
यह एक तरफ है, लेकिन मेरे लिए, यह उन लोगों को पूछताछ में बुलाता है जो दावा करते हैं कि आरएफ कार्ट मॉडल के एक संयोजन का उपयोग करता है। मैंने कई लेखों में इस दावे को देखा है, लेकिन मैंने आरएफ पर किसी भी आधिकारिक लेख के लिए ऐसे बयान कभी नहीं देखे हैं। एक के लिए, एक RF में पेड़ों को छंटाई के बिना उगाया जाता है , जो कि CART मॉडल बनाते समय आमतौर पर मानक दृष्टिकोण नहीं होता है। एक अन्य कारण यह होगा कि आप अपने प्रश्न में सभी को समझें: कार्ट और निर्णय पेड़ों के अन्य पहनावा गायब मूल्यों को संभालते हैं, जबकि [मूल] RF कम से कम आंतरिक रूप से CART की तरह नहीं करता है।
मन में उन गुच्छों के साथ, मुझे लगता है कि आप कह सकते हैं कि आरएफ कार्ट-जैसे निर्णय पेड़ों (जैसे, बिना काट-छाँट के पेड़ों का एक समूह, अधिकतम सीमा तक, बिना सरोगेट विभाजन के माध्यम से लापता डेटा को संभालने की क्षमता के बिना) का उपयोग करता है। शायद यह उन समयबद्ध मतभेदों में से एक है, लेकिन यह एक है जो मुझे लगता है कि ध्यान देने योग्य है।
संपादित करें : मेरे साइड नोट पर, जो पूछे गए वास्तविक प्रश्न से संबंधित नहीं है, मैंने कहा कि "मैंने आरएफ पर किसी भी आधिकारिक पाठ के लिए ऐसे बयान कभी नहीं देखे हैं"। ब्रिमन डीआईडी को विशेष रूप से यह बताता है कि कार्ट निर्णय पेड़ों का उपयोग मूल आरएफ एल्गोरिथ्म में किया जाता है:
"यादृच्छिक सुविधाओं के साथ सबसे सरल यादृच्छिक वन, प्रत्येक नोड पर, यादृच्छिक पर चयन करके बनाया जाता है, इनपुट चर का एक छोटा समूह जिस पर विभाजित होता है। CART कार्यप्रणाली का उपयोग करके पेड़ को बढ़ाएं। अधिकतम आकार और prune न करें।" [मेरा जोर]
स्रोत: यादृच्छिक जंगलों के p.9 । ब्रिमन (2001)
हालाँकि, मैं अभी भी (अधिक अनिश्चित रूप से) इस धारणा पर खड़ा हूं कि ये CART जैसे निर्णय वृक्ष हैं, जिसमें वे बिना छंटाई के उगाए जाते हैं, जबकि एक CART आम तौर पर इस विन्यास में कभी नहीं चलता है क्योंकि यह निश्चित रूप से आपके डेटा को लगभग फिट कर देगा इसलिए पहली जगह में छंटाई)।
रैंडम फ़ॉरेस्ट अनुपलब्ध डेटा को संभालता है और दो अलग-अलग तरीके हैं जो ऐसा करता है:
1) लापता डेटा की प्रतिपूर्ति के बिना, लेकिन निष्कर्ष प्रदान करना। 2) आंकड़ों को लागू करना। इसके बाद इम्प्रेशन के लिए इम्पोर्टेड डेटा का इस्तेमाल किया जाता है।
दोनों विधियां मेरे आर-पैकेज रैंडम फ़ॉरेस्ट एसआरसी ( उदया कोगलुर के साथ सह-लिखित) में लागू की गई हैं। सबसे पहले, यह याद रखना महत्वपूर्ण है कि क्योंकि यादृच्छिक जंगलों में यादृच्छिक सुविधा का चयन होता है, एकल पेड़ों (CART और इसी तरह) द्वारा उपयोग किए जाने वाले पारंपरिक लापता डेटा तरीके लागू नहीं होते हैं। ईश्वरन एट अल में यह बिंदु बनाया गया था । (2008), "रैंडम सर्वाइवल फॉरेस्ट्स", एनल्स ऑफ एप्लाइड स्टैटिस्टिक्स , 2 , 3 , और अच्छी तरह से टिप्पणीकारों में से एक द्वारा व्यक्त किया गया।
विधि (1) एक "फ्लाई इंप्यूटेशन" (OTFI) विधि है। एक नोड को विभाजित करने से पहले, एक चर के लिए लापता डेटा को गैर-लापता इन-बैग डेटा से यादृच्छिक रूप से ड्राइंग मूल्यों द्वारा लगाया जाता है। इस लगाए गए डेटा का उद्देश्य बेटी नोड्स के मामलों को असाइन करना संभव बनाता है यदि नोड लापता डेटा के साथ एक चर पर विभाजित है। हालाँकि, विभक्त डेटा का उपयोग विभाजित-आँकड़ा की गणना के लिए नहीं किया जाता है जो केवल ग़ैर-अनुपलब्ध डेटा का उपयोग करता है। नोड विभाजन के बाद, प्रतिरूपण डेटा अनुपलब्ध पर रीसेट हो जाता है और टर्मिनल नोड्स तक पहुंचने तक प्रक्रिया को दोहराया जाता है। ओटीएफआई आउट-ऑफ-द-बैग डेटा की अखंडता को बनाए रखता है और इसलिए चर मान (VIMP) जैसे प्रदर्शन मान निष्पक्ष रहते हैं। ईटीएफआई एल्गोरिथ्म ईश्वरन एट अल (2008) में वर्णित किया गया था और सेवानिवृत्त रैंडमसर्विवल फ़ोरेस्ट पैकेज में लागू किया गया था,
Method (2) randomForestSRC में "impute" फ़ंक्शन का उपयोग करके कार्यान्वित किया जाता है। डेटा को अधिरोहित करने के लिए अवांछित, यादृच्छिक, और बहुभिन्नरूपी विभाजन विधियाँ उपलब्ध हैं। उदाहरण के लिए, बहुभिन्नरूपी बंटवारा अत्यधिक सफल मिसफॉरस्ट इंप्यूटेशन मेथड ( स्टेकहॉवन एंड बुहल्मन (2012), "मिसफोरेस्ट-नॉन-पैरामीट्रिक मिसिंग मिक्स्ड वैल्यू इंप्यूटेशन फॉर मिक्स-टाइप डेटा", बायोइनफॉरमैटिक्स , 28 , 1 ) को सामान्य करता है। अनुपलब्ध फ़ंक्शन को लापता डेटा के साथ कॉल करने से एक प्रतिरूपण डेटा फ़्रेम वापस आ जाएगा जो प्राथमिक फ़ॉरेस्ट फ़ंक्शन "rfsrc" का उपयोग करके फिट किया जा सकता है।
"अशुद्ध" का उपयोग करके लागू किए गए विभिन्न वन लापता डेटा एल्गोरिदम की एक विस्तृत तुलना हाल ही के पेपर में फी तांग "रैंडम फॉरेस्ट मिसिंग डेटा एल्गोरिदम" के साथ वर्णित की गई थी । मैं "rfsrc" और "impute" की मदद करने के लिए बेतरतीब और OTFI के बारे में अधिक जानकारी के लिए randomForestSRC से "सलाह" देने की सलाह देता हूं।
पुनरावर्ती विभाजन गैर-लापता भविष्यवाणियों के आधार पर सरोगेट विभाजन का उपयोग करता है जो एक अवलोकन के लिए लापता मूल्य रखने वाले पूर्वसूचक के साथ सहसंबद्ध होते हैं। यादृच्छिक जंगलों को लागू करने के लिए सिद्धांत में यह संभव प्रतीत होगा कि एक ही विचार का उपयोग करें। मुझे नहीं पता कि किसी भी यादृच्छिक वन सॉफ्टवेयर ने ऐसा किया है या नहीं।
लियो ब्रेमन और एडेल कटलर के अनुसार, लापता मूल्यों को संभालने के लिए रैंडम फ़ॉरेस्ट के पास दो तरीके हैं , जिन्होंने इसका आविष्कार किया।
पहला त्वरित और गंदा है: यह निरंतर चर के लिए औसत मूल्य में भरता है, या कक्षा द्वारा सबसे आम गैर-लापता मूल्य है ।
दूसरा तरीका लापता मूल्यों में भरता है, फिर आरएफ चलाता है, फिर निरंतर मूल्यों को गायब करने के लिए, आरएफ लापता मूल्यों के निकटता-भारित औसत की गणना करता है। फिर इस प्रक्रिया को कई बार दोहराया जाता है। तब मॉडल को आरएफ-लगाए गए डेटा सेट का उपयोग करके अंतिम बार प्रशिक्षित किया जाता है।
मध्ययुगीन मूल्यों, आदि का उपयोग करने के बजाय, मैं अत्यधिक मिसरांगर पैकेज (वर्तमान में जीथब पर विकास) या आर पैकेज मिसफ्रॉस्ट को देखने की सलाह दूंगा। ये दोनों संकुल पहले रैंड समीकरणों (MICE) के माध्यम से कई प्रतिरूपण के समान विधि का उपयोग करके आपके डेटा को अशुद्ध करने के लिए यादृच्छिक वनों का उपयोग करते हैं। यह उपयोग करने के लिए उपयुक्त प्रतिनियुक्ति विधि होगी क्योंकि यह आपके वास्तविक विश्लेषण मॉडल के साथ निकटता से मेल खाती है। फिर आप अपने सभी डेटा का उपयोग लापता टिप्पणियों के कारण व्यक्तिगत पंक्तियों को छोड़ने के बारे में चिंता किए बिना कर सकते हैं। इसके अलावा, थोपे गए मूल्य केवल मध्यस्थों या साधनों का चयन करने की तुलना में कहीं अधिक यथार्थवादी होंगे।
आप अपने विश्लेषणों के लिए केवल एक भरे हुए इंप्रूव्ड डेटा सेट का उपयोग कर सकते हैं, लेकिन लापता मानों पर अनिश्चितता को शामिल करने का सबसे अच्छा तरीका है कि आप इन इंप्यूटेशन विधियों के कई रन चलाएं, और फिर परिणामी डेटासेट में से प्रत्येक पर अपने मॉडल का अनुमान लगाएं (जैसे, कई imputation) और फिर Rubin के नियमों का उपयोग करके अनुमानों को संयोजित करें (R पैकेज माइटूल देखें)।
CART के लिए, आप लापता-इन-विशेषताओं (MIA) दृष्टिकोण को लागू कर सकते हैं। यही है, श्रेणीबद्ध भविष्यवक्ताओं के लिए, आप एक अलग श्रेणी के रूप में गायब कोड। संख्यात्मक भविष्यवाणियों के लिए, आप प्रत्येक चर के लिए दो नए चर बनाते हैं: एक जहाँ आप कोड को मिस-इन के रूप में और एक जहाँ आप कोड को + इन्फ के रूप में याद करते हैं। फिर आप अपने डेटा में हमेशा की तरह एक यादृच्छिक वन फ़ंक्शन लागू करते हैं।
MIA के लाभ: 1) कम्प्यूटेशनल रूप से सस्ते, 2) कई डेटासेट और इस तरह से मॉडल नहीं देता है, जैसा कि कई इंप्यूटेशन करता है (इंप्यूटेशन-ऑफ-मिसिंग-डेटा साहित्य आम तौर पर सहमत है कि एक इंपोर्टेड डेटासेट पर्याप्त नहीं है), 3: की आवश्यकता नहीं है आप डेटा लगाने के लिए एक सांख्यिकीय विधि और / या मॉडल का चयन करें।
कार्य ctree()
और cforest()
पैकेज से पार्टीकीटctree_control(MIA = TRUE)
अपने control
तर्क पास करके MIA को आवेदन करने की अनुमति देते हैं ।
जेरोम फ्रीडमैन का नियमफिट प्रोग्राम मिस से निपटने के लिए MIA का उपयोग करने के लिए प्रकट होता है, https://statweb.stanford.edu/~jhf/r-rulefit/rulefit3/RuleFit_help.html#xmiss देखें ।
एमआईए के दृष्टिकोण का एक विवरण ट्वाला एट अल में पाया जा सकता है। (2008):
टहला, बेटा, जोन्स, एमसी, और हाथ, डीजे (2008)। निर्णय पेड़ों में लापता डेटा का मुकाबला करने के लिए अच्छी विधियां। पैटर्न मान्यता पत्र, 29 (7), 950-956।
party
आर पैकेज में संभाला जाता है । यहाँ एक ब्लॉग लेख: exegetic.biz/blog/2013/05/…