2012-05-09 12 views
6

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

n = 50; 
x1 = seq(1,n) 
x2 = matrix(1, n, 1) 
predictors = data.frame(x1=x1, x2=x2) 
response = x2 + x1 
rf = randomForest(x=predictors, y=response) 
plot(x1, response) 
lines(x1, predict(rf, predictors), col="red") 

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

संपादित करें: इस प्रश्न के लिए उदाहरण से दोषपूर्ण है, कृपया "आर में प्रतिगमन के लिए RandomForest - प्रतिक्रिया वितरण निर्भर पूर्वाग्रह" को देखने के ढेर विनिमय पर एक बेहतर उपचार https://stats.stackexchange.com/questions/28732/randomforest-for-regression-in-r-response-distribution-dependent-bias

उत्तर

5

आप क्या खोज की है isn के लिए यादृच्छिक जंगलों में एक अंतर्निहित पूर्वाग्रह नहीं है, लेकिन मॉडल पर ट्यूनिंग पैरामीटर को सही ढंग से समायोजित करने में विफलता है।

का उपयोग करते हुए अपने उदाहरण डेटा:

rf = randomForest(x=predictors, y=response,mtry = 2,nodesize = 1) 
plot(x1, response) 
lines(x1, predict(rf, predictors), col="red") 

enter image description here

अपने वास्तविक डेटा के लिए सुधार तो निश्चित रूप से पूर्ण रूप से, होने की संभावना नहीं हो जाएगा, और मुझे यकीन है चाहता हूँ आप और अधिक लाभ बाहर मिल जाएगा mtry (mtry से अधिकतर काम यहां)।

कारण यह है कि नियमित पेड़ इस "पूर्वाग्रह" को प्रदर्शित नहीं करते हैं क्योंकि वे डिफ़ॉल्ट रूप से सर्वश्रेष्ठ विभाजन के लिए सभी चरों पर खोज करते हैं।

+0

धन्यवाद जोरान। कुछ सही महसूस नहीं हुआ और मुझे खुशी है कि एक समाधान है। दुर्भाग्य से मेरे काम के लिए, मैंने पहले से ही कम प्रभाव वाले पैरामीटर को ट्यून किया है (कोर्स एनटीआर को छोड़कर) और इसलिए मैंने उन्हें "सरल" उदाहरण के लिए अधिकतर अनदेखा किया - मुझे लगता है कि पूर्वाग्रह वास्तव में मेरे मामले में मौजूद है, धन्यवाद – rumbleB

+0

पर्याप्त मेला। .. हालांकि यदि यह आपके डेटा तक सीमित है, तो यह वास्तव में आरएफ में पूर्वाग्रह नहीं है, है ना? ;) आपके पास डेटा मॉडल करने के लिए कुछ मुश्किल है! – joran

+0

yup, आरएफ में पूर्वाग्रह टालने योग्य है - मैंने इस प्रश्न का शीर्षक बदल दिया है ताकि भविष्य में लोगों के लिए यह अधिक सहायक हो – rumbleB

संबंधित मुद्दे