填補遺漏值(Missing Value)方法

遺漏值(Missing Value)

作資料分析時,資料的預處理(preprocessing,包括抽取、清洗、轉換和集成)常常占了70%的工作量,尤其特別遇到缺失值的問題時,這裡做簡單的介紹、討論及常見解決方式。
造成缺失數據的原因包括機械原因和人為因素。機械原因可能是數據儲存失敗或機械故障導致某段時間數據無法收集;人為因素包括受訪者拒絕回答或回答問題無效等。

< 數據缺失機制 >

  • 完全隨機缺失( Missing Completely at Random, MCAR ) : 數據的缺失與其他變量完全無關 ex. 研究年齡和收入,收入缺失值和年齡無關                                                                             →判斷是否站得住腳可使用單變量 t-檢驗或 Little's MCAR多變量檢驗。若 MCAR 為真,可使用列表刪除(listwise deletion),剩餘資料仍可代表完整數據                                                                           
  • 隨機缺失( Missing at Random, MAR ) : 缺失值依賴其他完全變量 ex. 同上年齡和收入,若年紀高者收入缺失值較多表收入缺失值依賴於年齡                                                                  
  • 非隨機、不可忽略缺失( Not Missing at Random, NMAR ) : 不完全變量中的缺失值依賴於不完全變量本身 ex. 在一次人口普查中,30%的人沒有回答收入情況,高收入回答者比中等收入者要低,調查結果顯示高收入者普遍不願意透露自己薪資
從屬性上判斷,缺失值為同一屬性,稱為單值缺失。如果缺失值為不同的缺失,稱為任意缺失。對於時間序列的缺失,隨時間變化者稱為單調缺失。


< 數據處理 >

主要分成三大類 : 刪除元組 、 數據補齊 、 不處理 

刪除元組
                    最簡單的處理方法,將存在遺漏值的資料整筆刪除,對於資料量多且缺失值為 MCAR時是有效的處理方法。然而當數據量不多時,刪除的資料可能包含隱藏的信息,資料為非隨機分佈時會發生偏離,得出錯誤的結論。
  1. Listwise deletion : 存在缺失值的資料整筆刪除
  2. Pairwise deletion( available case analysis ) : 使用擁有的資料進行分析
                    ex. 1000筆data,三變數a、b、c,a有4筆無資料,b有8筆,c有3筆。看 a 與 b 間的關係,listwise deletion採用1000-4-8-3=985筆資料;pairwise deletion使用1000-4-8=988筆,缺失值較多時會產生結果上的bias


數據補齊      
                    根據其餘數據來對缺失值作填充,常用方法如下 :                                                                                                         
  1. 平均值填充( Mean/Mode Completer )                                                                                                       分析該欄變數為數值屬性或非數值屬性。若為數值型取平均值填補;非數值型根據眾樹原理,挑選出頻率最高的值補齊該缺失值。另有一種方法為條件平均值填充法( Conditional Mean Completer ),挑選與該缺失值具有相同決策屬性的其他對象取平均值     
  2. 熱卡填充( Hot deck imputation 或稱就近補齊 )                                                                                       從完整數據中找到與該缺失值最相似的一筆資料,用此相似對象進行填充。缺點為難以定義相似標準,主觀因素較多                                                                                          
  3. 回歸分析( Regression )                                                                                                                              將已知屬性代入方程式來估計缺失值,當變量不是線性或高度相關時會導致有偏差的估計                                                                                                                                                  






參考資料
<mice>
缺失資料展示 http://blog.csdn.net/lilanfeng1991/article/details/36467891
https://zhuanlan.zhihu.com/p/21549898


https://researcher20.com/2013/05/29/missing-data-%E8%B3%87%E6%96%99%E7%BC%BA%E5%A4%B1%E7%B0%A1%E4%BB%8B/
http://wiki.mbalib.com/zh-tw/%E7%BC%BA%E5%A4%B1%E5%80%BC

(二) K Nearest Neighbours(KNN)

KNN屬於機器學習中的監督是學習演算法,「尋找離所求點最近的 k 個點,依分類多者決定此點的性質」,KNN困難的地方在於 
         (i)選擇特徵 : 用頭髮長度和臉面積大小決定性別,碰到長頭髮的男生或輪廓較大的女 
                               生,不易做正確判斷
         (ii)距離的訂定 : 頭髮可用長度分辨,若是用顏色判斷,那機器還可以學習


參考資料
Missing Value https://read01.com/KdDBRO.html

留言

這個網誌中的熱門文章

Titanic資料分析#2

ggplot2 繪圖套件