Random Forest가 예측 변수의 결 측값을 처리하지 않는 이유는 무엇입니까?


답변:


34

그라디언트 부스팅 트리는 CART 트리를 사용합니다 (저자에 의해 제안 된 표준 설정). CART 트리는 랜덤 포레스트에서도 사용됩니다. @ user777이 말한 것은 RF 트리가 평균에 의한 대치, 거친 평균 / 모드 또는 근접성에 따른 평균 / 모드에 의해 결 측값을 처리한다는 사실입니다. 이 방법은 Breiman과 Cutler가 제안한 것으로 RF에 사용됩니다. 이것은 훈련 세트 에서 결 측값이 저자의 참조 입니다 .

그러나 다른 유형의 의사 결정 트리를 사용하여 GBM 또는 RF를 구축 할 수 있습니다. CART의 일반적인 대체품은 Quinlan이 제안한 C4.5입니다. C4.5에서는 누락 된 값이 데이터 세트에서 대체되지 않습니다. 대신, 계산 된 불순물 함수는 결 측값의 배급으로 불순물 점수에 불이익을 주어 결 측값을 고려합니다. 테스트에서 결 측값이있는 테스트가있는 노드에서 평가를 설정하면 각 하위 노드에 대해 예측이 작성되고 나중에 가중치를 적용하여 집계됩니다.

현재 많은 구현에서 CART 대신 C4.5가 사용됩니다. 주된 이유는 값 비싼 계산을 피하는 것입니다 (CART에는 더 많은 계산이 필요한보다 엄격한 통계적 접근 방식이 있으며). Weka가이 접근법을 사용한다는 것을 알고 있습니다. 다른 라이브러리는 모르지만 특이한 상황이 아닐 것으로 예상합니다. 이것이 GBM 구현의 경우라면 이것이 대답이 될 것입니다.



"결 측값의 배급으로 불순물 점수에 불이익을가합니다"에 대해 설명했습니다. 이는 트리의 특정 수준 / 분기에서 선택한 최적의 치수 값 선택에 직접적인 영향을 줍니까?
javadba

16

"결 측값을 처리하지 않는 [RF의] 이론적 이유는 무엇입니까? 그라디언트 부스팅 머신, 회귀 트리는 결 측값을 처리합니다. 왜 랜덤 포레스트가 그렇게하지 않습니까?"

RF CART 및 기타 유사한 의사 결정 트리 알고리즘과 같은 방식이 아닌 결 측값을 처리합니다. User777은 결측 데이터 (중간 대치 및 / 또는 근접성 기반 측정)를 처리하기 위해 RF에서 사용하는 두 가지 방법을 올바르게 설명하는 반면 Frank Harrell은 결 측값이 CART (대리 분할)에서 처리되는 방법을 정확하게 설명합니다. 자세한 정보는 CART (또는 FOSS 사촌 : RPART ) 및 RF 에 대한 누락 된 데이터 처리에 대한 링크를 참조하십시오 .

당신에 대한 답변 실제 질문은 받을 수 Ishwaran 등의 2008 논문에서, 명확하게 이럴 덮여 임의의 생존 숲 . 이들은 RF가 CART 또는 유사한 단일 의사 결정 트리 분류기와 같은 방식으로 누락 된 데이터를 처리하지 않는 이유에 대해 다음과 같은 그럴듯한 설명을 제공합니다.

"대리 분할은 나무에서 잘 작동하지만이 방법은 숲에는 적합하지 않을 수 있습니다. 속도는 한 가지 문제입니다. 대리 분할을 찾는 것은 계산 집약적이며 많은 수의 나무를 키울 때 특히 나무가 많이 포화 된 나무에 적합하지 않을 수 있습니다 또한, 숲 패러다임에서는 대리 분할이 의미가 없을 수도 있습니다 .RF는 노드를 분할 할 때 변수를 임의로 선택하므로 노드 내의 변수가 서로 관련이없고 합리적 대리 분할이 존재하지 않을 수 있습니다. 대리 분할은 변수의 해석을 변경하여 [Variable Importance]와 같은 측정에 영향을줍니다.

이러한 이유로 RF에는 다른 전략이 필요합니다. "

이것은 제쳐두고 있지만, 이것은 RF가 CART 모델의 앙상블을 사용한다고 주장하는 사람들에게 의문을 제기합니다. 많은 기사에서이 주장을 봤지만 RF에 대한 권위있는 텍스트에 근거한 그러한 진술은 본 적이 없습니다. 우선 RF의 트리는 가지 치기없이 자라는데 , 이는 일반적으로 CART 모델을 빌드 할 때 표준 접근 방식이 아닙니다. 또 다른 이유는 CART와 다른 의사 결정 트리 앙상블에서 결 측값을 처리하는 반면 [원래] RF는 CART와는 달리 내부적으로 그렇지 않습니다.

