직감이 맞습니다. 이 답변은 단지 예를 보여줍니다.
CART / RF가 어떻게 든 이상치에 강하다 는 것은 일반적인 오해입니다.
단일 특이 치의 존재에 대한 RF의 견고성 부족을 설명하기 위해, 위의 Soren Havelund Welling의 답변에 사용 된 코드를 (약간) 수정하여 단일 'y'- 이상 치가 적합 RF 모델을 완전히 좌우할 수 있음을 보여줍니다 . 예를 들어, 오염되지 않은 관측치 의 평균 예측 오차 를 특이 치와 나머지 데이터 사이의 거리의 함수로 계산 하면 원래 관측치 중 하나를 대체 하여 단일 특이 치를 소개 하는 (아래 이미지)를 볼 수 있습니다 'y'- 공간의 임의의 값)은 RF 모델의 예측을 원본 (오염되지 않은) 데이터에서 계산할 경우의 값에서 임의로 멀어지게하기에 충분합니다.
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 배 더 큽니다.
따라서 단일 특이 치가 RF 적합에 영향을 줄 수 없다는 것은 사실이 아닙니다.
또한 다른 곳 에서 지적한 것처럼 잠재적으로 여러 개가 있을 때 특이 치가 다루기가 훨씬 어렵 습니다 ( 효과가 나타나기 위해 많은 양 의 데이터 가 필요하지는 않음 ). 물론 오염 된 데이터에는 둘 이상의 특이 치가 포함될 수 있습니다. RF 적합치에 대한 여러 특이 치의 영향을 측정하려면 오염되지 않은 데이터의 RF에서 얻은 왼쪽의 플롯과 응답 값의 5 %를 임의로 이동하여 얻은 오른쪽의 플롯을 비교하십시오 (코드는 답변 아래) .
마지막으로 회귀 컨텍스트에서 특이 치가 설계 및 응답 공간의 대량 데이터에서 두드러 질 수 있음을 지적하는 것이 중요합니다 (1). RF의 특정 상황에서 설계 이상 치는 하이퍼 파라미터의 추정에 영향을 미칩니다. 그러나이 두 번째 효과는 차원 수가 클 때 더 분명합니다.
여기서 우리가 관찰하는 것은 더 일반적인 결과의 특별한 경우입니다. 볼록 손실 함수를 기반으로하는 다변량 데이터 피팅 방법의 특이 치에 대한 극도의 감도가 여러 번 다시 발견되었습니다. ML 방법의 특정 상황에 대한 그림은 (2)를 참조하십시오.
편집하다.
티
에스※= 인수최대에스[ p엘var ( t엘( s ) ) + P아르 자형var ( t아르 자형( S ) ) ]
티엘티아르 자형에스※티엘티아르 자형에스피엘티엘피아르 자형= 1 − p엘티아르 자형. 그런 다음 원래 정의에 사용 된 분산 기능을 강력한 대안으로 대체하여 회귀 트리 (및 RF)에 "y"공간 견고성을 부여 할 수 있습니다. 이는 본질적으로 분산이 강력한 M 추정기 스케일로 대체되는 (4)에서 사용 된 접근법입니다.
- (1) 다변량 특이 치 및 레버리지 점 마스킹 해제. Peter J. Rousseeuw와 Bert C. van Zomeren 미국 통계 협회 저널 Vol. 85, No. 411 (Sep., 1990), 633-639 쪽
- (2) 랜덤 분류 노이즈는 모든 볼록한 잠재적 부스터를 물리칩니다. Philip M. Long과 Rocco A. Servedio (2008). http://dl.acm.org/citation.cfm?id=1390233
- (3) C. Becker and U. Gather (1999). 다변량 이상치 식별 규칙의 마스킹 분석 지점.
- (4) Galimberti, G., Pillati, M., & Soffritti, G. (2007). M 추정값을 기반으로하는 강력한 회귀 트리 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)]))