處理資料缺失的結構化解決辦法

大快搜尋DKH發表於2018-10-26


資料缺失是資料科學家在處理資料時經常遇到的問題,本文作者基於不同的情境提供了相應的資料插補解決辦法。沒有完美的資料插補法,但總有一款更適合當下情況。

我在資料清理與探索性分析中遇到的最常見問題之一就是處理缺失資料。首先我們需要明白的是,沒有任何方法能夠完美解決這個問題。不同問題有不同的資料插補方法 ——時間序列分析,機器學習,迴歸模型等等,很難提供通用解決方案。在這篇文章中,我將試著總結最常用的方法,並尋找一個結構化的解決方法。
插補資料 vs 刪除資料

在討論資料插補方法之前,我們必須瞭解資料丟失的原因。
1 隨機丟失( MAR Missing at Random ):隨機丟失意味著資料丟失的機率與丟失的資料本身無關,而僅與部分已觀測到的資料有關。
2 完全隨機丟失( MCAR Missing Completely at Random ):資料丟失的機率與其假設值以及其他變數值都完全無關。
3 非隨機丟失( MNAR Missing not at Random ):有兩種可能的情況。缺失值取決於其假設值(例如,高收入人群通常不希望在調查中透露他們的收入);或者,缺失值取決於其他變數值(假設女性通常不想透露她們的年齡,則這裡年齡變數缺失值受性別變數的影響)。

在前兩種情況下可以根據其出現情況刪除缺失值的資料,而在第三種情況下,刪除包含缺失值的資料可能會導致模型出現偏差。因此我們需要對刪除資料非常謹慎。請注意,插補資料並不一定能提供更好的結果。

 


刪除

列表刪除

按列表刪除(完整案例分析)會刪除一行觀測值,只要其包含至少一個缺失資料。你可能只需要直接刪除這些觀測值,分析就會很好做,尤其是當缺失資料只佔總資料很小一部分的時候。然而在大多數情況下,這種刪除方法並不好用。因為完全隨機缺失( MCAR )的假設通常很難被滿足。因此本刪除方法會造成有偏差的引數與估計。

 

成對刪除

在重要變數存在的情況下,成對刪除只會刪除相對不重要的變數行。這樣可以儘可能保證充足的資料。該方法的優勢在於它能夠幫助增強分析效果,但是它也有許多不足。它假設缺失資料服從完全隨機丟失( MCAR )。如果你使用此方法,最終模型的不同部分就會得到不同數量的觀測值,從而使得模型解釋非常困難。

 

觀測行 3 4 將被用於計算 ageNa DV1 的協方差;觀測行 2 3 4 將被用於計算 DV1 DV2 的協方差。

 

刪除變數

在我看來,保留資料總是比拋棄資料更好。有時,如果超過 60 %的觀測資料缺失,直接刪除該變數也可以,但前提是該變數無關緊要。話雖如此,插補資料總是比直接丟棄變數好一些。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555587/viewspace-2217659/,如需轉載,請註明出處,否則將追究法律責任。

相關文章