이러한 경고를 염두에두고 RF는 CART와 같은 의사 결정 트리 의 앙상블 (즉, 대리 분할을 통해 누락 된 데이터를 처리 할 수있는 능력없이 최대 범위까지 자라는 여러 가지 정리되지 않은 트리)을 사용한다고 말할 수 있습니다. 아마도 이것은 어수선한 의미 론적 차이점 중 하나이지만 주목할만한 가치가 있다고 생각합니다.


편집 : 실제 질문과 관련이없는 내 쪽 참고에, 나는 "RF에 대한 권위있는 텍스트에 근거한 그러한 진술을 본 적이 없다"고 말했습니다. Breiman DID에 따르면 CART 의사 결정 트리가 원래 RF 알고리즘에 사용된다고 명시되어 있습니다.

"임의의 기능을 가진 가장 단순한 랜덤 포레스트는 각 노드에서 분할 할 입력 변수 그룹을 무작위로 선택하여 구성됩니다. CART 방법 을 사용하여 트리 를 최대 크기 로 자르고 자르지 마십시오." [내 강조]

출처 : 랜덤 포레스트 p.9 . 브 리먼 (2001)

그러나 나는 여전히 자르지 않고 재배된다는 점에서 CART와 같은 의사 결정 트리 라는 개념에 대해 (더 위태 롭지 만) 여전히 서 있지만 CART는 일반적 으로이 구성에서 실행되지 않습니다. 따라서 우선 가지 치기가 가능합니다.)


11

임의 포리스트는 누락 된 데이터를 처리하며 두 가지 고유 한 방법이 있습니다.

1) 누락 된 데이터를 전가하지 않고 추론을 제공합니다. 2) 데이터 대치. 그런 다음 대치 된 데이터가 추론에 사용됩니다.

두 방법 모두 내 R 패키지 randomForestSRC (Udaya Kogalur와 함께 공동 작성)에서 구현됩니다. 첫째, 임의 포리스트는 임의의 기능 선택을 사용하므로 단일 트리 (CART 등)에서 사용되는 기존의 누락 된 데이터 방법은 적용되지 않습니다. 이 점은 Ishwaran et al. (2008), "Random Survival Forests", Annals of Applied Statistics , 2 , 3 , 그리고 논평자 중 하나에 의해 멋지게 표현되었습니다.

방법 (1)은 "온 더 플라이 전가"(OTFI) 방법이다. 노드를 분할하기 전에 누락되지 않은 In-bag 데이터에서 값을 임의로 가져와 변수에 대한 누락 된 데이터가 대치됩니다. 이 대치 된 데이터의 목적은 노드가 누락 된 데이터가있는 변수에서 분할 될 때 딸 노드에 사례를 지정할 수 있도록하는 것입니다. 그러나 결측 데이터는 비결 측 데이터 만 사용하는 스플릿 통계를 계산하는 데 사용되지 않습니다. 노드 분할 후, 대치 된 데이터가 누락 된 것으로 재설정되고 터미널 노드에 도달 할 때까지 프로세스가 반복됩니다. OTFI는 비 가방 데이터의 무결성을 유지하므로 VIMP (가변 중요도)와 같은 성능 값은 편향되지 않습니다. OTFI 알고리즘은 Ishwaran et al (2008)에 설명되었고 은퇴 한 randomSurvivalForest 패키지에서 구현되었습니다.

방법 (2)는 randomForestSRC에서 "impute"기능을 사용하여 구현됩니다. 데이터를 대치하기위한 비 감독, 무작위 및 다변량 분할 방법을 사용할 수 있습니다. 예를 들어, 다변량 분할은 매우 성공적인 missForest 대치 방법을 일반화합니다 ( Stekhoven & Bühlmann (2012), "MissForest-혼합 유형 데이터에 대한 비모수 결 측값 대치", Bioinformatics , 28 , 1 ). 누락 된 데이터가있는 impute 함수를 호출하면 기본 포리스트 함수 "rfsrc"를 사용하여 맞출 수있는 imputed 데이터 프레임이 반환됩니다.

"impute"를 사용하여 구현 된 서로 다른 포리스트 누락 데이터 알고리즘에 대한 자세한 비교는 Fei Tang "Random forest missing data algorithms"2017 년 논문에 설명되어 있습니다. 대치 및 OTFI에 대한 자세한 내용은 randomForestSRC의 "rfsrc"및 "impute"도움말 파일을 참조하십시오.


3
우리 사이트에 오신 것을 환영합니다! 사용자 이름, ID 아이콘 및 사용자 페이지에 대한 링크가 모든 게시물에 자동으로 추가되므로 게시물에 서명 할 필요가 없습니다. 사실, 우리는 당신이하지 않는 것을 선호합니다.
실버 피시

1
흥미로운 답변에 감사드립니다 (+1). 나는 인용 된 논문 몇 장에 대한 전체 참조 및 링크를 추가 할 자유를 얻었지만 Tang & Ishwaran (2015) "Random forest missing data algorithms"를 찾을 수 없었다. 아직 출판 되었습니까?
Scortchi-Monica Monica 복원

