白洪濤,欒 雪,何麗莉,畢亞茹,張婷婷,孫成林
(吉林大學(xué) a.軟件學(xué)院;b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130022;c.第一醫(yī)院,長春 130012)
數(shù)據(jù)缺失是一個(gè)較為常見的現(xiàn)象[1],是許多數(shù)據(jù)分析任務(wù)中的一個(gè)阻礙,并有可能嚴(yán)重?fù)p害機(jī)器學(xué)習(xí)模型的性能,以及基于這些模型的下游任務(wù)。如果能以一種合理的方式成功地恢復(fù)輸入的缺失數(shù)據(jù)是理解真實(shí)世界數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵。在醫(yī)療數(shù)據(jù)中經(jīng)常由于各種原因存在大量的缺失值,因此許多研究人員致力于開發(fā)醫(yī)療數(shù)據(jù)的插補(bǔ)算法。插補(bǔ)算法也廣泛應(yīng)用于其他領(lǐng)域,如數(shù)據(jù)壓縮、圖像補(bǔ)全[2]、RNA(Ribonucleic Acid)序列缺失值補(bǔ)全[3]等。
缺失數(shù)據(jù)主要有3種類型[4]:1) 完全隨機(jī)缺失(MCAR:Missing Completely At Random),指數(shù)據(jù)集中數(shù)據(jù)缺失是完全隨機(jī)的,與缺失變量本身和其他變量無關(guān);2) 隨機(jī)缺失(MAR:Missing At Random),指數(shù)據(jù)集中數(shù)據(jù)缺失并不是完全隨機(jī)的,而與其他變量完全有關(guān);3) 非隨機(jī)缺失(MNAR:Missing Not At Random),指數(shù)據(jù)集中數(shù)據(jù)缺失的產(chǎn)生不僅與變量本身取值有關(guān),也與其他變量的取值有關(guān),這種缺失機(jī)制大都不是隨機(jī)因素所造成的,經(jīng)常存在主觀因素或變量之間的相互關(guān)聯(lián),通常是不可忽略的。筆者針對(duì)完全隨機(jī)缺失情況進(jìn)行研究。
目前人們對(duì)缺失數(shù)據(jù)處理主要有3種策略。1) 不進(jìn)行處理,這是一種比較簡單的方法,常用于缺失數(shù)據(jù)的樣本量很少時(shí),采用插補(bǔ)法,可能會(huì)影響樣本的總體分布特點(diǎn)和變量間的關(guān)系,使原始數(shù)據(jù)集產(chǎn)生噪聲[5]。2) 刪除樣本法,即將含有缺失值的數(shù)據(jù)樣本刪除。對(duì)數(shù)據(jù)缺失率較小,該方法非常高效。但該方法局限性在于它是以縮小數(shù)據(jù)樣本量獲取完整數(shù)據(jù)集,會(huì)導(dǎo)致數(shù)據(jù)信息的浪費(fèi),丟失了隱藏在缺失值中的信息[6]。3) 缺失值插補(bǔ)法,對(duì)數(shù)據(jù)集中缺失的數(shù)據(jù),通過特定方法進(jìn)行缺失值填充處理,使數(shù)據(jù)成為一完整數(shù)據(jù)集,是針對(duì)缺失數(shù)據(jù)最為常見且較有效的解決方法。常見的缺失數(shù)據(jù)插補(bǔ)方法有:K最近鄰插補(bǔ)法[7]、多重插補(bǔ)法[8-9]、矩陣補(bǔ)全[10]和基于深度學(xué)習(xí)方法等。
目前針對(duì)醫(yī)療數(shù)據(jù)集缺失值處理相關(guān)研究報(bào)道較少,尤其是當(dāng)數(shù)據(jù)集中同時(shí)存在離散型變量和連續(xù)型變量,缺少合理的解決方法。近年來,大量研究顯示谷丙轉(zhuǎn)氨酶(ALT:ALanineamino Transferase)升高是糖尿病發(fā)生的危險(xiǎn)因素之一[11-12]。ALT被認(rèn)為是肝功能的替代標(biāo)志物,也是預(yù)測(cè)糖尿病的重要風(fēng)險(xiǎn)指標(biāo)。許多研究報(bào)告表明,ALT即使在正常范圍內(nèi),仍與T2DM(Diabetes Mellitus Type 2)風(fēng)險(xiǎn)增加有關(guān)。橫截面研究顯示,ALT與糖尿病之間存在持續(xù)的正相關(guān)[13],且無閾值效應(yīng)。因此,筆者使用缺失森林插補(bǔ)法、K最近鄰插補(bǔ)法、多重插補(bǔ)法和GAIN(Generative Adversarial Imputation Nets)[14]插補(bǔ)法對(duì)兩個(gè)醫(yī)療數(shù)據(jù)集進(jìn)行缺失值插補(bǔ)。同時(shí),通過分析糖尿病數(shù)據(jù)集中ALT與糖尿病之間的劑量-反應(yīng)關(guān)系探討缺失森林插補(bǔ)法對(duì)下游任務(wù)的影響。
缺失森林插補(bǔ)法[15]是一種建立在隨機(jī)森林算法基礎(chǔ)上的非參數(shù)插補(bǔ)方法,其既可用于連續(xù)型變量也可用于離散型變量,不需要對(duì)數(shù)據(jù)分布進(jìn)行假設(shè)。該方法首先對(duì)缺失數(shù)據(jù)集進(jìn)行快速插補(bǔ),即對(duì)連續(xù)型變量選擇該變量平均值對(duì)缺失數(shù)據(jù)進(jìn)行插補(bǔ),離散型變量選擇該變量眾數(shù)對(duì)數(shù)據(jù)進(jìn)行插補(bǔ),若眾數(shù)存在多個(gè)相同值,則隨機(jī)選擇其中一個(gè)即可,同時(shí)將變量按照缺失值的數(shù)量升序排序。然后對(duì)每個(gè)特征變量,使用缺失森林插補(bǔ)法步驟如下:
3) 重復(fù)上述插補(bǔ)過程,直到達(dá)到終止迭代條件γ和最大迭代次數(shù)。
算法如下:
輸入:缺失數(shù)據(jù)集X。
Step1 對(duì)存在缺失值的連續(xù)變量,應(yīng)用該變量的平均值對(duì)缺失值進(jìn)行初始插補(bǔ),對(duì)存在缺失值的離散變量,應(yīng)用該變量的眾數(shù)對(duì)缺失值進(jìn)行初始插補(bǔ);
Step2 計(jì)算缺失數(shù)據(jù)集X中各個(gè)變量的缺失率,將缺失率從小到大排序,并將對(duì)應(yīng)的變量存入向量m中;
Step5 對(duì)于s∈m,依次執(zhí)行:
Step6 更新γ,itermax++,返回Step3;
輸出:插補(bǔ)后的矩陣Ximp。
對(duì)連續(xù)型變量,N為連續(xù)型變量的集合,差異可定義為
對(duì)離散變量,C為離散型變量的集合,差異可定義為
其中NA為離散型變量缺失值的個(gè)數(shù),n為樣本數(shù)量。
筆者選取了中國Rich Healthcare Group數(shù)據(jù)庫中的糖尿病數(shù)據(jù)集[16](以下簡稱數(shù)據(jù)集1)、Dryad Digital Repository(https:∥doi.org/10.5061/dryad.8q0p192)(以下簡稱數(shù)據(jù)集2)兩個(gè)數(shù)據(jù)集。
2.2.1 評(píng)價(jià)指標(biāo)
對(duì)連續(xù)型變量,選擇標(biāo)準(zhǔn)均方根誤差(NRMSE:Normalized Root Mean Squared Error,ENRMSE)[15]作為評(píng)價(jià)指標(biāo),其值越小,誤差越小,插補(bǔ)效果越好。如下
(1)
其中Xtrue為真實(shí)完整數(shù)據(jù)集,Ximp為插補(bǔ)后的數(shù)據(jù)集。
對(duì)離散型變量,選擇錯(cuò)誤分類占比率(PFC:the Proportion of Falsely Classified,RPFC)[15]作為評(píng)價(jià)指標(biāo),其值越小,誤差越小,插補(bǔ)效果越好。如下
(2)
2.2.2 插補(bǔ)結(jié)果
將數(shù)據(jù)集分別設(shè)置10%,20%,30%,40%的隨機(jī)缺失率,然后針對(duì)數(shù)據(jù)集在不同缺失率的情況下,分別使用缺失森林插補(bǔ)法、多重插補(bǔ)法、K最近鄰插補(bǔ)法和GAIN插補(bǔ)法進(jìn)行缺失值插補(bǔ),最后計(jì)算插補(bǔ)后的數(shù)據(jù)集與真實(shí)數(shù)據(jù)集間的評(píng)價(jià)指標(biāo),實(shí)驗(yàn)結(jié)果如表1,表2所示。
表1 數(shù)據(jù)集1NRMSE指標(biāo)和PFC指標(biāo)Tab.1 Dataset 1 NRMSE metrics and PFC metrics
表2 數(shù)據(jù)集2 NRMSE指標(biāo)和PFC指標(biāo)Tab.2 Dataset 2 NRMSE metrics and PFC metrics
由表1,表2可見,根據(jù)兩個(gè)數(shù)據(jù)集的NRMSE和PFC的評(píng)價(jià)指標(biāo),缺失森林插補(bǔ)法誤差較低,插補(bǔ)效果優(yōu)于K最近鄰插補(bǔ)法、多重插補(bǔ)法和GAIN插補(bǔ)法。即使數(shù)據(jù)集2中缺失森林插補(bǔ)誤差較大,但插補(bǔ)效果也優(yōu)于其他3種方法。因此,缺失森林插補(bǔ)法可有效解決醫(yī)療數(shù)據(jù)缺失問題。
為檢驗(yàn)缺失森林插補(bǔ)法對(duì)下游任務(wù)的影響,筆者使用數(shù)據(jù)集1原始數(shù)據(jù)(未插補(bǔ))與插補(bǔ)后數(shù)據(jù)探討ALT與糖尿病之間的劑量-反應(yīng)關(guān)系。采用限制性立方樣條模型,在調(diào)整年齡、性別、吸煙狀況、飲酒情況、BMI(Body Mass Index)、舒張壓、收縮壓、糖尿病家族遺傳史、AST(ASanine aminoTransferase)和膽固醇因素后,分別得到了原始數(shù)據(jù)與插補(bǔ)后數(shù)據(jù)ALT與糖尿病之間的劑量-反應(yīng)關(guān)系圖(見圖1,圖2),其中虛線表示置信區(qū)間。從圖1,圖2中可看出,數(shù)據(jù)插補(bǔ)前后變化趨勢(shì)一致,均存在顯著的線性關(guān)聯(lián),當(dāng)ALT濃度升高,糖尿病發(fā)病率也隨之增加。由此可見,缺失森林插補(bǔ)法穩(wěn)定性較好,并不影響下游任務(wù)的研究。
圖1 數(shù)據(jù)集1原始數(shù)據(jù)ALT與糖尿病發(fā)病的劑量-反應(yīng)關(guān)系 圖2 數(shù)據(jù)集2插補(bǔ)后ALT與糖尿病發(fā)病的劑量-反應(yīng)關(guān)系 Fig.1 Dataset 1 raw data on the dose-response relationship between ALT and the onset of diabetes Fig.2 Dataset 2 dose-response relationship between ALT and diabetes onset after interpolation
針對(duì)醫(yī)療數(shù)據(jù)集中數(shù)據(jù)缺失問題,筆者提出使用缺失森林插補(bǔ)法進(jìn)行缺失值補(bǔ)全,從NRMSE和PFC評(píng)價(jià)指標(biāo)可以看出,該方法插補(bǔ)誤差較低且效果優(yōu)于K-最近鄰插補(bǔ)法、多重插補(bǔ)法和GAIN插補(bǔ)法,即使在誤差較高的情況下,該方法插補(bǔ)效果也優(yōu)于其他3種方法;其次,通過對(duì)數(shù)據(jù)集1中ALT與糖尿病的劑量-反應(yīng)關(guān)系進(jìn)行分析,證明缺失森林插補(bǔ)法不會(huì)對(duì)下游任務(wù)分析產(chǎn)生不利影響。因此,對(duì)缺失率較高的醫(yī)療大數(shù)據(jù),使用缺失森林插補(bǔ)法進(jìn)行插補(bǔ)不僅誤差較低且穩(wěn)定性較好,具有一定應(yīng)用價(jià)值。