缺失值處理

1. 刪除

主要有簡單刪除法和權(quán)重法。簡單刪除法是對缺失值進(jìn)行處理的最原始方法。

(1) 簡單刪除法

此方法將存在缺失值的數(shù)據(jù)條目(對象,元組,記錄)進(jìn)行刪除。這種方法簡單易行,在對象有多個屬性缺失值、被刪除的含缺失值的對象與信息表中的數(shù)據(jù)量相比非常小的情況下是非常有效的。然而,這種方法卻有很大的局限性。它是以減少歷史數(shù)據(jù)來換取信息的完備,會造成資源的大量浪費,丟棄了大量隱藏在這些對象中的信息。在信息表中本來包含的對象很少的情況下,刪除少量對象就足以嚴(yán)重影響到信息表信息的客觀性和結(jié)果的正確性;當(dāng)每個屬性空值的百分比變化很大時,它的性能非常差。

(2) 權(quán)重法

當(dāng)缺失值的類型為非完全隨機缺失的時候,可以通過對完整的數(shù)據(jù)加權(quán)來減小偏差。把數(shù)據(jù)不完全的個案標(biāo)記后,將完整的數(shù)據(jù)個案賦予不同的權(quán)重,個案的權(quán)重可以通過logisticprobit回歸求得。如果解釋變量中存在對權(quán)重估計起決定行因素的變量,那么這種方法可以有效減小偏差。如果解釋變量和權(quán)重并不相關(guān),它并不能減小偏差。對于存在多個屬性缺失的情況,就需要對不同屬性的缺失組合賦不同的權(quán)重,這將大大增加計算的難度,降低預(yù)測的準(zhǔn)確性,這時權(quán)重法并不理想。

2. 填補

這類方法是用一定的值去填充空值,從而使信息表完備化。通?;诮y(tǒng)計學(xué)原理,根據(jù)決策表中其余對象取值的分布情況來對一個空值進(jìn)行填充,譬如用其余屬性的平均值來進(jìn)行補充等。數(shù)據(jù)挖掘中常用的有以下幾種補齊方法:

(1) 人工填寫(filling manually)

由于最了解數(shù)據(jù)的還是用戶自己,因此這個方法產(chǎn)生數(shù)據(jù)偏離最小,可能是填充效果最好的一種。然而一般來說,該方法很費時,當(dāng)數(shù)據(jù)規(guī)模很大、空值很多的時候,該方法是不可行的。

(2) 特殊值填充(Treating Missing Attribute values as Special values)

將空值作為一種特殊的屬性值來處理,它不同于其他的任何屬性值。如所有的空值都用“unknown”填充。這樣將形成另一個有趣的概念,可能導(dǎo)致嚴(yán)重的數(shù)據(jù)偏離,一般不推薦使用。

(3) 均值填充(Mean/Mode Completer)

將信息表中的屬性分為數(shù)值屬性和非數(shù)值屬性來分別進(jìn)行處理。如果空值是數(shù)值型的,就根據(jù)該屬性在其他所有對象的取值的平均值來填充該缺失的屬性值;如果空值是非數(shù)值型的,就根據(jù)統(tǒng)計學(xué)中的眾數(shù)原理,用該屬性在其他所有對象的取值次數(shù)最多的值(即出現(xiàn)頻率最高的值)來補齊該缺失的屬性值。另外有一種與其相似的方法叫條件平均值填充法(Conditional Mean Completer)。在該方法中,缺失屬性值的補齊同樣是靠該屬性在其他對象中的取值求平均得到,但不同的是用于求平均的值并不是從信息表所有對象中取,而是從與該對象具有相同決策屬性值的對象中取得。這兩種數(shù)據(jù)的補齊方法,其基本的出發(fā)點都是一樣的,以最大概率可能的取值來補充缺失的屬性值,只是在具體方法上有一點不同。與其他方法相比,它是用現(xiàn)存數(shù)據(jù)的多數(shù)信息來推測缺失值。

(4) 熱卡填充(Hot deck imputation,或就近補齊)

