मैं रिग्रेशन के लिए 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 के मामले में, वितरण की पूंछ से चरम परिमाण का एक प्रतिक्रिया मूल्य एक टर्मिनल पत्ती में समाप्त होने की संभावना कम है और इसके प्रभाव को पहनावा औसत में धोया जाएगा।
ध्यान दें कि मैंने इस प्रभाव को पिछले उदाहरण में पकड़ने की कोशिश की थी, "रैंडम रिफॉर्मेशन रैंडम रिग्रेशन टेल्स एमट्री"। यह एक बुरा उदाहरण था। यदि उपरोक्त उदाहरण में पूर्वाग्रह वास्तव में एल्गोरिथ्म में निहित है, तो यह इस प्रकार है कि एक पूर्वाग्रह सुधार तैयार किया जा सकता है, जो कि प्रतिक्रिया वितरण की भविष्यवाणी करने की कोशिश कर रहा है, जिसके परिणामस्वरूप अधिक सटीक भविष्यवाणियां होती हैं।
वृक्ष आधारित विधियाँ, जैसे यादृच्छिक वन, प्रतिक्रिया वितरण पूर्वाग्रह के अधीन हैं? यदि ऐसा है, तो क्या यह पहले सांख्यिकी समुदाय के लिए जाना जाता है और इसे आमतौर पर कैसे ठीक किया जाता है (उदाहरण के लिए एक दूसरा मॉडल जो इनपुट के रूप में पक्षपाती मॉडल के अवशेषों का उपयोग करता है)?
प्रतिक्रिया-निर्भर पूर्वाग्रह का सुधार मुश्किल है, क्योंकि प्रकृति द्वारा, प्रतिक्रिया ज्ञात नहीं है। दुर्भाग्य से, अनुमान / अनुमानित प्रतिक्रिया अक्सर पूर्वाग्रह के लिए समान संबंध साझा नहीं करती है।