markus-spiske-187777-unsplash
 程式與統計統計模型

Tree Surrogate | Tree Surrogate Variables in CART | R 統計

Tree Surrogate 樹替代是決策樹CART演算法裡面內建的處理遺失值的一個很棒的演算法。只要資料列有目標變數搭配只少一個未遺失的特徵值,即可進行遺失值的預測,計算預測遺失值的surrogate variable list來作為替代值順位。

CART決策樹模型遺失值預測法 Tree Surrogate 簡介

  • 在使用rpart()(Recursive Partitioning Tree)建模時,我們不用特別針對遺失值進行處理。
  • 只要觀測值有y值,和至少一個未遺失的x值,則可投入模型。
  • 在遇到觀測資料有遺失值的情況,會使用Surrogate Variable List中的代理變數順位最高者來預測遺失變數值

Tree Surrogate Variables

ID
A
B
C
T
1
T
?
F
Y
2
?
F
?
N
3
F
F
F
Y
4
F
T
T
N

其中:

  • T欄為目標變數
  • A,B,C欄為預測變數
  • 而根據Gini Index,C會被選中為決策樹變數

對於C欄位有遺失值的觀測資料列,CART決策樹會使用計算出來的代理變數(Surrogate Variables)來預測C值。

計算C欄位Surrogate Variables的方法如下:依據計算除了C以外的預測變數作為Surrogate Variables的錯誤率並比較排序。

Step 1: C is missing but B has value

首先計算B作為Surrogate Variable的錯誤率:
B
C
F
F
T
T
使用決策樹模型產生用B預測C的邏輯:
  • B=T -> C=T
  • B=F -> C=F
  • Error rate = 0%
Step 2: C is missing but A has value
計算A作為Surrogate Variable預測C值得錯誤率:
A C
T
F
F
F
F
T

使用決策樹模型產生用A預測C的邏輯:

  • A=T -> C=F
  • A=F -> C=T
  • Erro rate = 33%
總結以上,預測C欄位各Surrogate Variables的預測錯誤率分別為:
  • A 有33% 的預測錯誤率
  • B 有0%的預測錯誤率
  • Naive隨機則有50%的預測錯誤率 (blind rule)
  • 若錯誤率比Naive隨機預測結果還高者,會從Surrogate Variables list給移除
因此,Surrogate Variables的順位為:B,A,Naive
  • 以ID2為例,C值會被指派為(根據B)F



更多rpart()函數對surrogate variable說明可參考:https://cran.r-project.org/web/packages/rpart/vignettes/longintro.pdf


更多統計模型筆記連結:

線性回歸模型

羅吉斯回歸模型part1

羅吉斯回歸模型part2

決策樹/隨機森林

random forests

Gradient Boosting Machines (GBMs)

階層式分群法

分割式分群法