랜덤 포레스트 vs 회귀


21

5 개의 독립 변수가있는 데이터 세트에서 OLS 회귀 모델을 실행했습니다. 독립 변수와 종속 변수는 연속적이고 선형 적으로 관련되어 있습니다. R 광장은 약 99.3 %입니다. 그러나 R에서 임의의 포리스트를 사용하여 동일하게 실행하면 결과는 '% Var 설명 : 88.42'입니다. 임의의 숲 결과가 회귀보다 열등한 이유는 무엇입니까? 나는 임의의 숲이 최소한 OLS 회귀만큼 좋을 것이라고 가정했다.


4
목표가 예측하는 경우 과적 합으로 인해 높은 R- 제곱이 발생할 수 있습니다. 교차 검증을 사용하여 RN 예측과 회귀 예측을 비교하십시오.
Manoel Galdino

답변:


27

나는 당신이 한 일을 정확히 알지 못하므로 소스 코드로 추측하는 데 도움이 될 것입니다.

많은 임의의 포리스트는 기본적으로 평균이 시스템을 나타내는 것으로 간주되는 창입니다. 과장된 CAR- 트리입니다.

두 잎의 CAR- 트리가 있다고 가정 해 봅시다. 데이터는 두 개의 파일로 분할됩니다. 각 파일의 (일정한) 출력은 평균이됩니다.

이제 임의의 데이터 하위 집합으로 1000 번 수행하십시오. 평균 출력을 갖는 불연속 영역이 계속 유지됩니다. RF의 승자가 가장 빈번한 결과입니다. 그것은 범주 사이의 경계를 "퍼지"만합니다.

CART 트리의 부분 선형 출력 예 :

예를 들어 함수가 y = 0.5 * x + 2라고 가정 해 봅시다. 그 플롯은 다음과 같습니다. 그림 1

두 개의 잎만있는 단일 분류 트리를 사용하여이를 모델링하는 경우 먼저 최상의 분할 지점을 찾아 해당 지점에서 분할 한 다음 각 리프의 함수 출력을 리프의 평균 출력으로 근사합니다.

사소한 CART로 플롯

우리가 CART 트리에 더 많은 잎을 가지고 이것을 다시하면 다음과 같은 결과를 얻을 수 있습니다. 여기에 이미지 설명을 입력하십시오

왜 자동차 삼림인가?

무한 잎의 한계에서 CART 트리는 허용 가능한 근사치입니다.

문제는 현실 세계가 시끄럽다는 것입니다. 우리는 수단으로 생각하기를 좋아하지만 세계는 중심 경향 (평균)과 변동 경향 (std dev)을 모두 좋아합니다. 소음이 있습니다.

CAR- 트리에 뛰어난 강도와 불연속성을 처리하는 능력을 제공하는 것과 마찬가지로, 마치 노이즈 인 것처럼 모델링 노이즈에 취약합니다.

Leo Breimann은 간단하지만 강력한 제안을했습니다. 분류 및 회귀 트리를 강력하게 만들기 위해 Ensemble 방법을 사용하십시오. 그는 임의의 부분 집합 (부트 스트랩 리샘플링의 사촌)을 사용하여 CAR- 트리의 숲을 훈련시킵니다. 포리스트에 대한 질문을하면 전체 포리스트가 말하고 가장 일반적인 답변이 출력으로 간주됩니다. 숫자 데이터를 처리하는 경우 기대 값을 출력으로 보는 것이 유용 할 수 있습니다.

두 번째 줄거리에서는 랜덤 포레스트를 사용한 모델링에 대해 생각해보십시오. 각 트리에는 데이터의 임의의 하위 집합이 있습니다. 즉, "최상의"분리 점의 위치는 나무마다 다릅니다. 불연속성에 접근 할 때 임의 포리스트의 출력을 플롯으로 표시하려면 처음 몇 개의 분기가 점프를 표시 한 다음 많은 분기를 표시합니다. 해당 영역의 평균값은 부드러운 시그 모이 드 경로를 통과합니다. 부트 스트랩은 가우시안 (Gaussian)과 관련이 있으며 해당 단계 함수의 가우시안 블러가 S 자형이됩니다.

