आपका अंतर्ज्ञान सही है। यह उत्तर केवल एक उदाहरण पर दिखाता है।
यह वास्तव में एक आम गलत धारणा है कि कार्ट / आरएफ आउटलेर्स के लिए किसी भी तरह मजबूत हैं।
एकल आउटलेर्स की उपस्थिति के लिए आरएफ की मजबूती की कमी को स्पष्ट करने के लिए, हम सोरेन हवेलुंड वेलिंग के उत्तर में प्रयुक्त कोड को हल्के ढंग से संशोधित कर सकते हैं, यह दिखाने के लिए कि एकल 'y' आउटलेयर फिट आरएफ मॉडल को पूरी तरह से हटाने के लिए पर्याप्त है। उदाहरण के लिए, यदि हम बाहरी और शेष डेटा के बीच की दूरी के एक समारोह के रूप में अनियंत्रित टिप्पणियों की औसत भविष्यवाणी त्रुटि की गणना करते हैं, तो हम देख सकते हैं (नीचे दी गई छवि) जो एक एकल रूपरेखा का परिचय दे रही है (मूल टिप्पणियों में से एक को प्रतिस्थापित करके 'y- स्पेस' पर एक मनमाना मूल्य द्वारा आरएफ मॉडल की भविष्यवाणियों को मनमाने ढंग से उन मूल्यों से दूर करने के लिए पर्याप्त है, जो मूल (बिना पढ़े) डेटा पर गणना किए जाने पर होते हैं:
library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)
X = data.frame(replicate(2,runif(2000)-.5))
y = -sqrt((X[,1])^4+(X[,2])^4)
X[1,]=c(0,0);
y2<-y
rg<-randomForest(X,y) #RF model fitted without the outlier
outlier<-rel_prediction_error<-rep(NA,10)
for(i in 1:10){
y2[1]=100*i+2
rf=randomForest(X,y2) #RF model fitted with the outlier
rel_prediction_error[i]<-mean(abs(rf$predict[-1]-y2[-1]))/mean(abs(rg$predict[-1]-y[-1]))
outlier[i]<-y2[1]
}
plot(outlier,rel_prediction_error,type='l',ylab="Mean prediction error (on the uncontaminated observations) \\\ relative to the fit on clean data",xlab="Distance of the outlier")
कितना दूर? ऊपर के उदाहरण में, एकल आउटलाइटर ने फिट को इतना बदल दिया है कि औसत भविष्यवाणी त्रुटि (अनियंत्रित) टिप्पणियों पर अब परिमाण के 1-2 आदेश हैं जितना बड़ा होगा, मॉडल को अनियंत्रित डेटा पर फिट किया गया था।
इसलिए यह सच नहीं है कि एक एकल बाहरी आरएफ फिट को प्रभावित नहीं कर सकता है।
इसके अलावा, जैसा कि मैं कहीं और इंगित करता हूं , जब वहाँ संभावित रूप से उनमें से कई से निपटने के लिए आउटलेयर बहुत कठिन होते हैं (हालांकि उन्हें दिखाने के लिए उनके प्रभाव के लिए डेटा का एक बड़ा अनुपात होने की आवश्यकता नहीं है )। बेशक, दूषित डेटा में एक से अधिक बाहरी हो सकते हैं; आरएफ फिट पर कई आउटलेर के प्रभाव को मापने के लिए, अनियंत्रित डेटा पर आरएफ से प्राप्त बाईं ओर के भूखंड की तुलना मनमाने ढंग से प्रतिक्रियाओं मानों के 5% स्थानांतरण द्वारा प्राप्त दाईं ओर की भूखंड से करें (कोड उत्तर के नीचे है) ।
अंत में, प्रतिगमन संदर्भ में, यह इंगित करना महत्वपूर्ण है कि आउटलेयर डिजाइन और प्रतिक्रिया स्थान (1) दोनों में डेटा के थोक से बाहर खड़े हो सकते हैं। आरएफ के विशिष्ट संदर्भ में, डिज़ाइन आउटलेयर हाइपर-मापदंडों के अनुमान को प्रभावित करेगा। हालाँकि, यह दूसरा प्रभाव अधिक प्रकट होता है जब आयाम की संख्या बड़ी होती है।
हम यहां जो निरीक्षण करते हैं, वह अधिक सामान्य परिणाम का एक विशेष मामला है। उत्तल नुकसान कार्यों के आधार पर मल्टीवेरेट डेटा फिटिंग विधियों के आउटलेर्स के लिए चरम संवेदनशीलता को कई बार फिर से खोजा गया है। एमएल विधियों के विशिष्ट संदर्भ में एक चित्रण के लिए देखें (2)।
संपादित करें।
टी
रों*= अर्गअधिकतमरों[ पएलvar ( टीएल( s ) ) + पीआरvar ( टीआर( s ) ) ]
जहाँ और उभरते बच्चे नोड्स हैं जो की पसंद पर निर्भर हैं ( और निहित कार्य हैं ) और
डेटा के उस अंश को दर्शाता है जो बाएं बच्चे के नोड और का हिस्सा है। में डेटा का । फिर, एक प्रतिगमन पेड़ों (और इस तरह आरएफ की) के लिए "y" -क्षेत्रीय मजबूती प्रदान कर सकता है एक मजबूत विकल्प द्वारा मूल परिभाषा में प्रयुक्त विचरण कार्यात्मक की जगह। यह सार में उपयोग किया जाता है (4) जहां विचरण को पैमाने के एक मजबूत एम-आकलनकर्ता द्वारा बदल दिया जाता है।टी आर एस * टी एल टी आर एस पी एल टी एल पी आर = 1 - पी एल टी आरटीएलटीआररों*टीएलटीआररोंपीएलटीएलपीआर= 1 - पीएलटीआर
- (1) अनमास्किंग मल्टीवेरेट आउटलेर्स और लीवरेज पॉइंट्स। पीटर जे। रूसुव और बर्ट सी। वैन ज़ोमरेन जर्नल ऑफ़ द अमेरिकन स्टेटिस्टिकल एसोसिएशन वॉल्यूम। 85, नंबर 411 (सितम्बर, 1990), पीपी। 633-639
- (2) यादृच्छिक वर्गीकरण शोर सभी उत्तल संभावित बूस्टर को हरा देता है। फिलिप एम। लॉन्ग और रोक्को ए। सेव्डियो (2008)। http://dl.acm.org/citation.cfm?id=1390233
- (३) सी। बेकर और यू। गैदर (१ ९९९)। बहुभिन्नरूपी बाहरी पहचान नियमों के मास्किंग ब्रेकडाउन बिंदु।
- (४) गैलिमबर्टी, जी।, पिलती, एम।, और सोफ्रीटी, जी। (२०० 2007)। एम-आकलनकर्ताओं के आधार पर मजबूत प्रतिगमन पेड़। स्टैटिस्टिका, LXVII, 173-190।
library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)
X<-data.frame(replicate(2,runif(2000)-.5))
y<--sqrt((X[,1])^4+(X[,2])^4)
Col<-fcol(X,1:2) #make colour pallete by x1 and x2
#insert outlier2 and colour it black
y2<-y;Col2<-Col
y2[1:100]<-rnorm(100,200,1); #outliers
Col[1:100]="#000000FF" #black
#plot training set
plot3d(X[,1],X[,2],y,col=Col)
rf=randomForest(X,y) #RF on clean data
rg=randomForest(X,y2) #RF on contaminated data
vec.plot(rg,X,1:2,col=Col,grid.lines=200)
mean(abs(rf$predict[-c(1:100)]-y[-c(1:100)]))
mean(abs(rg$predict[-c(1:100)]-y2[-c(1:100)]))