于力超
(中央民族大學(xué) 理學(xué)院,北京 100081)
調(diào)查過(guò)程中常出現(xiàn)數(shù)據(jù)缺失,在這種情形下不能直接將含缺失值的個(gè)體信息全部刪除而只利用數(shù)據(jù)完全的樣本數(shù)據(jù),因?yàn)閿?shù)據(jù)缺失與否往往與該數(shù)據(jù)的具體值系統(tǒng)地相關(guān),比如關(guān)心的因變量是受訪者的年收入,高收入群體可能不愿意將自己的收入告知他人,這種情況造成的數(shù)據(jù)缺失就不能采用直接刪除法,否則會(huì)造成估計(jì)結(jié)果偏低。為此收集盡量多的協(xié)變量數(shù)據(jù)就很有意義。可以采用插補(bǔ)法(包括回歸插補(bǔ)法、近鄰插補(bǔ)法)或似然法(通過(guò)建立因變量、協(xié)變量和缺失指示變量的分布模型)[1]。在這些方法中,以往研究都假設(shè)協(xié)變量數(shù)據(jù)沒(méi)有缺失,回歸插補(bǔ)法通過(guò)有回答的樣本數(shù)據(jù)建立模型,代入因變量數(shù)據(jù)缺失樣本的協(xié)變量數(shù)據(jù)以估計(jì)因變量值。近鄰插補(bǔ)法通過(guò)定義距離函數(shù),考慮用與因變量缺失個(gè)體的協(xié)變量最相似有數(shù)據(jù)的個(gè)體因變量值插補(bǔ)。似然法則引入數(shù)據(jù)缺失機(jī)制,通過(guò)建模得到因變量與缺失指示變量的聯(lián)合分布,進(jìn)而得到參數(shù)的極大似然估計(jì)。
實(shí)際調(diào)查中,協(xié)變量缺失的情況也是非常常見(jiàn)的,例如出于隱私考慮不愿公布年齡或婚姻狀況,由于知識(shí)水平所限無(wú)法回答某些超出其知識(shí)范圍的問(wèn)題,也可能某些協(xié)變量收集難度大成本高,調(diào)查人員選擇只收集一部分受訪者的信息。協(xié)變量缺失時(shí)因變量可能沒(méi)有缺失,也可能協(xié)變量和因變量同時(shí)缺失,這就大大增加了協(xié)變量關(guān)于因變量回歸系數(shù)估計(jì)的難度。但目前國(guó)內(nèi)外關(guān)于協(xié)變量缺失情形下尤其是缺失機(jī)制是非隨機(jī)缺失時(shí)參數(shù)的估計(jì)方法研究還不多,Little(1992)[2]研究了回歸分析中缺失協(xié)變量的處理方法,但其研究局限于因變量與協(xié)變量之間滿足線性回歸關(guān)系,且假設(shè)因變量Y與協(xié)變量向量X的聯(lián)合分布為多元正態(tài)分布,Horton和Laird(1999)[3]研究了缺失機(jī)制為MAR的屬性協(xié)變量缺失問(wèn)題,通過(guò)建立廣義線性模型,用極大似然法進(jìn)行參數(shù)估計(jì),Michiels等(1999)[4]用選擇模型和模式混合模型建立似然函數(shù),用極大似然法估計(jì)屬性協(xié)變量數(shù)據(jù)缺失時(shí)的總體參數(shù)。在軟件功能日益強(qiáng)大的今天,數(shù)據(jù)擴(kuò)充算法、EM算法、Gibbs抽樣法等迭代算法應(yīng)用日益廣泛。SAS Proc MI可以采用多重插補(bǔ)法進(jìn)行協(xié)變量數(shù)據(jù)缺失情形下的參數(shù)估計(jì)。R有多個(gè)軟件包可以進(jìn)行缺失數(shù)據(jù)統(tǒng)計(jì)分析,ACD包可以在因變量數(shù)據(jù)缺失時(shí)進(jìn)行屬性數(shù)據(jù)分析,mvnmle包在因變量和協(xié)變量聯(lián)合分布為多元正態(tài)分布時(shí),進(jìn)行協(xié)變量數(shù)據(jù)缺失情形下的參數(shù)極大似然估計(jì),MICE包是R中目前最常用的用于缺失數(shù)據(jù)分析的軟件包,可以進(jìn)行多變量缺失數(shù)據(jù)的多重插補(bǔ),在多個(gè)協(xié)變量都可能存在缺失值時(shí),使用MICE包中的mice函數(shù),通過(guò)變量之間的關(guān)系預(yù)測(cè)缺失數(shù)據(jù),利用蒙特卡洛方法生成多個(gè)完整數(shù)據(jù)集存在imp中,再對(duì)imp進(jìn)行線性回歸,最后用pool函數(shù)對(duì)回歸結(jié)果進(jìn)行匯總。
本文嘗試引入以上統(tǒng)計(jì)計(jì)算方法,采用多重插補(bǔ)法、Bayes法和極大似然法,在缺失機(jī)制為MAR或NMAR情形下,估計(jì)調(diào)查數(shù)據(jù)中協(xié)變量數(shù)據(jù)缺失情形下,協(xié)變量關(guān)于因變量影響大小的回歸系數(shù)。
設(shè)共有N個(gè)受訪者,因變量為Y,得到觀測(cè)值yi,i=1,...,N,其中可能有缺失值也可能沒(méi)有,同時(shí)對(duì)第i個(gè)受訪者,調(diào)查與yi相關(guān)的p維協(xié)變量Xi,Xi=(xi1,...,xip),Nxp 維協(xié)變量矩陣X=(X1,...,XN)',假設(shè) (Xi,yi),i=1,…,N獨(dú)立同分布。協(xié)變量含有缺失值的情形下,記第i個(gè)受訪者協(xié)變量的所有觀測(cè)值為Xobs,i,缺失值為Xmis,i,Xi=(Xobs,i,Xmis,i), ,記 Nxp 維協(xié)變量缺失指示變量矩陣r=(r1,...,rN)',若第i個(gè)受訪者的第k個(gè)協(xié)變量數(shù)據(jù)未缺失rik=1,否則rik=0。
本文考慮協(xié)變量數(shù)據(jù)缺失的情形,為表述簡(jiǎn)便,假設(shè)收集到的樣本數(shù)據(jù)中,因變量Y無(wú)缺失,協(xié)變量X有缺失(若Y也有缺失,則只需在迭代過(guò)程中增加一步:從Ymis,i關(guān)于(yobs,i,Xi)后驗(yàn)分布中抽取下一輪迭代的初值。除此沒(méi)有本質(zhì)上的差異)。此時(shí)定義的缺失機(jī)制與描述數(shù)據(jù)缺失與否與因變量數(shù)據(jù)之間的關(guān)系的常規(guī)定義不同,對(duì)于縱向缺失數(shù)據(jù),缺失數(shù)據(jù)機(jī)制可分為完全隨機(jī)缺失(MCAR)、隨機(jī)缺失(MAR)和非隨機(jī)缺失(NMAR),MCAR指變量數(shù)據(jù)缺失與否與變量的值無(wú)關(guān),這時(shí)候缺失數(shù)據(jù)集是總體數(shù)據(jù)集的一個(gè)簡(jiǎn)單隨機(jī)樣本,僅用觀測(cè)數(shù)據(jù)就可得總體參數(shù)的無(wú)偏估計(jì),協(xié)變量缺失時(shí)MAR指協(xié)變量是否缺失僅與已經(jīng)觀測(cè)到的協(xié)變量值有關(guān),即L,可見(jiàn)在給定Xobs,i時(shí),Xmis,i與ri獨(dú)立,即,可以忽略缺失值,僅用完全觀測(cè)數(shù)據(jù)對(duì)總體參數(shù)進(jìn)行估計(jì),這就是MAR被稱(chēng)為可忽略缺失機(jī)制的原因。
該方法將所有含缺失值的受訪者刪除,僅保留完全數(shù)據(jù)樣本進(jìn)行統(tǒng)計(jì)分析,這種方法僅當(dāng)缺失機(jī)制為MCAR時(shí)可以得到參數(shù)無(wú)偏估計(jì),缺失機(jī)制為MAR或NMAR時(shí)得到的估計(jì)量有偏,若協(xié)變量數(shù)目較多,即使某受訪者只有一個(gè)協(xié)變量數(shù)據(jù)缺失,仍需要將其所有數(shù)據(jù)刪去,這樣可能導(dǎo)致可用的數(shù)據(jù)量不足,造成大量的信息浪費(fèi)。雖然這種方法經(jīng)常采用,但并不值得推薦。
該方法利用所有可利用的信息進(jìn)行參數(shù)估計(jì),若N個(gè)受訪者中,第k個(gè)協(xié)變量有觀測(cè)值的受訪者個(gè)數(shù)為Nk,則第k個(gè)協(xié)變量的期望μk就用這Nk個(gè)數(shù)據(jù)的均值估計(jì);若N個(gè)受訪者中,第j個(gè)和第k個(gè)協(xié)變量都有觀測(cè)值的受訪者個(gè)數(shù)為Njk,則第j個(gè)協(xié)變量和第k個(gè)協(xié)變量之間的協(xié)方差σjk用這Njk個(gè)受訪者的相應(yīng)觀測(cè)數(shù)據(jù)計(jì)算。但此時(shí)關(guān)于第
由上可見(jiàn),如何獲得協(xié)變量缺失值的插補(bǔ)值是關(guān)鍵,這就要求獲得后驗(yàn)分布:
具體地,若協(xié)變量X均為離散型,則:
分母中是對(duì)第i個(gè)受訪者所有缺失協(xié)變量的所有可能取值求和。若協(xié)變量均為連續(xù)型,則分母中求和號(hào)改為積分號(hào)。一般情況下,協(xié)變量既有離散型又有連續(xù)型,記第i個(gè)受訪者離散型協(xié)變量缺失值的所有可能取值集合為,連續(xù)型含缺失值協(xié)變量集合記為,缺失值的可能取值集合為Ω,則:
由式(3)可見(jiàn),為獲得插補(bǔ)值Xmis,i,需要獲得Xmis后驗(yàn)分布P(Xmis,i|Xobs,i,yi,γ)的參數(shù)γ,然后從該后驗(yàn)分布中抽取Xmis,i,獲得參數(shù)γ的方法有兩種:在軟件SAS Proc MI中,假設(shè)(Yi,Xobs,i,Xmis,i)服從多元正態(tài)分布,并假設(shè)協(xié)變量的缺失機(jī)制為MAR,由于MAR為可忽略缺失機(jī)制,可以?xún)H通過(guò)觀測(cè)的數(shù)據(jù)對(duì)總體參數(shù)進(jìn)行估計(jì),通過(guò)軟件可以得到P(Xmis,i|Xobs,i,yi,γ)中參數(shù)γ的極大似然估計(jì)?,代入Xmis,i的后驗(yàn)分布,然后從P(Xmis,i|Xobs,i,yi,?)中多次抽取Xmis,i,從而得到多個(gè)插補(bǔ)數(shù)據(jù)集進(jìn)行參數(shù)估計(jì)。但這種方法需要做總體服從多元正態(tài)分布的假定。i個(gè)受訪者第j個(gè)協(xié)變量和第k個(gè)協(xié)變量之間的p階相關(guān)矩陣不一定正定,若非正定,協(xié)變量X與因變量Y之間的回歸系數(shù)β將無(wú)法確定。
采用多重插補(bǔ)法進(jìn)行參數(shù)估計(jì)的基本步驟如下[5]:第一步:抽取符合缺失變量后驗(yàn)分布的插補(bǔ)值,重復(fù)進(jìn)行M次得到M個(gè)“完整”數(shù)據(jù)集;
第二步:對(duì)第m個(gè)插補(bǔ)后的“完整”數(shù)據(jù)集進(jìn)行參數(shù)估計(jì),記待估參數(shù)為γ,得到估計(jì)值γ?(m),其中m=1,…,M。第三步:參數(shù)估計(jì)為:
下面采用Gibbs抽樣獲得插補(bǔ)值的方法更加合理。
根據(jù)式(3),后驗(yàn)分布P(Xmis,i|Xobs,i,yi,γ)中的參數(shù)γ包括P(yi|Xi,β)中的參數(shù)β和Xi邊緣分布中的參數(shù)α,Gibbs抽樣分兩步進(jìn)行:
第一步:從觀測(cè)值(Yi,Xobs,i)已知時(shí)(β,α)的后驗(yàn)分布中抽取(β,α)參數(shù)值,由于已知觀測(cè)值時(shí)(β,α)的后驗(yàn)分布形式未知,實(shí)際操作中簡(jiǎn)便起見(jiàn)常取無(wú)信息分布(例如定義域上的均勻分布)作為(β,α)的后驗(yàn)分布。為了充分利用觀測(cè)值信息,建議通過(guò)數(shù)據(jù)擴(kuò)充算法(Data augmentation)[6]來(lái)實(shí)現(xiàn)對(duì) (β,α)的 Gibbs抽樣。數(shù)據(jù)擴(kuò)充算法基本思想體現(xiàn)在下面兩個(gè)式子中:
其中S(Xmis,i|Xobs,i,Yi)和S(γ|Xobs,i,Yi)分別為在給定觀測(cè)值條件下,協(xié)變量缺失值和參數(shù)分布的支撐集。綜合以上兩式,可以得到參數(shù)后驗(yàn)分布的迭代算法,設(shè)第k步迭代得到參數(shù)γ的后驗(yàn)分布為fk(γk|Xobs,i,Yi),則第 k+1步參數(shù)γ的后驗(yàn)分布為:
Tanner和Wong(1987)證明了在一定正則條件下,fk+1依分布收斂于參數(shù)的后驗(yàn)分布
根據(jù)以上兩式,本文建立了迭代算法:
首先,設(shè)定參數(shù)的初始值γ0開(kāi)始迭代,在第k步參數(shù)后驗(yàn)分布中抽取 m個(gè)參數(shù)值,對(duì)每
其次,將第k步的m個(gè)插補(bǔ)值代入數(shù)據(jù)集得到m個(gè)完整數(shù)據(jù)集(當(dāng)缺失機(jī)制為不可忽略時(shí),無(wú)法僅通過(guò)觀測(cè)值(Yi,Xobs,i)得到總體參數(shù)的后驗(yàn)分布,插補(bǔ)后通過(guò)完整數(shù)據(jù)集則可以得到參數(shù)的后驗(yàn)分布,這是數(shù)據(jù)擴(kuò)充算法的意義所在),通過(guò)這m個(gè)完整數(shù)據(jù)集下參數(shù)的后驗(yàn)分布可以得到第k+1步參數(shù)的后驗(yàn)分布:
如此迭代進(jìn)行,可以得到參數(shù)γ的后驗(yàn)分布中 取γ(r)代 入中 抽 取,如此重復(fù)進(jìn)行m次,得到m個(gè)完整數(shù)據(jù)集,進(jìn)而用對(duì)完整數(shù)據(jù)集用式(1)和式(2)進(jìn)行參數(shù)估計(jì)。
用Bayes法進(jìn)行缺失協(xié)變量情形下的參數(shù)估計(jì),基于觀測(cè)值(Yi,Xobs,i)估計(jì)P(yi|Xi,β) 中的回歸參數(shù)β和P(Xi|α)中的協(xié)變量分布參數(shù)α,設(shè)(α,β)的先驗(yàn)分布為p(α,β),損失函數(shù)為平方損失,則參數(shù)的Bayes估計(jì)為給定觀測(cè)值條件下參數(shù)的后驗(yàn)期望。參數(shù)的后驗(yàn)分布函數(shù):
其 中y=(y1,...,yN) ,Xobs=(Xobs,1,...,Xobs,N) ,Xmis=(Xmis,1,...,Xmis,N)。該后驗(yàn)分布函數(shù)不容易有顯示表達(dá)式,采用如下步驟獲得參數(shù)的Bayes估計(jì)。
第一步:確定參數(shù) (α,β)的聯(lián)合先驗(yàn)分布p(α,β),可以假設(shè)p(α,β)=p(α)p(β)即α,β的先驗(yàn)分布相互獨(dú)立,這樣可以對(duì)α和β分別假定先驗(yàn)分布(如定義域上的均勻分布或正態(tài)分布),在Gibbs抽樣時(shí)分別從兩個(gè)先驗(yàn)分布中抽取參數(shù)值,也可以假設(shè)p(α,β)≠p(α)p(β),這樣需要對(duì)(α,β)假設(shè)聯(lián)合先驗(yàn)分布,如二元正態(tài)分布或二維均勻分布,從中抽取參數(shù)值用于后續(xù)Gibbs抽樣。
第三步:Gibbs抽樣以獲取滿足后驗(yàn)分布p(α,β|y,Xobs)的樣本。抽樣方法如下:
①通過(guò)第一步抽取 (α0,β0);
② 根 據(jù) 式(4)從p(Xmis,i|yi,Xobs,i,α0,β0) 中 抽 取,從而獲得第i個(gè)受訪者的完整數(shù)據(jù)集Xmis,i);
③進(jìn)行第一次迭代,得到參數(shù)β后驗(yàn)分布p(β|yi,,從中抽取β1;
④獲得參數(shù)α的后驗(yàn)分布從中抽取α1,這樣就得到第一次迭代后的參數(shù)值(α1,β);
……
重復(fù)上面的迭代過(guò)程,直到(α,β)收斂,這樣就得到一組滿足后驗(yàn)分布為p(α,β|y,Xobs)的參數(shù)值,記為(α1,β1),重復(fù)m次這一迭代過(guò)程,得到m組參數(shù)值(αi,βi),i=1,...,m,參 數(shù) 的 Bayes估 計(jì) 量 可 以 用
以上方法假設(shè)協(xié)變量缺失機(jī)制為MAR,若缺失機(jī)制為NMAR,后驗(yàn)分布函數(shù)為:
可以容易地將上面的方法推廣到協(xié)變量缺失機(jī)制為NMAR的情形。
在協(xié)變量含缺失值的情形下,常采用EM算法[5]求參數(shù)的極大似然估計(jì),EM算法是一種迭代算法,每次迭代分兩步進(jìn)行。假設(shè)協(xié)變量的缺失機(jī)制為NMAR,首先設(shè)定參數(shù)的迭代初值γ(0)=(α(0),β(0),?(0)),設(shè)第 t步迭代后得到的參數(shù)估計(jì)值為γ(t)=(α(t),β(t),?(t)),第t+1步迭代(t≥0)如下:
E步:根據(jù)(yi,Xi,ri)的聯(lián)合分布p(yi,Xi,ri|α,β,?)=p(yi|Xi,β)p(Xi|α)p(ri|yi,Xi,?),寫(xiě)出對(duì)數(shù)似然函數(shù),其中我們最感興趣的參數(shù)是協(xié)變量與因變量之間的回歸系數(shù)β。
由于沒(méi)有Xmis,i的信息,需要將其通過(guò)積分或求和去除,寫(xiě)出給定觀測(cè)值條件下Xmis,i的密度函數(shù),求對(duì)數(shù)似然 函 數(shù) 關(guān) 于 該 條 件 密 度 的 期 望 ,即|Xobs,i,Yi,ri],當(dāng)缺失協(xié)變量為連續(xù)型變量時(shí):
若缺失協(xié)變量為離散型,積分換為對(duì)缺失協(xié)變量的所有可能值求和,條件分布p(Xmis,i|Xobs,i,yi,ri,γ(t))可以在式(4)基礎(chǔ)上將觀測(cè)值ri合并入無(wú)缺失觀測(cè)值yi,但這時(shí)顯式表達(dá)式不容易獲得,嘗試采用Gibbs抽樣的方法獲得缺失 協(xié) 變 量 數(shù) 據(jù) 集 ,具 體 地 ,,采用 Gibbs抽樣的迭代思想,在第 t步參數(shù)γ(t)=(α(t),β(t),?(t))已知的條件下,設(shè)Xmis,i為 p1維 向 量,Xobs,i為 p2維 向量,p1+p2=p,從中Gibbs抽樣,其中Xmis,ik為p1維向量Xmis,i的第k個(gè)分量。具體步驟如下:
對(duì)所有受訪者E得到的結(jié)果為:
一般情況下,我們主要關(guān)心的參數(shù)是反映協(xié)變量與因變量之間的關(guān)系的β,所以α和?為冗余參數(shù),只需對(duì)求最大值得到β(t+1),它是第t次迭代M步的解,也是第t+1次迭代E步的參數(shù)值。
本文通過(guò)一個(gè)模擬案例比較本文的三種方法(多重插補(bǔ)法、Bayes法、EM極大似然法)與只采用完整數(shù)據(jù)集(刪去含缺失數(shù)據(jù)的受訪者)進(jìn)行回歸分析的完全數(shù)據(jù)法之間的優(yōu)劣。設(shè)樣本量N=250,第i個(gè)個(gè)體因變量yi為0-1變量,協(xié)變量Xi=(Xi1,Xi2,Xi3),yi通過(guò)如下logistic模型獨(dú)立生成:
采用如下方式生成協(xié)變量值:
假設(shè)Xi1和Xi2無(wú)缺失值,Xi3的缺失機(jī)制如下:
可見(jiàn)協(xié)變量的缺失機(jī)制為MAR而非MCAR,使用完全數(shù)據(jù)法得到的參數(shù)估計(jì)有偏。采用上面的數(shù)據(jù)生成方法,得到1000組樣本量為250的模擬數(shù)據(jù)。在采用上述協(xié)變量數(shù)據(jù)缺失機(jī)制,得到1000組含缺失的模擬數(shù)據(jù)。用模擬生成的數(shù)據(jù)對(duì)模型(14)進(jìn)行參數(shù)估計(jì),看估計(jì)結(jié)果與本文設(shè)定的模型(13)之間的符合程度。
在用Bayes法時(shí),設(shè)先驗(yàn)分布為無(wú)信息先驗(yàn)π(β)∝1,在多重插補(bǔ)法中,設(shè)插補(bǔ)后得到M=5個(gè)完整數(shù)據(jù)集。為獲得基于模擬數(shù)據(jù)參數(shù)估計(jì)的標(biāo)準(zhǔn)差(SE)和均方誤差(MSE),對(duì)于多重插補(bǔ)法,采用式(2),對(duì)于EM極大似然法,采用Ibrahim等(1999)[7]的方法,對(duì)于Bayes法,根據(jù)上文所述,通過(guò)Gibbs抽樣,在Markov鏈 (αi,βi)收斂后得到m組 (αj,βj),j=1,...,m,取 m=20,可求的標(biāo)準(zhǔn)差和均方誤差。所得結(jié)果如表1所示。
表1 本文三種方法與完全數(shù)據(jù)法參數(shù)估計(jì)模擬結(jié)果比較
由以上模擬結(jié)果可見(jiàn),用完全數(shù)據(jù)法直接刪去協(xié)變量含缺失數(shù)據(jù)受訪者的所有數(shù)據(jù),僅用完全數(shù)據(jù)樣本得到的結(jié)果與初始模型(13)相比偏差較大,參數(shù)估計(jì)的標(biāo)準(zhǔn)差和均方誤差也明顯大于本文其他三種方法所得結(jié)果。所以不推薦使用完全數(shù)據(jù)法進(jìn)行參數(shù)估計(jì)。
采用多重插補(bǔ)法、Bayes法和EM極大似然法在協(xié)變量含缺失數(shù)據(jù)情形下進(jìn)行總體參數(shù)估計(jì)所得結(jié)果并無(wú)明顯優(yōu)劣之分,從無(wú)偏性和有效性的兩方面看都可以較好地估計(jì)總體參數(shù),可以根據(jù)實(shí)際情況選擇合適的方法進(jìn)行協(xié)變量數(shù)據(jù)缺失情形下的參數(shù)估計(jì)。
本文嘗試采用EM算法、Gibbs抽樣法和數(shù)據(jù)擴(kuò)充算法等統(tǒng)計(jì)計(jì)算方法,采用多重插補(bǔ)法、Bayes法和極大似然法,在缺失機(jī)制為MAR或NMAR情形下,估計(jì)調(diào)查數(shù)據(jù)中協(xié)變量數(shù)據(jù)缺失情形下,反映協(xié)變量X對(duì)因變量y影響大小的回歸系數(shù)。
研究可以進(jìn)一步推廣到協(xié)變量和因變量同時(shí)缺失的情形下定義缺失機(jī)制、建立似然模型并采用統(tǒng)計(jì)算法進(jìn)行回歸系數(shù)估計(jì)。還可以推廣到對(duì)多個(gè)體多時(shí)點(diǎn)縱向調(diào)查,在協(xié)變量缺失的情形下,引入統(tǒng)計(jì)算法,進(jìn)行回歸系數(shù)估計(jì)。