하단 라인:

매우 선형적인 함수에 대한 근사치를 얻으려면 나무 당 많은 가지가 필요합니다.

답변에 영향을주기 위해 변경할 수있는 많은 "다이얼"이 있으며 모두 적절한 값으로 설정하지 않았을 수 있습니다.

참고 문헌 :


RANDOM 포리스트 회귀 분석은 선형으로 연결된 데이터에 적합하지 않은 부분 단위 상수 함수로 수행되지 않습니까?
seanv507

우리도 같은 말을하고 있다고 생각합니다. 어느 상수가 사용됩니까? 권리.
EngrStudent-복직 모니카

우리가 똑같은 말을하고 있다고 생각한다면 나는 그것을 주석으로 넣었을 것입니다. 나는 당신의 대답을 이해하지 못합니다. 내 대답은 OPs 데이터가 선형이므로 조각 단위 상수 함수로 적합하지 않다고 설명합니다.
seanv507

@ seanv507 RF의 장점은 여러 버전의 교란 된 데이터 버전에 적합한 임의의 트리가 불연속성을 평균화한다는 것입니다. 결과는 단일 트리가 생성하는 것보다 기본 부드러운 선에 더 잘 맞습니다.
Hong Ooi

기본적으로 회귀 트리에서 부트 스트랩 리샘플링입니다. 부트 스트랩에 대해 내가 싫어하는 것 중 하나는 균일 한 분포가 유익한 정보로 간주된다는 것입니다. 이상적인 경우가 유익하지 않은가요?
EngrStudent-복직 모니카

7

나는 이것이 오래된 질문이라는 것을 알았지 만 더 추가해야한다고 생각합니다. @Manoel Galdino가 의견에서 말했듯이 일반적으로 보이지 않는 데이터에 대한 예측에 관심이 있습니다. 그러나이 질문은 훈련 데이터의 성능에 관한 것이며, 무작위 숲이 훈련 데이터에서 나쁜 성능을 보이는 이유는 무엇입니까? 대답은 종종 분류 문제로 인해 문제가 발생하는 분류 된 분류기의 흥미로운 문제를 강조합니다.

문제는 데이터 세트에서 부트 스트랩 샘플을 가져 와서 생성되는 임의 포리스트와 같은 분류 된 분류 기가 극단적으로 성능이 저하되는 경향이 있다는 것입니다. 극단에 많은 데이터가 없기 때문에 데이터가 매끄럽게되는 경향이 있습니다.

구체적으로, 회귀에 대한 랜덤 포레스트는 다수의 분류기의 예측을 평균화한다는 것을 기억하십시오. 단일 지점이 다른 지점과 멀리 떨어져 있으면 많은 분류 기준에서이를 볼 수 없으며 이는 본질적으로 샘플에서 벗어난 예측을하므로 매우 좋지 않을 수 있습니다. 실제로, 이러한 샘플 외부 예측은 데이터 포인트에 대한 예측을 전체 평균으로 끌어 당기는 경향이 있습니다.

단일 의사 결정 트리를 사용하는 경우 극단적 인 값과 동일한 문제는 없지만 적합 회귀도 선형 적이 지 않습니다.

다음은 R의 그림입니다 . y5 가지 x변수 의 완벽한 라이너 조합 인 일부 데이터가 생성됩니다 . 그런 다음 선형 모델과 임의 포리스트를 사용하여 예측합니다. 그런 다음 y훈련 데이터에 대한 값이 예측에 대해 표시됩니다. 값이 매우 크거나 작은 데이터 포인트 y가 드물기 때문에 임의 포리스트가 극단적으로 나 빠지고 있음을 분명히 알 수 있습니다 .

