Votre intuition est correcte. Cette réponse ne fait que l'illustrer sur un exemple.
Il est en effet une idée fausse commune que CART / RF est en quelque sorte robuste aux aberrants.
Pour illustrer le manque de robustesse de la RF face à la présence d'une seule valeur aberrante, nous pouvons (légèrement) modifier le code utilisé dans la réponse de Soren Havelund Welling ci-dessus pour montrer qu'une seule "valeur aberrante" suffit à influencer complètement le modèle RF adapté. Par exemple, si nous calculons l’erreur de prédiction moyenne des observations non contaminées en fonction de la distance entre la valeur aberrante et le reste des données, nous pouvons voir (image ci-dessous) que l’introduction d’ une seule valeur aberrante (en remplaçant l’une des observations originales). par une valeur arbitraire sur l'espace 'y') suffit pour éloigner arbitrairement les prévisions du modèle RF des valeurs qu'elles auraient obtenues si elles avaient été calculées sur les données d'origine (non contaminées):
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")
À quelle distance? Dans l'exemple ci-dessus, la seule valeur aberrante a tellement changé l'ajustement que l'erreur de prédiction moyenne (sur les observations non contaminées) est maintenant supérieure de 1 à 2 ordres de grandeur à ce qu'elle aurait été si le modèle avait été ajusté sur les données non contaminées.
Il n’est donc pas vrai qu’une seule valeur aberrante ne puisse affecter l’ajustement RF.
En outre, comme je l'ai indiqué ailleurs , il est beaucoup plus difficile de gérer les valeurs aberrantes lorsqu'elles sont potentiellement multiples (bien qu'elles n'aient pas besoin de représenter une grande partie des données pour que leurs effets apparaissent). Bien entendu, les données contaminées peuvent contenir plus d’une valeur aberrante; pour mesurer l'impact de plusieurs valeurs aberrantes sur l'ajustement RF, comparez la courbe de gauche obtenue à partir de la RF sur les données non contaminées à la courbe de droite obtenue en décalant arbitrairement 5% des valeurs de réponses (le code est sous la réponse) .
Enfin, dans le contexte de la régression, il est important de souligner que les valeurs aberrantes peuvent se distinguer de la majeure partie des données dans les espaces de conception et de réponse (1). Dans le contexte spécifique de RF, les valeurs aberrantes de conception affecteront l'estimation des hyper-paramètres. Cependant, ce deuxième effet est plus manifeste lorsque le nombre de dimensions est grand.
Ce que nous observons ici est un cas particulier de résultat plus général. La sensibilité extrême aux valeurs aberrantes des méthodes d’ajustement de données multivariées basées sur des fonctions de perte convexe a été redécouverte à plusieurs reprises. Voir (2) pour une illustration dans le contexte spécifique des méthodes ML.
Modifier.
t
s*= argmaxs[ pLvar ( tL( S ) ) + pRvar ( tR( s ) ) ]
où et sont des nœuds enfants émergents qui dépendent du choix de ( et sont des fonctions implicites de ) et
désigne la fraction de données qui tombe vers le nœud enfant de gauche et est le partage de données dans . Ensuite, on peut conférer aux arbres de régression (et donc aux RF) une robustesse d'espace "y" en remplaçant la fonction de variance utilisée dans la définition d'origine par une alternative robuste. C'est essentiellement l'approche utilisée dans (4) où la variance est remplacée par un robuste estimateur M d'échelle.t R s ∗ t L t R s p L t L p R = 1 - p L t RtLtRs*tLtRspLtLpR=1−pLtR
- (1) Démasquer les valeurs éloignées multivariées et les points de levier. Peter J. Rousseeuw et Bert C. van Zomeren Journal de l'Association américaine de statistique, vol. 85, n ° 411 (septembre 1990), pages 633 à 639
- (2) Le bruit de classification aléatoire neutralise tous les boosters de potentiel convexes. Philip M. Long et Rocco A. Servedio (2008). http://dl.acm.org/citation.cfm?id=1390233
- (3) C. Becker et U. Gather (1999). Point de rupture de masquage des règles d'identification multivariées.
- (4) Galimberti, G., Pillati, M. et Soffritti, G. (2007). Arbres de régression robustes basés sur M-estimateurs. 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)]))