楊 弘 田 晶 王 可 張 青 韓清華△ 張巖波,3△
【提 要】 目的 針對混合型缺失數據,使用幾種填補方法在缺失填補中的應用并評價填補效果。方法 結合實際數據,模擬出不同缺失比例(10%、20%、30%、50%),采用MissForest、因子分析(FAMD)、K-最近鄰填補法(KNN)和基于鏈式方程多重插補(MICE)四種方法進行填補;采用錯分類比例(PFC)、正則化均方根誤差(NRMSE)和回歸系數估計值比較填補效果。結果 FAMD與MissForest相比,對分類變量填補表現優越。缺失比例是10%時,FAMD與MissForest表現優于KNN和MICE;缺失比例是20%時FAMD明顯優于其它三種方法,但是MissForest表現亦可;缺失比例是30%時,四種模型表現明顯下降,處理效果均不太理想;缺失比例是50%時,雖然FAMD仍有兩個變量符合優良標準,但對某些變量估計誤差較大,其它三種方法填補均失效。結論 FAMD填補方法總體表現較好,面對混合型缺失數據時可以考慮優先選用。
數據缺失在很多醫學研究中是一個棘手的問題,在實際研究中,臨床指標沒有完全檢測或有遺漏,缺失不可避免[1]。缺失會影響統計估計值的性質,如平均值、方差或百分比,導致估計效果降低和結論錯誤[2]。此外,許多傳統的分析方法都依賴于完整數據集,即不允許有缺失值。因此,缺失數據的填補往往是數據分析中不可避免的一步。隨著人們對缺失數據的深入研究,很多新的高效測量方法在缺失填補領域得到廣泛發展,不僅可以處理變量數量可能超過觀測值的高維多元數據,而且可以處理同時存在連續變量和分類變量的混合型數據(mixed-type data)[3]。本文針對基于臨床診療數據中常見的混合型數據,在隨機缺失(MAR)假設下采用MissForest、因子分析(factorial analysis for mixed data,FAMD)、K-最近鄰填補法(K nearest neighbors imputation,KNN)和基于參數調整的鏈式方程多重插補(multivariate imputation by chained equations,MICE)對完整心衰電子病歷數據進行缺失模擬并進行效果評價,為混合型缺失數據的填補應用提供依據。
對缺失值進行填補要盡量讓填補值接近真實值,以避免對經填補后的數據集分析時與原始數據集分析結果產生偏差。因此,本文選用以下四種在研究中表現較好的針對混合型缺失數據填補方法應用于本研究。
1.MissForest 填補
缺失森林算法是基于隨機森林的一種迭代填補算法,2012年由Stekhoven 首次提出使用,通過對許多未修剪的分類樹或回歸樹進行平均,構成了一個多重填補方法[3]。其主要思想是假設一個數據X=(X1,X2,…,Xp) 是n×p維矩陣,僅使用數據集觀察部分訓練隨機森林直接預測缺失值,該方法克服了傳統隨機森林要求響應變量必須是完整的這一缺點。本文中對MissForest參數設定為:ntree=500,mtry=3。
缺失森林填補過程如下:
(1)使用均值填補對數據X中缺失值進行初始預測;
(2)將變量XS,s=1,…,p依據缺失比例從小到大進行排序,對沒有缺失的樣本進行訓練,并使用第一次擬合的隨機森林進行填補;
(3)將訓練好的隨機森林應用于缺失部分數據,對缺失值進行預測得到一個填補矩陣;
(4)重復以上過程,直到滿足停止標準,即新填補的數據矩陣與前一個矩陣之差首次增加時。
2.FMAD填補
因子分析(factorial analysis for mixed data,FAMD)是Audigier等人于2014年提出的一種專門針對混合數據進行描述、總結和可視化的填補算法。其基于主成分分析法,它的目的是研究個體間的相似性與變量間的關系(主要是連續變量與分類變量),允許同時使用個體與變量間的關系來預測缺失值。FAMD的原則是平衡分析中連續變量和分類變量的影響,FAMD的原理是將分類變量轉化為虛擬變量,并與連續變量連接起來。對每個變量進行加權,并同時考慮到不同類型的變量以平衡每個變量的影響,使各種類型的變量對主成分的構建都有同等貢獻[4]。
FAMD填補過程如下:
(1)數據初始化:使用平均值(連續變量)和比例(分類變量)進行輸入。計算標準偏差和列邊距,從而計算連接矩陣的權重(連續變量和虛擬變量的指標矩陣)。
(2)迭代直至收斂:(a)對完成執行PCA加權數據矩陣進行參數估計。(b)用S維數擬合值對缺失數據填補。(c)更新連續變量的均值、標準差和分類變量的列邊距。
3. KNN填補
本文中使用Troyanskaya等在2001年提出的KNNimpute算法,通過尋找離觀測值最近的K個變量,并對這K個變量取加權平均,得到填補缺失的值變量Xj。因此,權重取決于變量Xj的距離[5],本文中距離選擇為歐氏距離。為了比較不同類型的變量,我們將數據中分類變量編碼為{0,1}。由于選取不同K填補效果差異較大,我們通過試驗最終確定K=5。
4. MICE填補
MICE多重填補是基于聯合建模(joint modeling,JM)和鏈式方程(fully conditional specification,FCS)[6]。其基本原理是假設完整數據X是從含m個變量的多變量分布P(Y|θ)中隨機抽取的觀測值,通過觀測數據的Gibbs迭代抽樣建立關于缺失變量θ的后驗分布(填補方程),然后對每個缺失值多次填補,最終綜合多個填補數據集做出最終的參數估計[6]。本文我們對MICE進行5次填補,對連續變量使用均值回歸,分類變量使用邏輯回歸。
1. 模擬思路
本文結合實際數據,模擬含有4個變量(Y,X1,X2,X3)的混合型數據集。X1和X3為連續變量,X2為二分類變量;結局變量Y(二分類)由X1,X2,X3共同定義。將X2作為輔助變量設定數據的缺失機制為隨機缺失模式(MAR)。具體模擬過程如下。

