黃 鉉
電子科技大學成都學院微電子系,四川成都 610097
基于EM算法數(shù)據(jù)單變量缺失處理方法研究
黃 鉉
電子科技大學成都學院微電子系,四川成都 610097
數(shù)據(jù)分析方法大都針對完整數(shù)據(jù),而實際上由于一些原因,觀測數(shù)據(jù)常存在缺失。本文采用EM算法對正態(tài)分布下的隨機缺失數(shù)據(jù)的參數(shù)進行估計。實驗結果表明EM算法對正態(tài)分布下的單變量缺失數(shù)據(jù)有效果,但缺失數(shù)據(jù)比例過大時該方法處理欠佳,對大比例變量缺失的情況有待研究。
EM;缺失數(shù)據(jù);正態(tài)分布
近年來數(shù)據(jù)庫及計算機技術的發(fā)展推動了數(shù)據(jù)挖掘技術廣泛地應用于各個領域。目前,對數(shù)據(jù)進行處理的各種數(shù)據(jù)挖掘方法幾乎都是以假設數(shù)據(jù)完整為前提條件。然而實際情況是數(shù)據(jù)庫里的數(shù)據(jù)往往不完整,數(shù)據(jù)缺失的情況時常發(fā)生。引起數(shù)據(jù)缺失的原因很多,比如:傳感器故障、數(shù)據(jù)傳輸中斷、監(jiān)測方式改變又或者人為因素等。如果直接對包含缺失數(shù)據(jù)的數(shù)據(jù)集進行分析,結果會產(chǎn)生偏差會直接影響到后續(xù)的決策,因此對數(shù)據(jù)進行分析前對缺失數(shù)據(jù)的處理尤為重要。
目前國內(nèi)外學者針對缺失數(shù)據(jù)的研究很多,也取得了一定的成果。其中,Rubin(1976)將缺失機制分為三類:完全隨機缺失(MCAR)是指變量出現(xiàn)缺失值的可能性與模型中其他變量無關,與該變量自身也無關,完全隨機缺失機制中缺失數(shù)據(jù)的分布與完整數(shù)據(jù)分布一致。隨機缺失(MAR)是指變量出現(xiàn)缺失值的可能性與模型中某些觀測變量有關而與該變量自身無關。對于隨機缺失機制,缺失數(shù)據(jù)可以通過完整數(shù)據(jù)來估計。非隨機缺失(MNAR)是指變量的缺失值僅與自身相關。單變量缺失是指數(shù)據(jù)集中只有某個變量出現(xiàn)信息不完整的情況,此時對缺失值處理首要考慮數(shù)據(jù)缺失機制,不同的缺失機制有不同的處理方法。比如成列刪除或者成對刪除的方法,如果數(shù)據(jù)為MCAR,減少的樣本其實是原樣本的一個隨機樣本,因此刪除后對剩下的數(shù)據(jù)進行處理是無偏差的;但如果數(shù)據(jù)為MAR,那么這種處理方法則會產(chǎn)生有偏差的估計值。 本文主要研究數(shù)據(jù)單變量隨機缺失的情況。
單變量缺失處理方法
假設從樣本集中隨機抽取m個獨立樣本:(X(1),X(2),…,X(m)),每個樣本之間獨立。對于每個樣本Z(i)為其隱含變量,要估計P(X,Z)的參數(shù)θ。
EM(Expectation-maximization)算法有兩步E步和M步,其中E步在觀測數(shù)據(jù)和現(xiàn)有條件下求缺失數(shù)據(jù)的期望,假設迭代的初始值為0θ,第一次迭代E步就是在觀測數(shù)據(jù)和0θ下求完整數(shù)據(jù)的似然函數(shù)的期望,在已知
0θ時估計參數(shù)可以通過似然函數(shù)
求得,其中P(θ|Xobs) 表示未知參數(shù)θ的后驗分布,P(θ|Xobs, Xmis)表示未知參數(shù)θ在完整數(shù)據(jù)下的后驗分布。
M步中將E步中求的缺失數(shù)據(jù)的期望極大化,θ?(1)=argmax L(1)(θ|θ(0));這就是第1次迭代后通過的第2次參數(shù)θ的初始估計值。上兩步完成一次迭代。經(jīng)過反復迭代,直到估計結果收斂為止。這就得到了θ的ML似然估計。
假設觀測數(shù)據(jù)X=(X(1),X(2),…,X(m))服從正態(tài)分布,密度函數(shù)為:,需要估計正態(tài)分布的參數(shù)(μ,σ)
缺失數(shù)據(jù)Xmis在觀測數(shù)據(jù)Xobs及參數(shù)下的條件概率密度為:,式中iμ,iσ為第i次迭代的參數(shù)值。
因此可通過EM算法的E步計算得到完整數(shù)據(jù)似然函數(shù)的期望為:
M步將L(i+1)(θ|θi)最大化得到θi+1,對上式分別求μi和σi的偏導數(shù)并令其為0 可得到第i次迭代后參數(shù)的估計值。重復E步和M步直到且時迭代結束,便可以求得缺失數(shù)據(jù)下未知參數(shù)的最佳估計值:
用MATLAB隨機產(chǎn)生兩組服從正態(tài)分布的數(shù)據(jù)各有100個,其中,σ=5。分別模擬變量10%,20%,30%和40%的數(shù)據(jù)缺失的情況。采用EM算法迭代20次和直接忽略缺失數(shù)據(jù)的方法對數(shù)據(jù)的參數(shù)進行估計:
缺失比例μ? σ? μ?均方差σ?均方差10% 9.615567665 9.7716977885.1789556875.0789785640.0032853330.00244612820%9.805265135 10.018890355.3107016135.1634236120.0041123250.00284322330%10.19595857 10.021000305.4114748085.3208076280.0134243710.00483612140%10.50903115 10.849680605.6474614935.6275326420.0354124730.021248317
結論:
實驗結果表明采用EM算法對不完整的數(shù)據(jù)進行處理可以用已知數(shù)據(jù)的條件期望代替缺失數(shù)據(jù)。通過比較可見EM方法對缺失數(shù)據(jù)處理比不考慮缺失數(shù)據(jù)直接進行計算精度高,因而這種方法處理缺失數(shù)據(jù)是有效果的,但通過不同缺失值得情況對比分析,對于正態(tài)分布數(shù)據(jù),當缺失數(shù)據(jù)比例低于30%時EM方法處理效果良好,當缺失數(shù)據(jù)比例不斷增大缺失數(shù)據(jù)較多的時候,對缺失數(shù)據(jù)參數(shù)估計效果欠佳。EM方法可以達到收斂到后驗密度函數(shù)的穩(wěn)定點,但不保證結果是收斂到極大值點;另外初始值的選擇對結果有一定影響,不同的初始值得到不同的估計結果,因此選擇不同的初始值進行迭代可以減輕初值對結果的影響。如果增大數(shù)據(jù)個數(shù)EM算法估算精度會提高,同時也會造成計算復雜度提高,需要更多次迭代才能收斂,因此這種方法對大數(shù)據(jù)處理不適用。
[1]Paul D. Allison 缺失數(shù)據(jù).格致出版社.
[2]龐新生.缺失數(shù)據(jù)處理中相關問題的探討[J].統(tǒng)計與信息論壇,2004,19(5):29-32.
[3]胡玄子.數(shù)據(jù)處理中缺失數(shù)據(jù)填充方法的研究[J].湖北工業(yè)大學學報,2013,28(5):82-84.
[4]呂王勇.基于EM算法的對數(shù)正態(tài)分布參數(shù)估計[J].理論新探,2007(6):21-23.
[5]陳曉林,汪四水.一類混合正態(tài)分布參數(shù)估計的EM算法和數(shù)據(jù)擴張[J].蘇州大學學報,2007,23(3).
TP39
A
1674-6708(2015)149-0153-02