임의 포리스트가 회귀 분석에 사용될 때 보이지 않는 데이터에 대한 예측 패턴과 동일한 패턴이 표시됩니다. 그것을 피하는 방법을 모르겠습니다. randomForestR 의 함수에는 바이어스에 corr.bias선형 회귀를 사용 하는 조잡한 바이어스 수정 옵션 이 있지만 실제로 작동하지는 않습니다.

제안은 환영합니다!

beta <- runif(5)
x <- matrix(rnorm(500), nc=5)
y <- drop(x %*% beta)
dat <- data.frame(y=y, x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4], x5=x[,5])
model1 <- lm(y~., data=dat)
model2 <- randomForest(y ~., data=dat)
pred1 <- predict(model1 ,dat)
pred2 <- predict(model2 ,dat)
plot(y, pred1)
points(y, pred2, col="blue")

여기에 이미지 설명을 입력하십시오


귀하의 관찰에 동의하지만 데이터 포인트가 적은 영역에서 평균에 대한 RF 회귀의 팬이되었습니다. 소수의 데이터 포인트 만 지원하는 훈련 세트의 경계선까지 훌륭한 전체 선형 구조를 찾는 것이 확실하다면 선형 보정을 수행하고 RF가 잔차를 처리하도록하십시오.
Soren Havelund Welling

2
의견 주셔서 감사합니다! 나는 그것이 매우 나빴고 나를 나쁘게 보이게 만드는 예측을하는 불쾌한 경험을 가지고있었습니다. 그러나 분산을 늘리지 않고 경계선 포인트에 대해 더 정확한 예측을 얻을 수있는 방법이 없을 수도 있습니다.
Flounderer

몇 년 후 추가 의견을 보았을 때, 데이터에 약간의 차이가있는 곳에서는 RF가 제대로 작동하지 않는 것으로 나타났습니다. 물론 데이터 세트의 극단에 데이터가 적을 때가 있지만 가끔씩 중앙에 틈이 생길 수 있습니다. RF는 간격이있는 데이터 세트를 제대로 엉망으로 만들 수 있습니다.
SeldomSeenSlim

2

임의 포리스트는 많은 기능과 많은 데이터 요소 중에서 지역을 찾으려고합니다. 피처가 분할되어 피처가 다른 트리에 제공됩니다. 피처 수가 적을수록 전체 결과는 로지스틱 회귀만큼 좋지 않습니다. 임의 포리스트는 숫자 및 범주 형 변수를 처리 할 수 ​​있지만 결 측값 처리에는 적합하지 않습니다.


0

X와 y의 관계의 기능적 형태가 복잡 할 때 (비선형 관계 및 상호 작용 효과로 인해) 임의 포리스트 (RF)가 좋은 도구라고 생각합니다. RF는 최상의 컷 포인트 (최소 SSE의 용어로)를 기준으로 X를 분류하며 기능적 관계 형식에 대한 연구원 정보를 적용하지 않습니다. 한편, OLS 회귀는이 정보를 사용합니다. 귀하의 예에서 Xs와 y의 관계 유형이 정확히 무엇인지 알고 회귀 모델에서이 정보를 모두 사용하지만 RF는이 정보를 사용하지 않습니다.


-2

기본적으로 회귀는 연속 변수보다 우수하고 불연속 변수는 불연속 변수보다 우수합니다.

좀 더 구체적으로하려면 문제와 변수의 특성에 대한 자세한 정보를 제공해야합니다.


모든 변수 매일 주식의 수익률 (금융 시계열) ...
user28906

3
"회귀는 연속 변수보다 우수하고 불연속 변수는 불연속 변수보다 우수합니다.": 이것은 일반적으로 사실이 아닙니다. 추론과 예측에는 차이가 있으며 예측에서도 회귀가 RF보다 선호되는 경우가 있습니다.
AdamO
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.