X2依據有無高血壓史設定比例為P(X2=1)=0.6;

2. 模擬完整數據集與模型構建
完整數據集均由Rstudio模擬獲得,設定觀察數為1000。基于完整數據集分別模擬缺失比例10%、20%、30%和50%的隨機缺失模式(MAR)數據集,在同一缺失數據上分別采用FAMD、MissForest、KNN和MICE法進行填補,將得到的完整數據集與原始完整數據集進行比較,重復100次。
3. 評價指標
本文中采用兩種指標來綜合評價填補方法。對分類變量和連續性變量的模型評價分別采用錯分類比例(proportion of falsely classified,PFC)和正則化均方根誤差(normalized root mean squared error,NRMSE)[3]:
其中Xtrue是完整數據集矩陣,Ximp是填補后完整數據集矩陣。上述兩個指標范圍均為(0,1),越接近0模型表現越好,越接近1則越差。
4. 模擬結果
由圖1我們可以看出,四種方法隨著缺失比例增大,對連續變量和分類變量填補誤差也逐漸增大。從NRMSE來看,缺失比例在10%~30%時,FAMD與MissForest填補誤差相差不大,兩種方法均優于KNN和MICE;從PFC指標看,缺失比例為10%時FAMD的填補誤差最小,相比其它三種方法優勢明顯。20%~50%缺失比例中,FAMD略優于另外三種方法。綜合分析結果,FAMD對混合型數據的填補效果最好,MICE填補效果最差。

圖1 不同缺失比例(10,20,30,50%)下四種方法(FAMD,MissForest,KNN,MICE)的NRMSE(上)和PFC(下)分布圖
1. 資料來源
在酶解時間、酶添加量和料液比均為上述試驗中的最佳條件下,試驗考察了酶解溫度對辣椒堿、辣椒二氫堿及辣椒紅色素含量的影響,試驗結果見圖3中A。
本研究資料節選自山西醫科大學附屬第一醫院于2017年8月至2018年8月入院診斷為慢性心力衰竭的726名患者的部分電子病歷資料為完整數據。根據左心射血分數的不同可分為射血分數降低的心衰(HFeEF)和射血分數保留的心衰(HFpEF),不同類型的心衰治療方式有所區別。經共線性診斷,數據中各變量方差膨脹因子(VIF)均小于2,可以認為共線性對本研究影響不大。基本情況見表1。

表1 完整數據各變量基本情況
2. 分析方法及評價標準
本研究采用前一種方式,對完整數據集構造不同缺失比例(726×8個數據點中缺失10%,20%,30%,50%)的隨機缺失數據,使用四種方法分別進行填補,每種試驗模擬10次。最后用填補后的數據與原始完整數據進行比較,依據評價指標來評價各填補方法效果。對于臨床電子病歷數據集,由于數據缺失的主要原因取決于數據收集中患者相關信息的可用性,缺失機制可視為隨機缺失模式(MAR)[7]。數據分析均采用Rstudio 1.1.4,使用“missForest”、“missMDA”,“VIM”和“MICE”包進行填補。
為了評價填補數據的有效性[7],我們以射血分數為因變量,其他變量為自變量建立二元logistic回歸對數據進行統計分析,對原始數據進行建模,模型及各變量均有統計學意義。隨后使用填補后的數據建模,通過對比各變量回歸系數(β)及相對誤差(θ=(β2-β1)/β1×100%)來評價填補后數據的有效性。
評價等級分別為:優(|θ|≤10%)、良(10%<|θ|≤20%)、中(20%<|θ|≤50%)和差(|θ|>50%)。評價標準為計算等級順位累加構成比(優+良),若構成比相同則參考相對誤差的大小;若“差”則為填補失效。
1. 四種方法的NRMSE和PFC
NRMSE和PFC比較結果分別如圖2、圖3。單純比較NRMSE,我們可以看到MissForest與FAMD在4種缺失比例下差異均無統計學意義,說明對連續變量填補效果表現無幾,二者表現優良。但是MICE表現較差,NRMSE比前兩者高將近10%。KNN表現居于中間。在分類誤差PFC上,FAMD表現最優;MissForest與KNN分類效果相差不大,MICE分類誤差最大。

