香港公司

Missing data

9547 171

缺失值(Missing data)

目錄

  • 1 什麼是缺失值
  • 2 缺失值產生的原因
  • 3 缺失值的類型
  • 4 缺失值的處理方法

什麼是缺失值

  缺失值是指粗糙數據中由於缺少信息而造成的數據的聚類,分組,刪失或截斷。它指的是現有數據集中某個或某些屬性的值是不完全的。數據挖掘所面對的數據不是特地為某個挖掘目的收集的,所以可能與分析相關的屬性並未收集(或某段時間以後才開始收集),這類屬性的缺失不能用缺失值的處理方法進行處理,因為它們未提供任何不完全數據的信息,它和缺失某些屬性的值有著本質的區別。

缺失值產生的原因

  缺失值的產生的原因多種多樣,主要分為機械原因和人為原因。機械原因是由於機械原因導致的數據收集或保存的失敗造成的數據缺失,比如數據存儲的失敗,存儲器損壞,機械故障導致某段時間數據未能收集(對於定時數據採集而言)。人為原因是由於人的主觀失誤、歷史局限或有意隱瞞造成的數據缺失,比如,在市場調查中被訪人拒絕透露相關問題的答案,或者回答的問題是無效的,數據錄入人員失誤漏錄了數據。

缺失值的類型

  缺失值從缺失的分佈來講可以分為完全隨機缺失,隨機缺失和完全非隨機缺失。完全隨機缺失(missing completely at random,MCAR)指的是數據的缺失是隨機的,數據的缺失不依賴於任何不完全變數或完全變數。隨機缺失(missing at random,MAR)指的是數據的缺失不是完全隨機的,即該類數據的缺失依賴於其他完全變數。完全非隨機缺失(missing not at random,MNAR)指的是數據的缺失依賴於不完全變數自身。

  從缺失值的所屬屬性上講,如果所有的缺失值都是同一屬性,那麼這種缺失成為單值缺失,如果缺失值屬於不同的屬性,稱為任意缺失。另外對於時間序列類的數據,可能存在隨著時間的缺失,這種缺失稱為單調缺失。

缺失值的處理方法

  對於缺失值的處理,從總體上來說分為刪除存在缺失值的個案和缺失值插補。對於主觀數據,人將影響數據的真實性,存在缺失值的樣本的其他屬性的真實值不能保證,那麼依賴於這些屬性值的插補也是不可靠的,所以對於主觀數據一般不推薦插補的方法。插補主要是針對客觀數據,它的可靠性有保證。

  1.刪除含有缺失值的個案

  主要有簡單刪除法和權重法。簡單刪除法是對缺失值進行處理的最原始方法。它將存在缺失值的個案刪除。如果數據缺失問題可以通過簡單的刪除小部分樣本來達到目標,那麼這個方法是最有效的。當缺失值的類型為非完全隨機缺失的時候,可以通過對完整的數據加權來減小偏差。把數據不完全的個案標記後,將完整的數據個案賦予不同的權重,個案的權重可以通過logistic或probit回歸求得。如果解釋變數中存在對權重估計起決定行因素的變數,那麼這種方法可以有效減小偏差。如果解釋變數和權重並不相關,它並不能減小偏差。對於存在多個屬性缺失的情況,就需要對不同屬性的缺失組合賦不同的權重,這將大大增加計算的難度,降低預測的準確性,這時權重法並不理想。

  2.可能值插補缺失值

  它的思想來源是以最可能的值來插補缺失值比全部刪除不完全樣本所產生的信息丟失要少。在數據挖掘中,面對的通常是大型的資料庫,它的屬性有幾十個甚至幾百個,因為一個屬性值的缺失而放棄大量的其他屬性值,這種刪除是對信息的極大浪費,所以產生了以可能值對缺失值進行插補的思想與方法。常用的有如下幾種方法。

  (1)均值插補。數據的屬性分為定距型和非定距型。如果缺失值是定距型的,就以該屬性存在值的平均值來插補缺失的值;如果缺失值是非定距型的,就根據統計學中的眾數原理,用該屬性的眾數(即出現頻率最高的值)來補齊缺失的值。

  (2)利用同類均值插補。同均值插補的方法都屬於單值插補,不同的是,它用層次聚類模型預測缺失變數的類型,再以該類型的均值插補。假設X= (X1,X2…Xp)為信息完全的變數,Y為存在缺失值的變數,那麼首先對X或其子集行聚類,然後按缺失個案所屬類來插補不同類的均值。如果在以後統計分析中還需以引入的解釋變數和Y做分析,那麼這種插補方法將在模型中引入自相關,給分析造成障礙。

  (3)極大似然估計(Max Likelihood ,ML)。在缺失類型為隨機缺失的條件下,假設模型對於完整的樣本是正確的,那麼通過觀測數據的邊際分佈可以對未知參數進行極大似然估計

