Ihre Intuition ist richtig. Diese Antwort zeigt sie nur an einem Beispiel.
Es ist in der Tat ein weit verbreitetes Missverständnis, dass CART / RF Ausreißern gegenüber robust sind.
Um die mangelnde Robustheit von HF gegenüber einzelnen Ausreißern zu veranschaulichen, können wir den in der obigen Antwort von Soren Havelund Welling verwendeten Code (leicht) modifizieren, um zu zeigen, dass ein einzelner y-Ausreißer ausreicht, um das angepasste HF-Modell vollständig zu beeinflussen. Wenn wir zum Beispiel den mittleren Vorhersagefehler der nicht kontaminierten Beobachtungen als Funktion der Entfernung zwischen dem Ausreißer und dem Rest der Daten berechnen, können wir sehen (Bild unten), dass ein einzelner Ausreißer eingeführt wird (indem eine der ursprünglichen Beobachtungen ersetzt wird durch einen beliebigen Wert im 'y'-Raum) genügt, um die Vorhersagen des RF-Modells beliebig weit von den Werten zu entfernen, die sie hätten, wenn sie mit den ursprünglichen (nicht kontaminierten) Daten berechnet worden wären:
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")
Wie weit? Im obigen Beispiel hat der einzelne Ausreißer die Anpassung so stark geändert, dass der mittlere Vorhersagefehler (bei nicht kontaminierten Beobachtungen) jetzt 1-2 Größenordnungen größer ist als er gewesen wäre, wenn das Modell an die nicht kontaminierten Daten angepasst worden wäre.
Es ist also nicht wahr, dass ein einzelner Ausreißer die HF-Anpassung nicht beeinflussen kann.
Wie ich an anderer Stelle erwähne, ist es außerdem viel schwieriger, mit Ausreißern umzugehen, wenn möglicherweise mehrere von ihnen vorhanden sind (obwohl sie nicht unbedingt einen großen Teil der Daten enthalten müssen, damit ihre Auswirkungen sichtbar werden). Kontaminierte Daten können natürlich mehrere Ausreißer enthalten. Um die Auswirkung mehrerer Ausreißer auf die RF-Anpassung zu messen, vergleichen Sie die Darstellung auf der linken Seite, die von der RF auf den nicht kontaminierten Daten erhalten wurde, mit der Darstellung auf der rechten Seite, die durch willkürliche Verschiebung von 5% der Antwortwerte erhalten wurde (der Code befindet sich unter der Antwort). .
Schließlich muss im Zusammenhang mit der Regression darauf hingewiesen werden, dass sich Ausreißer sowohl im Entwurfs- als auch im Antwortbereich von der Masse der Daten abheben können (1). Im spezifischen RF-Kontext beeinflussen Ausreißer beim Design die Schätzung der Hyperparameter. Dieser zweite Effekt ist jedoch deutlicher, wenn die Anzahl der Dimensionen groß ist.
Was wir hier beobachten, ist ein besonderer Fall eines allgemeineren Ergebnisses. Die extreme Empfindlichkeit multivariater Datenanpassungsmethoden, die auf konvexen Verlustfunktionen basieren, gegenüber Ausreißern wurde viele Male wiederentdeckt. Siehe (2) für eine Illustration im spezifischen Kontext von ML-Methoden.
Bearbeiten.
t
s∗= argmaxs[ pLvar ( tL( s ) ) + pRvar( tR( s ) ) ]
tLtRs∗tLtRspLtLpR= 1 - pLtR. Dann kann man Regressionsbäumen (und damit RFs) "y" -Raum-Robustheit verleihen, indem die in der ursprünglichen Definition verwendete Varianzfunktion durch eine robuste Alternative ersetzt wird. Dies ist im Wesentlichen der in (4) verwendete Ansatz, bei dem die Varianz durch einen robusten M-Schätzer der Skala ersetzt wird.
- (1) Demaskierung multivariater Ausreißer und Hebelpunkte. Peter J. Rousseeuw und Bert C. van Zomeren Journal der American Statistical Association Vol. 85, Nr. 411 (September 1990), S. 633-639
- (2) Zufälliges Klassifizierungsrauschen besiegt alle konvexen potentiellen Booster. Philip M. Long und Rocco A. Servedio (2008). http://dl.acm.org/citation.cfm?id=1390233
- (3) C. Becker und U. Gather (1999). Der Maskierungs-Breakdown-Point der Regeln zur Identifizierung multivariater Ausreißer.
- (4) G. Galimberti, M. Pillati & G. Soffritti (2007). Robuste Regressionsbäume basierend auf M-Schätzern. Statistica, 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)]))