對于一個包含空值的對象,熱卡填充法在完整數(shù)據(jù)中找到一個與它最相似的對象,然后用這個相似對象的值來進(jìn)行填充。不同的問題可能會選用不同的標(biāo)準(zhǔn)來對相似進(jìn)行判定。該方法概念上很簡單,且利用了數(shù)據(jù)間的關(guān)系來進(jìn)行空值估計。這個方法的缺點在于難以定義相似標(biāo)準(zhǔn),主觀因素較多。

(5) 聚類填充(clustering imputation)

最為典型的代表是K最近距離鄰法(K-means clustering),先根據(jù)歐式距離或相關(guān)分析來確定距離具有缺失數(shù)據(jù)樣本最近的K個樣本,將這K個值加權(quán)平均來估計該樣本的缺失數(shù)據(jù)。同均值插補的方法都屬于單值插補,不同的是,它用層次聚類模型預(yù)測缺失變量的類型,再以該類型的均值插補。假設(shè)X=(X1,X2…Xp)為信息完全的變量,Y為存在缺失值的變量,那么首先對X或其子集行聚類,然后按缺失個案所屬類來插補不同類的均值。如果在以后統(tǒng)計分析中還需以引入的解釋變量和Y做分析,那么這種插補方法將在模型中引入自相關(guān),給分析造成障礙。

(6) 使用所有可能的值填充(Assigning All Possible values of the Attribute)

這種方法是用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是,當(dāng)數(shù)據(jù)量很大或者遺漏的屬性值較多時,其計算的代價很大,可能的測試方案很多。另有一種方法,填補遺漏屬性值的原則是一樣的,不同的只是從決策相同的對象中嘗試所有的屬性值的可能情況,而不是根據(jù)信息表中所有對象進(jìn)行嘗試,這樣能夠在一定程度上減小原方法的代價。

(7) 組合完整化方法(Combinatorial Completer)

這種方法是用空缺屬性值的所有可能的屬性取值來試,并從最終屬性的約簡結(jié)果中選擇最好的一個作為填補的屬性值。這是以約簡為目的的數(shù)據(jù)補齊方法,能夠得到好的約簡結(jié)果;但是,當(dāng)數(shù)據(jù)量很大或者遺漏的屬性值較多時,其計算的代價很大。另一種稱為條件組合完整化方法(Conditional Combinatorial Complete),填補遺漏屬性值的原則是一樣的,不同的只是從決策相同的對象中嘗試所有的屬性值的可能情況,而不是根據(jù)信息表中所有對象進(jìn)行嘗試。條件組合完整化方法能夠在一定程度上減小組合完整化方法的代價。在信息表包含不完整數(shù)據(jù)較多的情況下,可能的測試方案將巨增。

(8) 回歸(Regression)

基于完整的數(shù)據(jù)集,建立回歸方程(模型)。對于包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值來進(jìn)行填充。當(dāng)變量不是線性相關(guān)或預(yù)測變量高度相關(guān)時會導(dǎo)致有偏差的估計。

(9) 極大似然估計(Max Likelihood ,ML)

在缺失類型為隨機缺失的條件下,假設(shè)模型對于完整的樣本是正確的,那么通過觀測數(shù)據(jù)的邊際分布可以對未知參數(shù)進(jìn)行極大似然估計(Little and Rubin)。這種方法也被稱為忽略缺失值的極大似然估計,對于極大似然的參數(shù)估計實際中常采用的計算方法是期望值最大化(Expectation Maximization,EM)。該方法比刪除個案和單值插補更有吸引力,它一個重要前提:適用于大樣本。有效樣本的數(shù)量足夠以保證ML估計值是漸近無偏的并服從正態(tài)分布。但是這種方法可能會陷入局部極值,收斂速度也不是很快,并且計算很復(fù)雜。

(10) 多重插補(Multiple Imputation,MI)