(Little and Rubin)。這種方法也被稱為忽略缺失值的極大似然估計,對於極大似然的參數估計實際中常採用的計算方法是期望值最大化(Expectation Maximization,EM)。該方法比刪除個案和單值插補更有吸引力,它一個重要前提:適用於大樣本。有效樣本的數量足夠以保證ML估計值是漸近無偏的並服從正態分佈。但是這種方法可能會陷入局部極值,收斂速度也不是很快,並且計算很複雜。

  (4)多重插補(Multiple Imputation,MI)。多值插補的思想來源於貝葉斯估計,認為待插補的值是隨機的,它的值來自於已觀測到的值。具體實踐上通常是估計出待插補的值,然後再加上不同的雜訊,形成多組可選插補值。根據某種選擇依據,選取最合適的插補值。

  多重插補方法分為三個步驟:①為每個空值產生一套可能的插補值,這些值反映了無響應模型的不確定性;每個值都可以被用來插補數據集中的缺失值,產生若幹個完整數據集合。②每個插補數據集合都用針對完整數據集的統計方法進行統計分析。③對來自各個插補數據集的結果,根據評分函數進行選擇,產生最終的插補值。

  假設一組數據,包括三個變數Y1,Y2,Y3,它們的聯合分佈為正態分佈,將這組數據處理成三組,A組保持原始數據,B組僅缺失Y3,C組缺失Y1和Y2。在多值插補時,對A組將不進行任何處理,對B組產生Y3的一組估計值(作Y3關於Y1,Y2的回歸),對C組作產生Y1和Y2的一組成對估計值(作Y1,Y2關於Y3的回歸)。

  當用多值插補時,對A組將不進行處理,對B、C組將完整的樣本隨機抽取形成為m組(m為可選擇的m組插補值),每組個案數只要能夠有效估計參數就可以了。對存在缺失值的屬性的分佈作出估計,然後基於這m組觀測值,對於這m組樣本分別產生關於參數的m組估計值,給出相應的預測即,這時採用的估計方法為極大似然法,在電腦中具體的實現演算法為期望最大化法(EM)。對B組估計出一組Y3的值,對C將利用 Y1,Y2,Y3它們的聯合分佈為正態分佈這一前提,估計出一組(Y1,Y2)。

  上例中假定了Y1,Y2,Y3的聯合分佈為正態分佈。這個假設是人為的,但是已經通過驗證(Graham和Schafer於1999),非正態聯合分佈的變數,在這個假定下仍然可以估計到很接近真實值的結果。

  多重插補和貝葉斯估計的思想是一致的,但是多重插補彌補了貝葉斯估計的幾個不足。

  (1)貝葉斯估計以極大似然的方法估計,極大似然的方法要求模型的形式必須準確,如果參數形式不正確,將得到錯誤得結論,即先驗分佈將影響後驗分佈的準確性。而多重插補所依據的是大樣本漸近完整的數據的理論,在數據挖掘中的數據量都很大,先驗分佈將極小的影響結果,所以先驗分佈的對結果的影響不大。

  (2)貝葉斯估計僅要求知道未知參數的先驗分佈,沒有利用與參數的關係。而多重插補對參數的聯合分佈作出了估計,利用了參數間的相互關係。

  以上四種插補方法,對於缺失值的類型為隨機缺失的插補有很好的效果。兩種均值插補方法是最容易實現的,也是以前人們經常使用的,但是它對樣本存在極大的干擾,尤其是當插補後的值作為解釋變數進行回歸時,參數的估計值與真實值的偏差很大。相比較而言,極大似然估計和多重插補是兩種比較好的插補方法,與多重插補對比,極大似然缺少不確定成分,所以越來越多的人傾向於使用多值插補方法。