圖2 不同缺失比例下四種填補模型的NRMSE
*:NRMSE為10次試驗結果平均值;采用Wilcoxon配對t檢驗,FAMD(淺灰)、KNN(深灰)和MICE(白色)分別與MissForest(黑色)組進行比較;‘*’P<0.05,‘**’P<0.01,‘***’P<0.001

圖3 不同缺失比例下四種填補模型的PFC
*:PFC為10次試驗結果平均值;采用Wilcoxon配對t檢驗,FAMD(淺灰)、KNN(深灰)和MICE(白色)分別與MissForest(黑色)組進行比較;‘*’P<0.05,‘**’P<0.01,‘***’P<0.001
2. 不同缺失比例下變量的回歸系數
建立二元logistic回歸,缺失率是10%,在8個變量中,MissForest填補后回歸系數符合優和良的標準分別為 3,3;FAMD填補后符合的為4,2;KNN填補后符合的為3,2;MICE符合的為0,4。四種方法中MICE相對誤差與另外三種的相比較大,說明其填補后數據與真實數據相差較大。詳見表2。
當缺失率是20%時,MissForest填補后符合回歸系數的優良標準分別為2,1;FAMD分別為3和2;KNN分別為3,1;MICE分別為0,3。四種方法中除MissForest外,另外三種的填補符合優良的計數與10%缺失率時的變化較小,說明MissForest隨著數據缺失的增加其填補效果不穩定,與沈琳等人的結論一致[8]。詳見表3。

表2 10%缺失數據下不同處理方法的回歸系數及相對誤差

表3 20%缺失數據下不同處理方法的回歸系數及相對誤差
當缺失率為30%時,MissForest填補后符合回歸系數的優良標準分別為1,1;FAMD分別為2,1;KNN分別為1,1;MICE分別為1,0,相比缺失比例為20%時總體模型表現均較差。詳見表4。

表4 30%缺失數據下不同處理方法的回歸系數及相對誤差
當缺失率是50%時,MissForest、KNN和MICE回歸系數符合優良標準的均為0;但FAMD符合優良標準的分別為1,1。除FAMD外,另外三種填補方法回歸系數的相對誤差有一多半變量都超過50%,總體而言填補效果均不太理想,可以認為處理失敗。詳見表5。

表5 50%缺失數據下不同處理方法的回歸系數及相對誤差
混合型數據是臨床電子病歷系統中最常見的數據類型。對于缺失數據有兩種方法被普遍使用[9]:一種是刪除對應缺失的所有變量或刪除缺失對應的該患者所有數據;另一種是采用均值替代、臨近值替代或連續分布情況下的EM算法等。這兩種方法中前者會使數據信息丟失,后者無法進行混合性數據缺失值的填補,在做分析時產生偏差[10]。此外,缺失值在數據分析中也有諸多的不確定性。
本文在10%、20%、30%、50%不同缺失率下比較了MissForest、FAMD、KNN和MICE四種方法對混合型數據的填補效果。結果提示,針對混合數據,總體來說FAMD填補方法要優于其他三種方法,MICE表現最差。FAMD在不同缺失率下對連續變量的填補誤差(NRMSE)與MissForest相差無幾,但比KNN和MICE要低。分類變量的錯分類誤差(FPC),在不同缺失率下,FAMD表現穩定且在四種方法中表現最優。在10%~30%缺失比例下,與MissForest算法比,在大多數情況下,FAMD算法對兩種類型的變量具有更好的擬合能力,這與Audigier等人研究結論一致[4]。而MissForest總體表現要比KNN和MICE算法更優,這與Stekhoven等人結論也一致[3]。在數據缺失率達到50%時,FAMD達到優良標準分別為1、1,但是也有2個變量相對誤差超過50%;而其它三種方法填補效果均無效,說明當缺失比例過大時,任何填補方法都是無效的,這與Enders CK等人結論一致[11]。
本次研究的數據僅僅來源于心衰患者電子病歷部分變量的模擬缺失數據,數據量大小、數據維度、變量類型、變量比例等數據結構固定未變,對不同數據結構情形下的不同填補方法有待進一步比較。
總之,FAMD在本文中總體表現穩定,由于其可以很好的處理分類與連續變量之間關系,尤其是具有高度線性關系下表現亦優秀[12],這種方法可以使研究人員從多維角度研究個體之間的相似性和變量間的關系,而且調用 ” missMDA” R包操作簡便無需進行復雜的調參[13],在面對復雜的混合型數據缺失填補時,不妨是一種可以優先考慮的方法。