王 怡,周 力
(東華大學(xué) 旭日工商管理學(xué)院,上海 200051)
目前國內(nèi)廣泛接受的對(duì)于數(shù)據(jù)倉庫缺失值處理方法有6種處理缺失值的方法:
(1)忽略元組:當(dāng)缺少類標(biāo)號(hào)時(shí)通常這樣做(假定挖掘任務(wù)涉及分類)。除非元組有多個(gè)屬性缺少值,否則該方法不是很有效。當(dāng)每個(gè)屬性缺少值的百分比變化很大時(shí),它的性能特別差。
(2)人工填寫缺失值:一般,該方法很費(fèi)時(shí),并且當(dāng)數(shù)據(jù)集很大,缺少很多值時(shí),該方法可能行不通。
(3)使用一個(gè)全局常量填充缺失值:將缺失的屬性值用同一個(gè)常數(shù) (如 “Unknown”或-∞)替換。如果缺失值都用“Unknown”替換,則挖掘程序可能誤以為它們形成了一個(gè)有等趣的概念,因?yàn)樗鼈兌季哂邢嗤闹怠癠nknown”。因此,盡管該方法簡(jiǎn)單,但是它并不十分可靠。
(4)使用屬性的均值填充缺失值。
(5)使用與給定元組屬同一類的所有樣本的屬性均值。
(6)使用最可能的值填充空缺值:可以用回歸、基于推導(dǎo)的使用貝葉斯形式化方法或判定書歸納確定。
方法3~6由于沒有使用總體的信息,可能致使數(shù)據(jù)偏置,不能正確的反映數(shù)據(jù)總體情況。另外,雖然方法6目前最為常用,因?yàn)榕c其他方法相比,它使用現(xiàn)存數(shù)據(jù)的多數(shù)信息來推測(cè)空缺值,如果所有有關(guān)系的值均缺失,無法根據(jù)現(xiàn)有值產(chǎn)生其他值的情況,方法6也就失效了。因此可以說目前提出的方法并不能很好的解決數(shù)據(jù)缺失的問題。
總而言之,雖然目前已經(jīng)提出了一些應(yīng)用于數(shù)據(jù)預(yù)處理的方法,但是在對(duì)缺失數(shù)據(jù)進(jìn)行處理的問題上都沒有理想的解決辦法。因而本文將對(duì)以上兩個(gè)問題的解決進(jìn)行探討,下面就對(duì)研究思路和研究?jī)?nèi)容進(jìn)行詳細(xì)闡述。
Gibbs抽樣是一種潛在應(yīng)用非常廣泛的仿真工具,1990年該工具發(fā)表后立即得到了廣泛的響應(yīng)。Gibbs抽樣表現(xiàn)為一個(gè)Markov鏈形式的Monte Carlo方法,其良好的性質(zhì)可用于許多隨機(jī)系統(tǒng)的分析、多元分布的隨機(jī)數(shù)產(chǎn)生。下面介紹Gibbs抽樣的基本原理。
假設(shè)X,Y等大寫字母表示隨機(jī)變量或隨機(jī)向量;[X], [Y]則代表其相應(yīng)的概率分布;[X|Y],[Y|X]表示條件分布。
Step 1任意選取X的一個(gè)可能取值點(diǎn)x1,根據(jù)[Y|X=x1]產(chǎn)生隨機(jī)數(shù)y1,隨機(jī)數(shù)對(duì)(x1,y1)成為隨機(jī)點(diǎn)列{(x,y)n}中第一個(gè)點(diǎn);
Step 2根據(jù)[X|Y=y1]產(chǎn)生隨機(jī)數(shù)x2,根據(jù)[Y|X=x2]產(chǎn)生隨機(jī)數(shù)y2,隨機(jī)數(shù)對(duì)(x2,y2)成為隨機(jī)點(diǎn)列{(x,y)n}中第二個(gè)點(diǎn);
Step 3重復(fù)以上過程n次,我們即能得到所需要的隨機(jī)點(diǎn)列{(x,y)n}。
推廣到一般情況,如果條件分布
需要強(qiáng)調(diào)的是,Gibbs抽樣的先決條件是部分特定條件分布已知,稱為“條件分布充足條件”即FCDC,也就是上面提到的二元情況中的[X|Y]和[Y|X],以及一般情況中的,[X1,X2,…,Xk],[X2,X1,X3,…,Xk],…,[Xk,X1,…,Xk-1]。
(1)數(shù)據(jù)準(zhǔn)備
以某項(xiàng)統(tǒng)計(jì)調(diào)查學(xué)生基本信息的數(shù)據(jù)作為原始數(shù)據(jù),該數(shù)據(jù)共有300條記錄。選擇其中學(xué)生的性別和家庭情況兩列作為Gibbs抽樣仿真中的兩個(gè)變量,這兩列的數(shù)據(jù)是離散的,性別中1代表女生,0代表男生。而家庭條件中1代表單親家庭,2代表他人照顧,3代表雙親家庭。
將后150條記錄的數(shù)據(jù)去除,造成全數(shù)據(jù)缺失的情況。去除的數(shù)據(jù)仍需保存,以便在使用Gibbs抽樣后對(duì)數(shù)據(jù)的模擬情況進(jìn)行評(píng)價(jià)。
(2)獲得條件分布
對(duì)信息完整的前150條記錄進(jìn)行統(tǒng)計(jì),利用所得到的統(tǒng)計(jì)數(shù)據(jù)建立條件分布充足條件FCDC,統(tǒng)計(jì)數(shù)據(jù)見表1。
根據(jù)表1的數(shù)據(jù)我們可以看出,在已知家庭情況的條件下,性別服從貝努里分布,即[性別|家庭情況]~Bernoulli。
表1 [家庭情況|性別]條件分布概率
表2 [性別|家庭情況]條件分布概率
表2說明在已知性別的條件下,家庭情況服從三項(xiàng)的離散分布,F(xiàn)CDC條件具備。
(3)仿真數(shù)據(jù)生成
這里我們使用Excel來實(shí)現(xiàn)Gibbs抽樣仿真。首先使用rand()命令產(chǎn)生隨機(jī)數(shù)數(shù)列。在Excel中,rand()產(chǎn)生的是0到1之間均勻分布的隨機(jī)數(shù),因而所產(chǎn)生的隨機(jī)數(shù)小于0.6的概率就是0.6。
根據(jù)性別產(chǎn)生家庭情況仿真數(shù)據(jù)所使用的命令語句形式如下
=IF(E2=0,IF(D3<0.48,1,IF(D3<0.6667,2,3)),IF(D3<0.4267,1,IF(D3<0.6,2,3)))
而根據(jù)家庭情況產(chǎn)生性別仿真數(shù)據(jù)所使用的命令語句為
=IF(F3=1,IF(C3<0.5294,0,1),(IF(F3=2,IF(C3<0.5185,0,1), IF(C3<0.4545,0,1))))
(4)仿真結(jié)果評(píng)價(jià)
仿真數(shù)據(jù)生成好后,需評(píng)價(jià)仿真效果以證明抽樣的優(yōu)越性。統(tǒng)計(jì)情況表3所示。
使用Excel的單因素方差分析,顯示結(jié)果如表5表6所示。
在表5中,由于F=7.708647<F0.05(1,4)=7.71,所以接受兩組無差異的原假設(shè),說明在家庭情況屬性中,原數(shù)據(jù)與仿真數(shù)據(jù)無顯著性差異。
表3 原數(shù)據(jù)與仿真數(shù)據(jù)對(duì)比表(家庭情況)
表4 原數(shù)據(jù)與仿真數(shù)據(jù)對(duì)比表(性別)
表5 單因素方差分析表顯示結(jié)果(家庭情況)
表6 單因素方差分析表顯示結(jié)果(性別)
在表6中,由于F=18.51282<F0.05(1,2)=18.52,所以也接受兩組無差異的原假設(shè),說明在性別屬性中,原數(shù)據(jù)與仿真數(shù)據(jù)無顯著性差異。
由此可見,使用Gibbs抽樣對(duì)缺失數(shù)據(jù)進(jìn)行仿真能獲得較好的效果。
本文提出了將Gibbs抽樣仿真應(yīng)用到缺失值處理中,改善了以往方法不能考慮總體情況的缺陷,在大樣本情況下,能夠很好地將已知的總體分布信息納入到對(duì)缺失值的處理當(dāng)中。
使用Gibbs抽樣進(jìn)行缺失值處理的優(yōu)勢(shì)在于以下幾點(diǎn)。
首先,Gibbs抽樣仿真能夠較為理想的處理全數(shù)據(jù)缺失的問題,當(dāng)有相關(guān)關(guān)系屬性內(nèi)數(shù)據(jù)全部缺失,同樣可以通過Gibbs抽樣對(duì)缺失數(shù)據(jù)進(jìn)行填充。這就將Gibbs抽樣仿真與傳統(tǒng)的回歸、貝葉斯推導(dǎo)等方法區(qū)分開來。
其次,Gibbs抽樣FCDC是根據(jù)存在的數(shù)據(jù)通過統(tǒng)計(jì)方法得到的,由于Gibbs抽樣本身所具有的良好性質(zhì),保證了所填充數(shù)據(jù)符合已存在數(shù)據(jù)的統(tǒng)計(jì)特性,從統(tǒng)計(jì)意義上而言具有一定的意義。這是Gibbs抽樣仿真與使用人工填寫、全局常量以及各類均值填充缺失值的區(qū)別所在。
另外,運(yùn)用Gibbs抽樣填充缺失數(shù)據(jù)是十分簡(jiǎn)單易行的。只要掌握缺失數(shù)據(jù)的屬性與其他屬性之間的條件分布,就能夠利用這些分布產(chǎn)生數(shù)據(jù)。所以當(dāng)已知的完整數(shù)據(jù)的數(shù)據(jù)量足夠大,能夠根據(jù)這些完整數(shù)據(jù)統(tǒng)計(jì)得到完整的條件分布,就能夠利用這樣的條件分布產(chǎn)生符合實(shí)際需要的數(shù)據(jù)。
當(dāng)然Gibbs抽樣作為一種仿真方法,最大的局限性在于仿真的基礎(chǔ)是完全建筑在為隨機(jī)數(shù)理論和計(jì)算機(jī)數(shù)系上的,偽隨機(jī)數(shù)理論的算法再好也不是真正隨機(jī)的,而計(jì)算機(jī)數(shù)系不但有限而且不完備。因而在使用Gibbs抽樣進(jìn)行仿真時(shí),需要注意這一點(diǎn)。
[1]Jiawei Han,Micheline Kamber.范明,孟小峰譯.數(shù)據(jù)挖掘——概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2007.
[2]Jerzy W.Grzymala-Busse,Ming Hu.A Comparison of Several Approachesto MissingAttribute Valuesin Data Mining[A]. Rough Sets and Current Trends in Computing[C].Berlin:Heidelberg,2001.
[3]Smith A F M,Roberts G O.Bayesian Computation via the Gibbs Sampler and Related Markov Chain Monte Carlo Methods[J]. Journal of the Royal statistical Society,1993,55.