रैंडम वन आउटलेर्स के प्रति संवेदनशील नहीं हैं


33

मैंने इस एक सहित कुछ स्रोतों में पढ़ा है , कि रैंडम फ़ॉरेस्ट आउटलेर्स के लिए संवेदनशील नहीं हैं (जिस तरह से लॉजिस्टिक रिग्रेशन और अन्य एमएल तरीके हैं, उदाहरण के लिए)।

हालाँकि, अंतर्ज्ञान के दो टुकड़े मुझे अन्यथा बताते हैं:

  1. जब भी निर्णय वृक्ष का निर्माण किया जाता है, तो सभी बिंदुओं को वर्गीकृत किया जाना चाहिए। इसका मतलब यह है कि यहां तक ​​कि आउटलेर्स को भी वर्गीकृत किया जाएगा, और इसलिए निर्णय के पेड़ों को प्रभावित करेगा जहां उन्हें बढ़ावा देने के दौरान चुना गया था।

  2. बूटस्ट्रैपिंग एक हिस्सा है कि कैसे एक रैंडम फ़ॉरेस्ट उप-नमूना करता है। बूटस्ट्रैपिंग आउटलेर्स के लिए अतिसंवेदनशील है।

वहाँ है कि असहमत स्रोतों के साथ अपनी संवेदनशीलता के बारे में मेरी अंतर्ज्ञान सामंजस्य करने का कोई तरीका है, जो असहमत हैं?


जवाब, नीचे, बहुत अच्छा है। सहज जवाब यह है कि एक निर्णय वृक्ष विभाजन पर काम करता है और विभाजन के लिए संवेदनशील नहीं होते हैं: एक विभाजन को उन्हें विभाजित करने के लिए बिंदुओं के दो समूहों के बीच कहीं भी गिरना पड़ता है।
वेन

तो मुझे लगता है कि अगर min_samples_leaf_nodeहै 1, तो यह बाहरी लोगों के लिए अतिसंवेदनशील हो सकता है।
हुनले

हाँ min_samples और बूटस्ट्रैप नमूना RF प्रतिगमन में 1b आउटलेर्स के प्रभाव को पूरी तरह से हटा सकता है
सोरेन हवेलुंड वेलिंग

कुछ सांख्यिकीविद् उन इनेलो पर एक सुरंग दृष्टि प्राप्त करते हैं, जो एक भविष्यवाणी कर सकते हैं और समझ सकते हैं। आउटलाइर्स को 'ज्ञात अज्ञात' के रूप में सजाएं और आश्चर्य करें कि क्या आपका व्यवसाय मॉडल उनके प्रति नाजुक है। कुछ आउटलेर मूल रूप से अप्रत्याशित हैं, लेकिन उनका प्रभाव बहुत वास्तविक है ... एन। तालेब का एक चित्र, 'ब्लैक स्वान'
सोरेन हवेलुंड वेलिंग

जवाबों:


21

आपका अंतर्ज्ञान सही है। यह उत्तर केवल एक उदाहरण पर दिखाता है।

यह वास्तव में एक आम गलत धारणा है कि कार्ट / आरएफ आउटलेर्स के लिए किसी भी तरह मजबूत हैं।

एकल आउटलेर्स की उपस्थिति के लिए आरएफ की मजबूती की कमी को स्पष्ट करने के लिए, हम सोरेन हवेलुंड वेलिंग के उत्तर में प्रयुक्त कोड को हल्के ढंग से संशोधित कर सकते हैं, यह दिखाने के लिए कि एकल '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)।

संपादित करें।

टी

रों*=आर्गअधिकतमरों[पीएलवर(टीएल(रों))+पीआरवर(टीआर(रों))]

जहाँ और उभरते बच्चे नोड्स हैं जो की पसंद पर निर्भर हैं ( और निहित कार्य हैं ) और डेटा के उस अंश को दर्शाता है जो बाएं बच्चे के नोड और का हिस्सा है। में डेटा का । फिर, एक प्रतिगमन पेड़ों (और इस तरह आरएफ की) के लिए "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)]))

आपके विस्तृत उत्तर के लिए धन्यवाद। यदि एक ही उच्च आयामी स्थान में कई आउटलेर हैं, तो यह सवाल उठता है कि "आउटलाइयर" कहने के लिए हमारा मापदंड क्या है? उस मामले में, मुझे आश्चर्य है कि क्या हाइपर पैरामीटर सेट किए जा सकते हैं ताकि मैं एक बाहरी प्राथमिकता के लिए कुछ प्रकार के मानदंड निर्दिष्ट कर सकूं?
Hunle