9

재귀 분할은 관측치에 대한 결 측값을 갖는 예측 변수와 상관 관계가있는 비결 측 예측 변수를 기반으로하는 대리 분할을 사용합니다. 이론적으로 동일한 아이디어를 사용하는 임의의 포리스트를 구현하는 것이 가능할 것입니다. 임의의 포리스트 소프트웨어가 그렇게했는지 알 수 없습니다.


7

Leo Breiman과 Adele Cutler에 따르면 Random Forest에는 결 측값을 처리하는 두 가지 방법 이 있습니다.

첫 번째는 빠르고 더러운 것입니다 : 연속 변수의 중간 값 또는 클래스별로 가장 일반적인 비 결측 값 채 웁니다 .

두 번째 방법은 결 측값을 채우고 RF를 실행 한 다음 결측 연속 값에 대해 결 측값의 근접 가중치 평균을 계산합니다. 그런 다음이 과정이 여러 번 반복됩니다. 그런 다음 RF 측정 데이터 세트를 사용하여 모델을 최종 학습합니다.


답변 주셔서 감사합니다! 그러나이 두 가지 방법 모두 결 측값을 대체합니다. 그러나 GBM 또는 회귀 트리에서 누락 된 값은 대체되지 않습니다. 이 점에서 GBM과 RF의 이론적 차이점은 무엇입니까?
Fedorenko Kristina

나는 GBM의 전문가는 아니지만 결 측값에 대한 RF 처리는 대치라는 아이디어에 근거한 것으로 보입니다. en.wikipedia.org/wiki/Imputation_(statistics) 결 측값이 무작위로 결측되지 않은 경우, 결 측으로 인해 결과가 바이어스 될 수 있습니다. 대치에서는이 결 측값을 복구하고 바이어스를 줄입니다.
Monica Reinstate Monica

2

중간 값 등을 사용하는 대신 missRanger 패키지 (현재 Github에서 개발 중) 또는 R 패키지 missForest를 보는 것이 좋습니다 . 이 두 패키지는 랜덤 포레스트를 사용하여 먼저 연쇄 방정식 (MICE)을 통한 다중 대치와 유사한 방법을 사용하여 데이터를 대치합니다. 이것은 실제 분석 모델과 밀접한 관련이 있으므로 사용하기에 적절한 대치 방법입니다. 그런 다음 관측치 누락으로 인해 개별 행을 삭제하지 않아도 모든 데이터를 사용할 수 있습니다. 또한 대치 된 값은 단순히 중앙값 또는 모드를 선택하는 것보다 훨씬 현실적입니다.

분석에 하나의 채워진 대치 된 데이터 세트 만 사용할 수 있지만 결 측값에 대한 불확실성을 통합하는 가장 좋은 방법은 이러한 대치 방법을 여러 번 실행 한 다음 각 결과 데이터 세트에서 모형을 추정하는 것입니다 (예 : 여러 대치)를 입력 한 다음 Rubin의 규칙을 사용하여 추정치를 결합합니다 (R 패키지 mitools 참조).


0

CART의 경우 누락 된 속성 (MIA) 접근 방식을 적용 할 수 있습니다. 즉, 범주 형 예측 변수의 경우 별도의 범주로 누락 된 코드가 있습니다. 수치 예측 변수의 경우, 결측이있는 모든 변수에 대해 두 개의 새로운 변수를 작성합니다. 하나는 결측을 -Inf로 코딩하고 다른 하나는 + Inf로 결측을 코딩하는 것입니다. 그런 다음 평소와 같이 임의의 포리스트 기능을 데이터에 적용합니다.

MIA의 장점 : 1) 계산 비용이 저렴함, 2) 여러 데이터 세트를 생성하지 않으므로 모델은 여러 대치가 수행하는 것처럼 (대치 누락 데이터 문헌은 일반적으로 하나의 대치 된 데이터 세트가 충분하지 않음에 동의 함) 3) 필요하지 않음 데이터를 대치하기위한 통계적 방법 및 / 또는 모델을 선택합니다.

기능 ctree()cforest()패키지에서 partykit은 전달하여 MIA을 적용 할 수 있도록 ctree_control(MIA = TRUE)자신에 control인수.

Jerome Friedman의 RuleFit 프로그램은 누락을 처리하기 위해 MIA를 사용하는 것으로 보입니다 ( https://statweb.stanford.edu/~jhf/r-rulefit/rulefit3/RuleFit_help.html#xmiss 참조) .

MIA 접근법에 대한 설명은 Twala et al. (2008) :

Twala, BETH, Jones, MC 및 Hand, DJ (2008). 의사 결정 트리에서 누락 된 데이터에 대처하는 좋은 방법입니다. 패턴 인식 문자, 29 (7), 950-956.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.