यादृच्छिक वन प्रतिगमन में प्रतिक्रिया-वितरण-आश्रित पूर्वाग्रह


9

मैं रिग्रेशन के लिए R (R संस्करण 2.13.1, randomForest संस्करण 4.6-2) में randomForest पैकेज का उपयोग कर रहा हूं और मेरे परिणामों में एक महत्वपूर्ण पूर्वाग्रह देखा है: भविष्यवाणी त्रुटि प्रतिक्रिया चर के मूल्य पर निर्भर है। उच्च मूल्यों की भविष्यवाणी की जाती है और कम मूल्यों की भविष्यवाणी की जाती है। पहले मुझे संदेह था कि यह मेरे डेटा का एक परिणाम था लेकिन निम्नलिखित सरल उदाहरण से पता चलता है कि यह यादृच्छिक वन एल्गोरिथ्म में निहित है:

n = 1000; 
x1 = rnorm(n, mean = 0, sd = 1)
response = x1
predictors = data.frame(x1=x1) 
rf = randomForest(x=predictors, y=response)
error = response-predict(rf, predictors)
plot(x1, error)

मुझे संदेह है कि पूर्वाग्रह प्रतिक्रिया के वितरण पर निर्भर है, उदाहरण के लिए, यदि x1समान रूप से वितरित किया जाता है, तो कोई पूर्वाग्रह नहीं है; यदि x1तेजी से वितरित किया जाता है, तो पूर्वाग्रह एकतरफा है। अनिवार्य रूप से, एक सामान्य वितरण की पूंछ पर प्रतिक्रिया के मूल्य आउटलेर हैं। यह कोई आश्चर्य की बात नहीं है कि एक मॉडल को आउटलेर का अनुमान लगाने में कठिनाई होगी। RandomForest के मामले में, वितरण की पूंछ से चरम परिमाण का एक प्रतिक्रिया मूल्य एक टर्मिनल पत्ती में समाप्त होने की संभावना कम है और इसके प्रभाव को पहनावा औसत में धोया जाएगा।

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

वृक्ष आधारित विधियाँ, जैसे यादृच्छिक वन, प्रतिक्रिया वितरण पूर्वाग्रह के अधीन हैं? यदि ऐसा है, तो क्या यह पहले सांख्यिकी समुदाय के लिए जाना जाता है और इसे आमतौर पर कैसे ठीक किया जाता है (उदाहरण के लिए एक दूसरा मॉडल जो इनपुट के रूप में पक्षपाती मॉडल के अवशेषों का उपयोग करता है)?

प्रतिक्रिया-निर्भर पूर्वाग्रह का सुधार मुश्किल है, क्योंकि प्रकृति द्वारा, प्रतिक्रिया ज्ञात नहीं है। दुर्भाग्य से, अनुमान / अनुमानित प्रतिक्रिया अक्सर पूर्वाग्रह के लिए समान संबंध साझा नहीं करती है।


मैं लगभग 12 महीनों से इसी सवाल पर विचार कर रहा हूं। आँकड़े देखें ।stackexchange.com/questions/21530/… और kaggle.com/forums/t/1106/random-forests-newbie-question । मैं मानता हूं कि समस्या यह प्रतीत होती है कि प्रत्येक नोड में भविष्यवाणी के रूप में उपयोग किए जाने वाले औसत से आउटलेर का अच्छी तरह से प्रतिनिधित्व नहीं किया जा रहा है। भविष्यवाणी समायोजन या मॉडल-इन-नोड उचित दृष्टिकोण की तरह लगते हैं, लेकिन यह सुनिश्चित नहीं है कि मानक दृष्टिकोण क्या है।
redcalx

जवाबों:


4

यह पूरी तरह से है जैसा कि आपको संदेह है - तथ्य यह है कि पत्ती नोड्स में वस्तुओं के कुछ सेट पर किसी भी प्रतिगमन ट्री मॉडल को प्रतिक्रिया वितरण को कसने और किसी भी अतिरिक्त असंभव को संभव बनाने का मतलब है। निश्चित रूप से इस तरह से मदद नहीं करता है और वास्तव में स्थिति को बदतर बना देता है।

भोली घोल (और ओवरफिटिंग के कारण खतरनाक) मॉडल को कुछ प्रकार के शास्त्रीय प्रतिगमन में लपेटना है जो इसके वांछित वितरण की प्रतिक्रिया को पुनर्विक्रय करेगा।

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


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

तुम सही हो; मैं एक परिदृश्य के बारे में सोच रहा था जब आरएफ पूरी तरह से बकवास जवाब पैदा करता है और प्रतिगमन इसे धोखेबाज़ बेहतर साथ कुछ में परिवर्तित करता है । आर2

3

मैं बिल्कुल सशर्त पैकेज के माध्यम से पहुँचा सशर्त आरएफ के साथ एक ही मुद्दा था। मैंने इसके बारे में ग्राहम विलियम्स (खड़खड़ लेखक) को ईमेल किया, जिन्होंने कृपया मेरी क्वेरी को आगे के लेखकों को भेज दिया, जिन्होंने जवाब दिया और दो मापदंडों के साथ खेलने का सुझाव दिया, जो वास्तव में सीआरएफ प्रलेखन में कहीं भी संदर्भित नहीं लगते हैं, लेकिन फिर भी जो पता लगता है। समस्या, अर्थात् minplit = 2 और minbucket = 1।


minsplit, मुझे लगता है कि आप का मतलब है
smci

2

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


2
मॉडल के निर्माण के लिए यह एक अच्छा सुझाव है, सामान्य रूप से अनुकूलित मापदंडों में अधिक सटीक भविष्यवाणियां होंगी। हालांकि, इस मामले में पूर्वाग्रह ट्यूनिंग की परवाह किए बिना मौजूद है, जहां तक ​​मैं बता सकता हूं। केवल एक भविष्यवक्ता है, इसलिए mtry 1 होना चाहिए। किसी भी नमूने का आकार n से कम केवल पूर्वाग्रह को बढ़ाने के लिए कार्य करता है, और nodesize का बहुत कम प्रभाव होता है।
रूमबल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.