1
मैंने अपने जवाब में अपनी पिछली टिप्पणियाँ जोड़ दी हैं। मुझे उम्मीद है कि अब यह आपके प्रश्न का उत्तर देने का बेहतर काम करेगा!
user603

1
धन्यवाद। क्या हैं pऔर sसूत्र में?
Hunle

1
क्यों संयुक्त outliers (1a + 2) खराब हैं? आपके उदाहरण में, RF मॉडल डेटा संरचना को पूरी तरह से फिट करता है, 99,99% OOB MSE। दो समूहों के बीच की मध्य भूमि की मॉडल संरचना, डेटा की तुलना में मॉडल के उत्पाद की तुलना में बहुत कठिन है, हाँ, और अधिक। लेकिन, कोई अज्ञात और / या भविष्यवाणियां इस अज्ञात क्षेत्र में नहीं होनी चाहिए, इसलिए इससे कोई फर्क नहीं पड़ता। आउटलेर्स के प्रति पूर्ण मजबूती दुर्लभ और संभवत: महत्वपूर्ण घटनाओं को अनदेखा करने के लिए अनिवार्य है। अधिकांश एमएल अल्गोस डिफ़ॉल्ट रूप से मजबूती और 'लचीलेपन' के बीच एक मध्यम आधार का रुख अपनाते हैं, लेकिन मजबूती बढ़ाने के लिए इसे ट्वीक किया जा सकता है।
सोरेन हवेलुंड वेलिंग

1
@ user603 तकनीकी चर्चा में जोड़ने के लिए कुछ भी नहीं है, हार्ट ऑफ़ डार्कनेस के अलावा, एक बच्चे के रूप में मेरी पसंदीदा पुस्तक थी, फ्रांज काफ्का की द ट्रायल के साथ एक दूसरी करीबी (यह पहली हो सकती थी अगर यह समाप्त हो गई थी और शायद अंग्रेजी में लिखी गई थी - तब) फिर, शायद यह फिटिंग था कि यह खत्म नहीं हुआ था)। मैं वास्तव में बाहरी कोण से इसके बारे में नहीं सोचता था, इसके अलावा मैंने बीएस "गंभीर साहित्य" के समुद्र के बीच हार्ट ऑफ डार्कनेस और द ट्रायल्स (अच्छे) के रूप में माना, मुझे बीएस लाइट-डार्क इमैजरी पढ़ना और करना था पर विश्लेषण की तरह।
मार्क एल। स्टोन

11

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

बाहरी 1 बी: वर्गीकरण के लिए एक एकल नमूने को एक बाहरी के रूप में माना जा सकता है, जब एक अलग वर्ग के कई नमूने के बीच में एम्बेडेड होता है। मैंने पहले वर्णित किया कि कैसे एक डिफ़ॉल्ट आरएफ मॉडल विषम वर्ग के इस एक नमूने से प्रभावित होगा, लेकिन केवल नमूने के बहुत करीब।

आउटलाइन 2: इस आउटलीयर का लक्ष्य लक्ष्य से कई गुना अधिक है, जो कि किसी भी अन्य मूल्यों की तुलना में कई गुना अधिक है, लेकिन फीचर मान सामान्य हैं। पेड़ों के ए .631 अंश में इस नमूने के साथ एक टर्मिनल नोड होगा। मॉडल संरचना स्थानीय रूप से बाहरी क्षेत्र के करीब प्रभावित होगी। ध्यान दें कि मॉडल संरचना मुख्य रूप से फीचर अक्ष के समानांतर प्रभावित होती है, क्योंकि नोड्स असमान रूप से विभाजित होते हैं।

मैं outlier_2 के एक आरएफ प्रतिगमन सिमुलेशन शामिल थे। 1999 अंक एक गोल गोल संरचना से खींचा गयाy=(एक्स14+एक्स24)12एक्स1एक्स2

यहाँ छवि विवरण दर्ज करें

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)^1
Col = fcol(X,1:2) #make colour pallete by x1 and x2
#insert outlier2 and colour it black
X[1,] = c(0,0);y[1]=2 ;Col[1] = "#000000FF" #black

#plot training set
plot3d(X[,1],X[,2],y,col=Col)

rf = randomForest(X,y)
vec.plot(rf,X,1:2,col=Col,grid.lines = 400)

EDIT: user603 पर टिप्पणी करें

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

