第二章 文獻回顧
第一節 遺失值
2.1.3 遺失值處理方式
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
7
1.
完全隨機遺失(MCAR, missing completely at random)遺失值的出現與否完全不受任何因素的影響,單純為隨機發生並且和任何研 究內的變數不相關;完全隨機的遺失隱含著任何該資料檔案的子集合和整個檔案 的遺失型態應該相同。在實務上很難有方法去證明一個資料集合是完全隨機遺失,
另外也有人將此種型態列為隨機遺失(MAR)的一種特例(下面即將說明)。
2.
隨機遺失(MAR, missing at random)這個名稱在某種程度上會誤導讀者,因為 MAR 的型態並不是隨機分布的,
至少不是完全隨機。MAR 的資料遺失與否不受其他變數的影響,而是與被觀察 的結果有關,例如服務業的人比較不願意回報自身的收入情況。
3.
非隨機遺失(NMAR ,Not missing at random)這種型態的遺失值又稱為 non-ignorable nonresponse,也就是不可以被忽略。
非隨機因素產生的遺失值與其他遺失值有關,但與觀察到的部分無關。可能是問 題本身太過尖銳、受訪者刻意不填答或問卷太過冗長而隨便跳題亂答。在判斷為 什麼受試者會產生這個遺失值時會遇到困難,因為資料本身並沒有遺失值的資料,
所以大部分的時候原因的探討會變成邏輯上的討論,例如高收入者可能因為不想 被別人知道自己的高收入而鮮少填答收入情況。
2.1.3 遺失值處理方式
遺失值的處理方式有非常多種(見圖 2.1),主要分成刪去法、插補法、模型 建構法以及機器學習法四大類,以下我們將會用範例分別說明各種方法。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
8
圖 2.1 遺失值的處理方式
資料來源: Pedro J. Garcı´a-Laencina Æ Jose´-Luis Sancho-Go´mez Æ (2010)
1.
刪除法(deletion)一般而言,利用剩餘完整的資料來做分析,然而這種方法往往造成有用的訊 息無法突顯出來,導致分析結果不佳。刪除的方式有以下幾種:
(1) 成批刪除法(list-wise)
收集的資料當中若有一變數為遺失值,則將整筆資料刪除。其優點是很簡單 並且適用於不同資料。但當很多資料遺失值時,會降低統計上的效力;再者,若 資料並不屬於完全隨機遺失,子集合無法代表整體資料,也會產生偏差。
(2) 成對刪除法(pair-wise)
將遺失值保留,若是某種分析方式有使用到在予以刪除。其優點是把能用的 資料全數用盡,但是此方法會使不同分析的樣本量不同,進而無法互相比較。通 常在樣本量很大、遺失值很少、變數之間不是高度相關的時候較適合本方法。
2.
插補法(imputation)插補法(imputation)為一種常見的遺失值處理方式,藉由其他輔助變數所提供 的資訊,用一個(組)相近於遺失值的數值取代遺失值。插補方式又分為隨機插補
遺失值處 理
刪去法 插補法 模型建構 法
機器學習
法
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
9
(Stochastic )和非隨機插補(Stochastic imputation)。在這一節當中將介紹各種不同 的插補方式。
(1) 非隨機插補法(Non-stochastic Imputation)
平均數插補(Mean Substitution )
只要是遺失值都用平均數來代替,該變數的平均值會保持不變,而其他的統 計量例如標準差和相關係數等也不會受很大的影響。特別適合用在完全隨機遺失 (MCAR)的型態。但許多專家反對這個方法(Allison, 2001; Bennett, 2001; Graham et al., 2003; Pallant, 2007),因為會造成變異量低估的問題,也無法應用在非數值 或是 MAR、NMAR 的資料上。
迴歸插補(Regression Substitution)
迴歸插補法用現有的資料產生迴歸式,用現有的資料去預測遺失值。迴歸法 的優點為對同一變數不同觀察值的遺失值考量了變數間的關聯性,而雖然對於平 均不會產生偏差,但是會產生有偏差的變異數和共變異數。
(2) 隨機插補法(Stochastic Imputation)
隨機插補法和前面的插補法最大的不同於,在這個方法中會使用和原本分析
資料無關的輔助資料(auxiliary variables)來預測遺失值。例如關於遺失值型態的資 料,或是引入其他和遺失值有關的資料(但不被包括在分析資料中)。 隨機回歸插補(Stochastic Regression Substitution)
這個方法和迴歸法相似,但是因為其用其他輔助變數,這些變數的平均為零 但是卻也有變異數,因此相較於單純的迴歸插補法,可以改善變異數被降低的問 題。
‧
(3)多重插補法(Multiple imputation)
這個方法是 EM 的延伸,因為其關係到不同組的填補資料集合還有他們之前 的關聯性。首先是建立幾組填補資料集合,分別使用之後紀錄各自的每種參數,
並且用這些參數的平均作為最後填補資料集合的參數。考量到不同插補方法的隨 機波動,MI 提供了較為精準的標準差因而提供比較精準的推測結果。
3. 模型建構法
(1) 預期最大化 Expectation maximization (EM)
這個方法是 Maximum Likelihood 的其中一種,ML 的方法在統計上顯著比刪 除、隨機回歸及其他非隨機插補法。ML 就是根據已觀察到的樣本,以使這個母
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
11
表 1.1 機器學習類別
類別 說明 範例
監督 學習
從給定的訓練資料集中學習出一個函數(模型),當擁 有新的數據時,則可以根據函數預測出結果。
監督學習的訓練集要求是包括輸入和輸出,包含特徵 值和目標值,其中訓練資料集的目標是由人標註的。
迴歸分析、
統計分類。
無監督
學習 無監督學習的訓練資料集是沒有人為標註的結果。 群聚(cluster) 半監督
學習
半監督式學習介於「監督學習」與「無監督學習」之間,
其利用大量未標記過的資料結合一些已經標記過的資料來 做訓練的模型,以解決資料量稀少與分散的問題。
自主學習
在資料探勘領域中,最常使用的機器學習法包含類神經網路、決策樹歸納等,
本研究將以機器學習理論中的 AFA 模型為參考基準,提出一套新的遺失值選值 填補方法。
(2) AFA (Active feature-value acquisition)
AFA 是機器學習領域中半監督式學習特別的方法,該學習演算法可以從部 分訓練的資料集中建立的模型運用到新的資料上。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
12
圖 2.2 AFA 演算法架構
AFA(Active feature-value acquisition)是指在給定一個取得資訊的預算之下,找 出需要填補的遺失值使得整個預設的模型有更好的準確率。根據 (Zheng &
Padmanabhan, 2002)的研究結果顯示,使用自動學習法取得該填的資料可以更有 效率的建立模型。
在填值時,我們將會考慮:填值偵測、填值順序、填值方式三個重點。但是 本研究以取得真正的遺失值做為填值方式,因此重點將會聚焦於填值順序的研究。
而以下我們先逐一介紹填值偵測與填值順序的方法,其中包括我們主要得比較對 象 Error Sampling。
Random Sampling
Random Sampling 是從遺失值中隨機挑取欲取得的資料, (Melville et al., 2004)的研究顯示此方法與其他方法相比,欲達成相同的模型準確率時需要填入 最多的值。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
13
Error Sampling
Error Sampling 背後的原理是從希望新取得的資料可以為本來的模型帶來有 區別的型態(Discriminative Patterns)。而若是把一筆含有遺失值且被分類錯誤的受 試者填滿,其比較有可能為本來的模型帶來新的區別型態 (Melville et al., 2004)。
因此 Error Sampling 在選擇填值順序的標準是先從被分類錯誤的受試者開始。被 分類錯誤的受試者不含有任何遺失值之後,會依據 Uncertainty Score 的大小,從 小到大來填值。Uncertainty Score 的定義如下:對於兩個最可能被分到的類別(機 率最大和第二大的類別),其機率的絕對值差距。其公式定義如下:
Uncertainty Score = −1, if I is misclassified.
Uncertainty Score = (P(X)y1 − P(X)y2), otherwise.
X1 X2 X3 ….. Xm Result (假設有 K 種結果)
I1 P1(I)y1,P1(I)y2…US1
I2 P2(I)y1,P2(I)y2…US2
I3 P3(I)y1,P3(I)y2…US3
I4 P4(I)y1,P4(I)y2…US4
In Pn(I)y1,Pn(I)y2…USn
圖 2.3 Uncertainty Score 計算示意圖
在計算過 Uncertainty Score 之後,便可以把它從低到高排序,Error Sampling 便是依據此順序來填值。