楊 弘 田 晶 王 可 張 青 韓清華△ 張巖波,3△
【提 要】 目的 針對混合型缺失數(shù)據(jù),使用幾種填補(bǔ)方法在缺失填補(bǔ)中的應(yīng)用并評價(jià)填補(bǔ)效果。方法 結(jié)合實(shí)際數(shù)據(jù),模擬出不同缺失比例(10%、20%、30%、50%),采用MissForest、因子分析(FAMD)、K-最近鄰填補(bǔ)法(KNN)和基于鏈?zhǔn)椒匠潭嘀夭逖a(bǔ)(MICE)四種方法進(jìn)行填補(bǔ);采用錯分類比例(PFC)、正則化均方根誤差(NRMSE)和回歸系數(shù)估計(jì)值比較填補(bǔ)效果。結(jié)果 FAMD與MissForest相比,對分類變量填補(bǔ)表現(xiàn)優(yōu)越。缺失比例是10%時,F(xiàn)AMD與MissForest表現(xiàn)優(yōu)于KNN和MICE;缺失比例是20%時FAMD明顯優(yōu)于其它三種方法,但是MissForest表現(xiàn)亦可;缺失比例是30%時,四種模型表現(xiàn)明顯下降,處理效果均不太理想;缺失比例是50%時,雖然FAMD仍有兩個變量符合優(yōu)良標(biāo)準(zhǔn),但對某些變量估計(jì)誤差較大,其它三種方法填補(bǔ)均失效。結(jié)論 FAMD填補(bǔ)方法總體表現(xiàn)較好,面對混合型缺失數(shù)據(jù)時可以考慮優(yōu)先選用。
數(shù)據(jù)缺失在很多醫(yī)學(xué)研究中是一個棘手的問題,在實(shí)際研究中,臨床指標(biāo)沒有完全檢測或有遺漏,缺失不可避免[1]。缺失會影響統(tǒng)計(jì)估計(jì)值的性質(zhì),如平均值、方差或百分比,導(dǎo)致估計(jì)效果降低和結(jié)論錯誤[2]。此外,許多傳統(tǒng)的分析方法都依賴于完整數(shù)據(jù)集,即不允許有缺失值。因此,缺失數(shù)據(jù)的填補(bǔ)往往是數(shù)據(jù)分析中不可避免的一步。隨著人們對缺失數(shù)據(jù)的深入研究,很多新的高效測量方法在缺失填補(bǔ)領(lǐng)域得到廣泛發(fā)展,不僅可以處理變量數(shù)量可能超過觀測值的高維多元數(shù)據(jù),而且可以處理同時存在連續(xù)變量和分類變量的混合型數(shù)據(jù)(mixed-type data)[3]。本文針對基于臨床診療數(shù)據(jù)中常見的混合型數(shù)據(jù),在隨機(jī)缺失(MAR)假設(shè)下采用MissForest、因子分析(factorial analysis for mixed data,FAMD)、K-最近鄰填補(bǔ)法(K nearest neighbors imputation,KNN)和基于參數(shù)調(diào)整的鏈?zhǔn)椒匠潭嘀夭逖a(bǔ)(multivariate imputation by chained equations,MICE)對完整心衰電子病歷數(shù)據(jù)進(jìn)行缺失模擬并進(jìn)行效果評價(jià),為混合型缺失數(shù)據(jù)的填補(bǔ)應(yīng)用提供依據(jù)。
對缺失值進(jìn)行填補(bǔ)要盡量讓填補(bǔ)值接近真實(shí)值,以避免對經(jīng)填補(bǔ)后的數(shù)據(jù)集分析時與原始數(shù)據(jù)集分析結(jié)果產(chǎn)生偏差。因此,本文選用以下四種在研究中表現(xiàn)較好的針對混合型缺失數(shù)據(jù)填補(bǔ)方法應(yīng)用于本研究。
1.MissForest 填補(bǔ)
缺失森林算法是基于隨機(jī)森林的一種迭代填補(bǔ)算法,2012年由Stekhoven 首次提出使用,通過對許多未修剪的分類樹或回歸樹進(jìn)行平均,構(gòu)成了一個多重填補(bǔ)方法[3]。其主要思想是假設(shè)一個數(shù)據(jù)X=(X1,X2,…,Xp) 是n×p維矩陣,僅使用數(shù)據(jù)集觀察部分訓(xùn)練隨機(jī)森林直接預(yù)測缺失值,該方法克服了傳統(tǒng)隨機(jī)森林要求響應(yīng)變量必須是完整的這一缺點(diǎn)。本文中對MissForest參數(shù)設(shè)定為:ntree=500,mtry=3。
缺失森林填補(bǔ)過程如下:
(1)使用均值填補(bǔ)對數(shù)據(jù)X中缺失值進(jìn)行初始預(yù)測;
(2)將變量XS,s=1,…,p依據(jù)缺失比例從小到大進(jìn)行排序,對沒有缺失的樣本進(jìn)行訓(xùn)練,并使用第一次擬合的隨機(jī)森林進(jìn)行填補(bǔ);
(3)將訓(xùn)練好的隨機(jī)森林應(yīng)用于缺失部分?jǐn)?shù)據(jù),對缺失值進(jìn)行預(yù)測得到一個填補(bǔ)矩陣;
(4)重復(fù)以上過程,直到滿足停止標(biāo)準(zhǔn),即新填補(bǔ)的數(shù)據(jù)矩陣與前一個矩陣之差首次增加時。
2.FMAD填補(bǔ)
因子分析(factorial analysis for mixed data,FAMD)是Audigier等人于2014年提出的一種專門針對混合數(shù)據(jù)進(jìn)行描述、總結(jié)和可視化的填補(bǔ)算法。其基于主成分分析法,它的目的是研究個體間的相似性與變量間的關(guān)系(主要是連續(xù)變量與分類變量),允許同時使用個體與變量間的關(guān)系來預(yù)測缺失值。FAMD的原則是平衡分析中連續(xù)變量和分類變量的影響,F(xiàn)AMD的原理是將分類變量轉(zhuǎn)化為虛擬變量,并與連續(xù)變量連接起來。對每個變量進(jìn)行加權(quán),并同時考慮到不同類型的變量以平衡每個變量的影響,使各種類型的變量對主成分的構(gòu)建都有同等貢獻(xiàn)[4]。
FAMD填補(bǔ)過程如下:
(1)數(shù)據(jù)初始化:使用平均值(連續(xù)變量)和比例(分類變量)進(jìn)行輸入。計(jì)算標(biāo)準(zhǔn)偏差和列邊距,從而計(jì)算連接矩陣的權(quán)重(連續(xù)變量和虛擬變量的指標(biāo)矩陣)。
(2)迭代直至收斂:(a)對完成執(zhí)行PCA加權(quán)數(shù)據(jù)矩陣進(jìn)行參數(shù)估計(jì)。(b)用S維數(shù)擬合值對缺失數(shù)據(jù)填補(bǔ)。(c)更新連續(xù)變量的均值、標(biāo)準(zhǔn)差和分類變量的列邊距。
3. KNN填補(bǔ)
本文中使用Troyanskaya等在2001年提出的KNNimpute算法,通過尋找離觀測值最近的K個變量,并對這K個變量取加權(quán)平均,得到填補(bǔ)缺失的值變量Xj。因此,權(quán)重取決于變量Xj的距離[5],本文中距離選擇為歐氏距離。為了比較不同類型的變量,我們將數(shù)據(jù)中分類變量編碼為{0,1}。由于選取不同K填補(bǔ)效果差異較大,我們通過試驗(yàn)最終確定K=5。
4. MICE填補(bǔ)
MICE多重填補(bǔ)是基于聯(lián)合建模(joint modeling,JM)和鏈?zhǔn)椒匠?fully conditional specification,FCS)[6]。其基本原理是假設(shè)完整數(shù)據(jù)X是從含m個變量的多變量分布P(Y|θ)中隨機(jī)抽取的觀測值,通過觀測數(shù)據(jù)的Gibbs迭代抽樣建立關(guān)于缺失變量θ的后驗(yàn)分布(填補(bǔ)方程),然后對每個缺失值多次填補(bǔ),最終綜合多個填補(bǔ)數(shù)據(jù)集做出最終的參數(shù)估計(jì)[6]。本文我們對MICE進(jìn)行5次填補(bǔ),對連續(xù)變量使用均值回歸,分類變量使用邏輯回歸。
1. 模擬思路
本文結(jié)合實(shí)際數(shù)據(jù),模擬含有4個變量(Y,X1,X2,X3)的混合型數(shù)據(jù)集。X1和X3為連續(xù)變量,X2為二分類變量;結(jié)局變量Y(二分類)由X1,X2,X3共同定義。將X2作為輔助變量設(shè)定數(shù)據(jù)的缺失機(jī)制為隨機(jī)缺失模式(MAR)。具體模擬過程如下。
X2依據(jù)有無高血壓史設(shè)定比例為P(X2=1)=0.6;
2. 模擬完整數(shù)據(jù)集與模型構(gòu)建
完整數(shù)據(jù)集均由Rstudio模擬獲得,設(shè)定觀察數(shù)為1000?;谕暾麛?shù)據(jù)集分別模擬缺失比例10%、20%、30%和50%的隨機(jī)缺失模式(MAR)數(shù)據(jù)集,在同一缺失數(shù)據(jù)上分別采用FAMD、MissForest、KNN和MICE法進(jìn)行填補(bǔ),將得到的完整數(shù)據(jù)集與原始完整數(shù)據(jù)集進(jìn)行比較,重復(fù)100次。
3. 評價(jià)指標(biāo)
本文中采用兩種指標(biāo)來綜合評價(jià)填補(bǔ)方法。對分類變量和連續(xù)性變量的模型評價(jià)分別采用錯分類比例(proportion of falsely classified,PFC)和正則化均方根誤差(normalized root mean squared error,NRMSE)[3]:
其中Xtrue是完整數(shù)據(jù)集矩陣,Ximp是填補(bǔ)后完整數(shù)據(jù)集矩陣。上述兩個指標(biāo)范圍均為(0,1),越接近0模型表現(xiàn)越好,越接近1則越差。
4. 模擬結(jié)果
由圖1我們可以看出,四種方法隨著缺失比例增大,對連續(xù)變量和分類變量填補(bǔ)誤差也逐漸增大。從NRMSE來看,缺失比例在10%~30%時,F(xiàn)AMD與MissForest填補(bǔ)誤差相差不大,兩種方法均優(yōu)于KNN和MICE;從PFC指標(biāo)看,缺失比例為10%時FAMD的填補(bǔ)誤差最小,相比其它三種方法優(yōu)勢明顯。20%~50%缺失比例中,F(xiàn)AMD略優(yōu)于另外三種方法。綜合分析結(jié)果,F(xiàn)AMD對混合型數(shù)據(jù)的填補(bǔ)效果最好,MICE填補(bǔ)效果最差。
圖1 不同缺失比例(10,20,30,50%)下四種方法(FAMD,MissForest,KNN,MICE)的NRMSE(上)和PFC(下)分布圖
1. 資料來源
在酶解時間、酶添加量和料液比均為上述試驗(yàn)中的最佳條件下,試驗(yàn)考察了酶解溫度對辣椒堿、辣椒二氫堿及辣椒紅色素含量的影響,試驗(yàn)結(jié)果見圖3中A。
本研究資料節(jié)選自山西醫(yī)科大學(xué)附屬第一醫(yī)院于2017年8月至2018年8月入院診斷為慢性心力衰竭的726名患者的部分電子病歷資料為完整數(shù)據(jù)。根據(jù)左心射血分?jǐn)?shù)的不同可分為射血分?jǐn)?shù)降低的心衰(HFeEF)和射血分?jǐn)?shù)保留的心衰(HFpEF),不同類型的心衰治療方式有所區(qū)別。經(jīng)共線性診斷,數(shù)據(jù)中各變量方差膨脹因子(VIF)均小于2,可以認(rèn)為共線性對本研究影響不大。基本情況見表1。
表1 完整數(shù)據(jù)各變量基本情況
2. 分析方法及評價(jià)標(biāo)準(zhǔn)
本研究采用前一種方式,對完整數(shù)據(jù)集構(gòu)造不同缺失比例(726×8個數(shù)據(jù)點(diǎn)中缺失10%,20%,30%,50%)的隨機(jī)缺失數(shù)據(jù),使用四種方法分別進(jìn)行填補(bǔ),每種試驗(yàn)?zāi)M10次。最后用填補(bǔ)后的數(shù)據(jù)與原始完整數(shù)據(jù)進(jìn)行比較,依據(jù)評價(jià)指標(biāo)來評價(jià)各填補(bǔ)方法效果。對于臨床電子病歷數(shù)據(jù)集,由于數(shù)據(jù)缺失的主要原因取決于數(shù)據(jù)收集中患者相關(guān)信息的可用性,缺失機(jī)制可視為隨機(jī)缺失模式(MAR)[7]。數(shù)據(jù)分析均采用Rstudio 1.1.4,使用“missForest”、“missMDA”,“VIM”和“MICE”包進(jìn)行填補(bǔ)。
為了評價(jià)填補(bǔ)數(shù)據(jù)的有效性[7],我們以射血分?jǐn)?shù)為因變量,其他變量為自變量建立二元logistic回歸對數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,對原始數(shù)據(jù)進(jìn)行建模,模型及各變量均有統(tǒng)計(jì)學(xué)意義。隨后使用填補(bǔ)后的數(shù)據(jù)建模,通過對比各變量回歸系數(shù)(β)及相對誤差(θ=(β2-β1)/β1×100%)來評價(jià)填補(bǔ)后數(shù)據(jù)的有效性。
評價(jià)等級分別為:優(yōu)(|θ|≤10%)、良(10%<|θ|≤20%)、中(20%<|θ|≤50%)和差(|θ|>50%)。評價(jià)標(biāo)準(zhǔn)為計(jì)算等級順位累加構(gòu)成比(優(yōu)+良),若構(gòu)成比相同則參考相對誤差的大小;若“差”則為填補(bǔ)失效。
1. 四種方法的NRMSE和PFC
NRMSE和PFC比較結(jié)果分別如圖2、圖3。單純比較NRMSE,我們可以看到MissForest與FAMD在4種缺失比例下差異均無統(tǒng)計(jì)學(xué)意義,說明對連續(xù)變量填補(bǔ)效果表現(xiàn)無幾,二者表現(xiàn)優(yōu)良。但是MICE表現(xiàn)較差,NRMSE比前兩者高將近10%。KNN表現(xiàn)居于中間。在分類誤差PFC上,F(xiàn)AMD表現(xiàn)最優(yōu);MissForest與KNN分類效果相差不大,MICE分類誤差最大。
圖2 不同缺失比例下四種填補(bǔ)模型的NRMSE
*:NRMSE為10次試驗(yàn)結(jié)果平均值;采用Wilcoxon配對t檢驗(yàn),F(xiàn)AMD(淺灰)、KNN(深灰)和MICE(白色)分別與MissForest(黑色)組進(jìn)行比較;‘*’P<0.05,‘**’P<0.01,‘***’P<0.001
圖3 不同缺失比例下四種填補(bǔ)模型的PFC
*:PFC為10次試驗(yàn)結(jié)果平均值;采用Wilcoxon配對t檢驗(yàn),F(xiàn)AMD(淺灰)、KNN(深灰)和MICE(白色)分別與MissForest(黑色)組進(jìn)行比較;‘*’P<0.05,‘**’P<0.01,‘***’P<0.001
2. 不同缺失比例下變量的回歸系數(shù)
建立二元logistic回歸,缺失率是10%,在8個變量中,MissForest填補(bǔ)后回歸系數(shù)符合優(yōu)和良的標(biāo)準(zhǔn)分別為 3,3;FAMD填補(bǔ)后符合的為4,2;KNN填補(bǔ)后符合的為3,2;MICE符合的為0,4。四種方法中MICE相對誤差與另外三種的相比較大,說明其填補(bǔ)后數(shù)據(jù)與真實(shí)數(shù)據(jù)相差較大。詳見表2。
當(dāng)缺失率是20%時,MissForest填補(bǔ)后符合回歸系數(shù)的優(yōu)良標(biāo)準(zhǔn)分別為2,1;FAMD分別為3和2;KNN分別為3,1;MICE分別為0,3。四種方法中除MissForest外,另外三種的填補(bǔ)符合優(yōu)良的計(jì)數(shù)與10%缺失率時的變化較小,說明MissForest隨著數(shù)據(jù)缺失的增加其填補(bǔ)效果不穩(wěn)定,與沈琳等人的結(jié)論一致[8]。詳見表3。
表2 10%缺失數(shù)據(jù)下不同處理方法的回歸系數(shù)及相對誤差
表3 20%缺失數(shù)據(jù)下不同處理方法的回歸系數(shù)及相對誤差
當(dāng)缺失率為30%時,MissForest填補(bǔ)后符合回歸系數(shù)的優(yōu)良標(biāo)準(zhǔn)分別為1,1;FAMD分別為2,1;KNN分別為1,1;MICE分別為1,0,相比缺失比例為20%時總體模型表現(xiàn)均較差。詳見表4。
表4 30%缺失數(shù)據(jù)下不同處理方法的回歸系數(shù)及相對誤差
當(dāng)缺失率是50%時,MissForest、KNN和MICE回歸系數(shù)符合優(yōu)良標(biāo)準(zhǔn)的均為0;但FAMD符合優(yōu)良標(biāo)準(zhǔn)的分別為1,1。除FAMD外,另外三種填補(bǔ)方法回歸系數(shù)的相對誤差有一多半變量都超過50%,總體而言填補(bǔ)效果均不太理想,可以認(rèn)為處理失敗。詳見表5。
表5 50%缺失數(shù)據(jù)下不同處理方法的回歸系數(shù)及相對誤差
混合型數(shù)據(jù)是臨床電子病歷系統(tǒng)中最常見的數(shù)據(jù)類型。對于缺失數(shù)據(jù)有兩種方法被普遍使用[9]:一種是刪除對應(yīng)缺失的所有變量或刪除缺失對應(yīng)的該患者所有數(shù)據(jù);另一種是采用均值替代、臨近值替代或連續(xù)分布情況下的EM算法等。這兩種方法中前者會使數(shù)據(jù)信息丟失,后者無法進(jìn)行混合性數(shù)據(jù)缺失值的填補(bǔ),在做分析時產(chǎn)生偏差[10]。此外,缺失值在數(shù)據(jù)分析中也有諸多的不確定性。
本文在10%、20%、30%、50%不同缺失率下比較了MissForest、FAMD、KNN和MICE四種方法對混合型數(shù)據(jù)的填補(bǔ)效果。結(jié)果提示,針對混合數(shù)據(jù),總體來說FAMD填補(bǔ)方法要優(yōu)于其他三種方法,MICE表現(xiàn)最差。FAMD在不同缺失率下對連續(xù)變量的填補(bǔ)誤差(NRMSE)與MissForest相差無幾,但比KNN和MICE要低。分類變量的錯分類誤差(FPC),在不同缺失率下,F(xiàn)AMD表現(xiàn)穩(wěn)定且在四種方法中表現(xiàn)最優(yōu)。在10%~30%缺失比例下,與MissForest算法比,在大多數(shù)情況下,F(xiàn)AMD算法對兩種類型的變量具有更好的擬合能力,這與Audigier等人研究結(jié)論一致[4]。而MissForest總體表現(xiàn)要比KNN和MICE算法更優(yōu),這與Stekhoven等人結(jié)論也一致[3]。在數(shù)據(jù)缺失率達(dá)到50%時,F(xiàn)AMD達(dá)到優(yōu)良標(biāo)準(zhǔn)分別為1、1,但是也有2個變量相對誤差超過50%;而其它三種方法填補(bǔ)效果均無效,說明當(dāng)缺失比例過大時,任何填補(bǔ)方法都是無效的,這與Enders CK等人結(jié)論一致[11]。
本次研究的數(shù)據(jù)僅僅來源于心衰患者電子病歷部分變量的模擬缺失數(shù)據(jù),數(shù)據(jù)量大小、數(shù)據(jù)維度、變量類型、變量比例等數(shù)據(jù)結(jié)構(gòu)固定未變,對不同數(shù)據(jù)結(jié)構(gòu)情形下的不同填補(bǔ)方法有待進(jìn)一步比較。
總之,F(xiàn)AMD在本文中總體表現(xiàn)穩(wěn)定,由于其可以很好的處理分類與連續(xù)變量之間關(guān)系,尤其是具有高度線性關(guān)系下表現(xiàn)亦優(yōu)秀[12],這種方法可以使研究人員從多維角度研究個體之間的相似性和變量間的關(guān)系,而且調(diào)用 ” missMDA” R包操作簡便無需進(jìn)行復(fù)雜的調(diào)參[13],在面對復(fù)雜的混合型數(shù)據(jù)缺失填補(bǔ)時,不妨是一種可以優(yōu)先考慮的方法。