多值插補的思想來源于貝葉斯估計,認(rèn)為待插補的值是隨機的,它的值來自于已觀測到的值。具體實踐上通常是估計出待插補的值,然后再加上不同的噪聲,形成多組可選插補值。根據(jù)某種選擇依據(jù),選取最合適的插補值。多重插補方法分為三個步驟:①為每個空值產(chǎn)生一套可能的插補值,這些值反映了無響應(yīng)模型的不確定性;每個值都可以被用來插補數(shù)據(jù)集中的缺失值,產(chǎn)生若干個完整數(shù)據(jù)集合。②每個插補數(shù)據(jù)集合都用針對完整數(shù)據(jù)集的統(tǒng)計方法進(jìn)行統(tǒng)計分析。③對來自各個插補數(shù)據(jù)集的結(jié)果,根據(jù)評分函數(shù)進(jìn)行選擇,產(chǎn)生最終的插補值。?

多重插補和貝葉斯估計的思想是一致的,但是多重插補彌補了貝葉斯估計的幾個不足。第一,貝葉斯估計以極大似然的方法估計,極大似然的方法要求模型的形式必須準(zhǔn)確,如果參數(shù)形式不正確,將得到錯誤得結(jié)論,即先驗分布將影響后驗分布的準(zhǔn)確性。而多重插補所依據(jù)的是大樣本漸近完整的數(shù)據(jù)的理論,在數(shù)據(jù)挖掘中的數(shù)據(jù)量都很大,先驗分布將極小的影響結(jié)果,所以先驗分布的對結(jié)果的影響不大。第二,貝葉斯估計僅要求知道未知參數(shù)的先驗分布,沒有利用與參數(shù)的關(guān)系。而多重插補對參數(shù)的聯(lián)合分布作出了估計,利用了參數(shù)間的相互關(guān)系。?

同時,多重插補保持了單一插補的兩個基本優(yōu)點,即應(yīng)用完全數(shù)據(jù)分析方法和融合數(shù)據(jù)收集者知識的能力。相對于單一插補,多重插補有三個極其重要的優(yōu)點:第一,為表現(xiàn)數(shù)據(jù)分布,隨機抽取進(jìn)行插補,增加了估計的有效性。第二,當(dāng)多重插補是在某個模型下的隨機抽樣時,按一種直接方式簡單融合完全數(shù)據(jù)推斷得出有效推斷,即它反映了在該模型下由缺失值導(dǎo)致的附加變異。第三,在多個模型下通過隨機抽取進(jìn)行插補,簡單地應(yīng)用完全數(shù)據(jù)方法,可以對無回答的不同模型下推斷的敏感性進(jìn)行直接研究。?

多重插補也有以下缺點:①生成多重插補比單一插補需要更多工作;②貯存多重插補數(shù)據(jù)集需要更多存儲空間;③分析多重插補數(shù)據(jù)集比單一插補需要花費更多精力。

3. 不處理

直接在包含空值的數(shù)據(jù)上進(jìn)行數(shù)據(jù)挖掘。這類方法包括貝葉斯網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)等。?

貝葉斯網(wǎng)絡(luò)是用來表示變量間連接概率的圖形模式,它提供了一種自然的表示因果信息的方法,用來發(fā)現(xiàn)數(shù)據(jù)間的潛在關(guān)系。在這個網(wǎng)絡(luò)中,用節(jié)點表示變量,有向邊表示變量間的依賴關(guān)系。貝葉斯網(wǎng)絡(luò)僅適合于對領(lǐng)域知識具有一定了解的情況,至少對變量間的依賴關(guān)系較清楚的情況。否則直接從數(shù)據(jù)中學(xué)習(xí)貝葉斯網(wǎng)的結(jié)構(gòu)不但復(fù)雜性較高(隨著變量的增加,指數(shù)級增加),網(wǎng)絡(luò)維護(hù)代價昂貴,而且它的估計參數(shù)較多,為系統(tǒng)帶來了高方差,影響了它的預(yù)測精度。當(dāng)在任何一個對象中的缺失值數(shù)量很大時,存在指數(shù)爆炸的危險。?

人工神經(jīng)網(wǎng)絡(luò)可以有效的對付空值,但人工神經(jīng)網(wǎng)絡(luò)在這方面的研究還有待進(jìn)一步深入展開。人工神經(jīng)網(wǎng)絡(luò)方法在數(shù)據(jù)挖掘應(yīng)用中的局限性

4. 總結(jié)

部分方法的優(yōu)缺點及適用環(huán)境如下:?


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


參考

https://blog.csdn.net/w352986331qq/article/details/78639233

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容