.
##---code by user603
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
Col2[1:100]="#000000FF" #black
##---

#function to make models robust
robustModel = function(model,keep.outliers=TRUE) {
  f = function(X,y,lim=c(0.1,.9),keep.outliers="dummy",...) {
  limits = quantile(y,lim)
  if(keep.outliers) {#keep but reduce outliers
  y[limits[1]>y] = limits[1] #lower limit
  y[limits[2]<y] = limits[2] #upper limit
  } else {#completely remove outliers
    thrashThese = mapply("||",limits[1]>y,limits[2]>y)
    y = y[thrashThese]
    X = X[thrashThese,]
  }
  obj = model(x=X,y=y,...)
  class(obj) = c("robustMod",class(obj))
  return(obj)
  }
  formals(f)$keep.outliers = keep.outliers
  return(f)
}

robustRF = robustModel(randomForest) #make RF robust
rh = robustRF(X,y2,sampsize=250)     #train robustRF
vec.plot(rh,X,1:2,col=Col2)          #plot model surface
mean(abs(rh$predict[-c(1:100)]-y2[-c(1:100)]))

यहाँ छवि विवरण दर्ज करें


आप लिखते हैं "कोई अन्य भविष्यवाणी प्रभावित नहीं होगी"। यदि आप अपना एकल आउटलाइन लगाते y[1]=200हैं, तो आप देखेंगे कि यह एकल रूप से अप्रकाशित टिप्पणियों पर भविष्यवाणी की त्रुटि का कारण बनता है जो कि 20 का कारक है!
user603

@ user603 यह सच है कि, ऐसे मामलों में लक्ष्य पैमाने को आरएफ को दिए जाने से पहले नीरस रूप से परिवर्तित किया जा सकता है। मैंने अपने उत्तर में एक 'strongModel: मॉडल को मजबूत बनाता है' को जोड़ा है ..... निश्चित रूप से इस तरह के यादृच्छिक लक्ष्य की भविष्यवाणी करने के लिए (टाइप 2) असंभव बना हुआ है, लेकिन शेष मॉडल संरचना को भुगतना नहीं पड़ता है
सोरेन हवेलुंड वेलिंग

लॉग ट्रांसफॉर्म सामान्य तौर पर, आउटलेर्स के खिलाफ एक समाधान नहीं है (यह केवल समस्या को छुपाता है)। आपके द्वारा प्रस्तावित आरएफ का सुदृढ़ीकरण अनिवार्य रूप से गैलिमबर्टी, जी, पिलती, एम।, और सोफ्रीटी, जी में वर्णित दृष्टिकोण है (मेरा जवाब देखें)। मुख्य अंतर यह है कि आपके '' स्ट्रॉंगमॉडल '' एप्रोच स्पेस पर 25% का अधिकतम ब्रेकडाउन पॉइंट है (यह 25% या मनमाने ढंग से 'y- आउटलेर्स का सामना कर सकता है) जबकि उनके पास 50% का bdp है। नोट: न तो एप्रोच। डिजाइन स्पेस में
आउटलेर्स के

8

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

  • प्रतिगमन के मामले में, यह आम तौर पर बहुत कम क्रम वाला प्रतिगमन मॉडल है (आमतौर पर केवल पत्ती में टिप्पणियों का औसत)।
  • वर्गीकरण के लिए, यह बहुसंख्यक मतदान है।

इसलिए, उदाहरण के लिए प्रतिगमन के लिए, चरम मान पूरे मॉडल को प्रभावित नहीं करते हैं क्योंकि वे स्थानीय रूप से औसत हो जाते हैं। तो अन्य मूल्यों के लिए फिट प्रभावित नहीं है।

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

इसलिए, संक्षेप में, आरएफ पुनरावर्ती विभाजन और स्थानीय मॉडल फिटिंग से आउटलेर्स के लिए अपनी असंवेदनशीलता विरासत में मिला है ।

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


मैंने वास्तव में एक क्लस्टरिंग विधि का उपयोग करने पर विचार किया, जैसा कि आप सुझाव देते हैं, आउटलेर का पता लगाने के लिए। लेकिन फिर, मैं अनिश्चित हूं कि क्लस्टरिंग कहां लागू की जाए। क्या इसे labeledया unlabeledडेटा पर लागू किया जाना चाहिए ? और यह डेटा कुलीन और संख्यात्मक दोनों विशेषताओं वाले विषम डेटा पर कैसे प्राप्त होगा?
हुनले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.