王旭春 翟夢夢 任 浩 李美晨 全帝臣 張巖波 劉近春 仇麗霞△
【提 要】 目的 針對肝硬化并發(fā)肝性腦病風(fēng)險(xiǎn)預(yù)測的因素具有高維性、冗余性及類間不均衡的特征,研究變量篩選后的重采樣和Voting異質(zhì)集成分類模型的風(fēng)險(xiǎn)預(yù)測性能。方法 收集2006年1月-2015年12月某三甲醫(yī)院消化內(nèi)科肝硬化住院患者950例,68例并發(fā)肝性腦病,采用logistic 逐步回歸進(jìn)行風(fēng)險(xiǎn)預(yù)報(bào)因子初篩;再采用SMOTE重采樣技術(shù)及其改進(jìn)算法處理不平衡數(shù)據(jù);最后采用SVM、MLP、隨機(jī)森林以及綜合以上三種算法預(yù)測結(jié)果的Voting異質(zhì)集成分類算法構(gòu)建肝硬化并發(fā)肝性腦病的風(fēng)險(xiǎn)預(yù)測模型。結(jié)果 logistic回歸篩選了7個(gè)風(fēng)險(xiǎn)預(yù)報(bào)因子,采用重采樣技術(shù)后的分類模型的預(yù)測性能整體上優(yōu)于不平衡數(shù)據(jù)模型,以SVM-SMOTE最優(yōu);相同重采樣技術(shù)后的Voting異質(zhì)集成與隨機(jī)森林分類模型的預(yù)測性能優(yōu)于SVM和MLP,其中Voting異質(zhì)集成分類模型的性能略高于隨機(jī)森林。綜合各模型性能可知,采用SVM-SMOTE重采樣技術(shù)處理的Voting異質(zhì)集成模型在識別肝硬化并發(fā)肝性腦病的效果最好,測試集各評價(jià)指標(biāo)值分別為:AUC=0.947、準(zhǔn)確率=0.877、精確度=0.898、召回率=0.855、F1分?jǐn)?shù)=0.876。結(jié)論 針對肝硬化并發(fā)肝性腦病風(fēng)險(xiǎn)預(yù)測因素的高維性、冗余性及類間不均衡的特征,本文所提出的基于logistic逐步回歸特征篩選、SVM-SMOTE重采樣的Voting異質(zhì)集成模型的預(yù)測效果較為滿意。
肝性腦病(hepatic encephalopathy,HE)是一組以代謝紊亂為基礎(chǔ)的中樞神經(jīng)系統(tǒng)功能失調(diào)的綜合病征,是肝硬化患者常見的并發(fā)癥及死因之一[1],HE1年存活率<0.5,3年存活率<0.3[2]。因此,建立合理的HE風(fēng)險(xiǎn)預(yù)測模型,輔助臨床醫(yī)生對HE進(jìn)行早期預(yù)警并及時(shí)采取有效的預(yù)防措施有著重要的臨床意義。
國外研究表明肝硬化并發(fā)HE的發(fā)生率為30%~45%[3-5],我國從10%到50%不等[1]。目前,我們收集到數(shù)據(jù)中HE發(fā)生率較低,為7.2%,屬于類間不平衡的問題.另外,與HE發(fā)生相關(guān)的因素較多,具有高維性和信息冗余性等特征。傳統(tǒng)的風(fēng)險(xiǎn)預(yù)測模型常常使用某一種分類算法建模,忽略了類間樣本量相差懸殊或者變量冗余的問題,導(dǎo)致風(fēng)險(xiǎn)預(yù)測性能明顯下降。
目前,重采樣中的SMOTE(synthetic over-sampling techniques for small samples)算法[6]是處理不均衡數(shù)據(jù)較好的方法,但其在新樣本合成過程中,具有一定的盲目性,近年來更多的方法是關(guān)注最優(yōu)化決策函數(shù)邊界的一些少數(shù)類樣本,如Borderline1-SMOTE、Borderline2-SMOTE 和SVM-SMOTE。本研究嘗試對比不同的重采樣方法,并比較他們在解決HE不均衡數(shù)據(jù)中的應(yīng)用效果。
在分類算法上,多層感知器(multilayer perceptron,MLP)[7]因其具有較好的自學(xué)習(xí)和建模能力,以及較強(qiáng)的魯棒性而被廣泛應(yīng)用;而支持向量機(jī)(support vector machines,SVM)[8]在解決小樣本、非線性及高維模式識別問題中表現(xiàn)出特有的優(yōu)勢;隨機(jī)森林(random forest)[9]通過收集多棵決策樹的結(jié)果來降低模型總體方差,是一個(gè)相對穩(wěn)健的分類算法。但是不同的分類算法的適用范圍有一定差異、泛化能力有限。
本研究針對HE風(fēng)險(xiǎn)預(yù)報(bào)因子存在的高維特征空間、高度特征冗余以及類間不平衡問題,首先采用logistic逐步回歸模型篩選出與HE發(fā)生相對較密切的特征變量,以減少信息冗余;之后采用SMOTE及其改進(jìn)的(Borderline-SMOTE、SVM-SMOTE)類平衡處理算法,對原數(shù)據(jù)進(jìn)行重采樣,以消除類間不平衡;最后以Voting投票聚類的方式,將多層感知器MLP[7]、支持向量機(jī)SVM[8]、隨機(jī)森林[9]分類算法進(jìn)行異質(zhì)集成,構(gòu)建組合模型,以提高模型的分類預(yù)測性能。同時(shí)探討不同的重采樣技術(shù)及Voting異質(zhì)集成對模型性能的影響,為肝硬化并發(fā)肝性腦病的風(fēng)險(xiǎn)預(yù)測提供更合理的建模方法,為HE的早期干預(yù)提供輔助決策。
本研究數(shù)據(jù)來源于2006年1月-2015年12月山西醫(yī)科大學(xué)第一附屬醫(yī)院消化內(nèi)科具有完整病歷資料且被診斷為肝硬化的住院患者,各生化指標(biāo)以入院后24小時(shí)內(nèi)的第一次檢測結(jié)果為準(zhǔn)。經(jīng)整理,有效病例950例,并發(fā)肝性腦病者68例,HE發(fā)生率為7.2%,屬高度不平衡數(shù)據(jù)。同時(shí)收集了肝硬化患者的人口學(xué)信息、臨床表現(xiàn)及生化等15個(gè)可能與HE相關(guān)的指標(biāo),具體變量名稱及賦值見表1。利用Epidata建立數(shù)據(jù)庫,采用雙錄入方式,逐一核對。
表1 950例肝硬化患者基本特征及賦值
1.特征篩選
本文收集了肝硬化患者15個(gè)可能與HE發(fā)生相關(guān)的指標(biāo),采用逐步logistic回歸模型進(jìn)行變量初篩,排除與結(jié)局不相關(guān)的變量,增加數(shù)據(jù)的信噪比,以提升下一步所構(gòu)建的分類模型的泛化能力。適當(dāng)放寬納入、排除標(biāo)準(zhǔn),對變量進(jìn)行合理選擇,采用SPSS 22.0 軟件實(shí)現(xiàn)。
2.重采樣技術(shù)
SMOTE算法是通過增加隨機(jī)噪聲的方式來改善過擬合的問題,在原始數(shù)據(jù)上通過算法根據(jù)每個(gè)少數(shù)類樣本來生成新樣本,以實(shí)現(xiàn)數(shù)據(jù)集的擴(kuò)展[10]。Borderline1-SMOTE、Borderline2-SMOTE和SVM-SMOTE方法更多關(guān)注最優(yōu)化決策函數(shù)邊界的一些少數(shù)類樣本,而后在最近鄰類的相反方向生成樣本:①Borderline-SMOTE[11]方法的思想是首先依據(jù)一定規(guī)則把少數(shù)類樣本劃分為安全樣本、邊界樣本和噪聲樣本3類,只針對邊界樣本進(jìn)行近鄰線性插值,使得合成后的少數(shù)類樣本分布更為合理,Borderline1與Borderline2的區(qū)別在于選取最近鄰中的隨機(jī)樣本時(shí)Borderline1中必須與該少數(shù)類樣本來自于不同的類;Borderline2可以屬于任何一個(gè)類;②SVM-SMOTE[12]則是直接使用支持向量機(jī)產(chǎn)生支持向量,針對產(chǎn)生的支持向量來生成新的少數(shù)類樣本。采用Python軟件Imblearn package包中SMOTE、Borderline SMOTE和SVMSMOTE語句實(shí)現(xiàn)重采樣。
3.支持向量機(jī)
支持向量機(jī)通過核函數(shù)將數(shù)據(jù)點(diǎn)映射到高維空間(Hilbert 空間),使線性不可分?jǐn)?shù)據(jù)變?yōu)榫€性可分。并在特征空間中建立最大間距最優(yōu)分離超平面,使最優(yōu)超平面與兩類樣本間距離最大[13-14],其中結(jié)構(gòu)風(fēng)險(xiǎn)最小化思想使學(xué)習(xí)器經(jīng)驗(yàn)風(fēng)險(xiǎn)與泛化誤差均較小。采用Python軟件sklearn.svm學(xué)習(xí)庫中的SVC語句,其中kernel 選項(xiàng)設(shè)定為rbf,即為高斯核。
4.MLP多層感知器
多層感知器[15]是一種前向結(jié)構(gòu)的人工神經(jīng)網(wǎng)絡(luò),包含輸入層、輸出層和多個(gè)輸入與輸出之間的隱藏層,映射一組輸入向量到一組輸出向量??梢员豢醋魇且粋€(gè)有向圖,由多個(gè)節(jié)點(diǎn)層所組成,在每一層接收輸入之后全都連接到下一層形成全連接。除了輸入節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都是一個(gè)帶有非線性激活函數(shù)的神經(jīng)元[16]。采用Python軟件sklearn.neural_network學(xué)習(xí)庫中的MLPClassifier來進(jìn)行模型構(gòu)建,其中max_iter選項(xiàng)設(shè)定為500,即迭代次數(shù)為500。
5.集成學(xué)習(xí)
集成學(xué)習(xí)又被叫做基于團(tuán)體的學(xué)習(xí)(committee-based learning),團(tuán)體中的學(xué)習(xí)器被稱為個(gè)體學(xué)習(xí)器。根據(jù)個(gè)體學(xué)習(xí)器的種類,可分為同質(zhì)集成和異質(zhì)集成。它能夠從多樣化的模型中平衡噪音,從而強(qiáng)化模型的泛化能力。隨機(jī)森林[17]原理是在總的訓(xùn)練樣本中隨機(jī)有放回地抽取訓(xùn)練集,從所有樣本特征中隨機(jī)不放回地選擇部分樣本特征進(jìn)行訓(xùn)練及測試,形成多個(gè)決策樹,每個(gè)決策樹分別得出相應(yīng)的預(yù)測結(jié)果,綜合考慮各個(gè)決策樹的投票結(jié)果,以少數(shù)服從多數(shù)的原則,來判定待測樣本的類別,屬于同質(zhì)集成。軟投票法的Voting[18]算法是通過對本文涉及到的三種分類算法的對比,獲得三種算法的分類結(jié)果后,以每個(gè)個(gè)體分類器測試結(jié)果的正確率作為權(quán)重,對每個(gè)類進(jìn)行加權(quán)平均,返回一組概率的加權(quán)平均值,最后取得分最高的類別作為分類結(jié)果,該方法綜合考慮前文提及的三種分類算法預(yù)測結(jié)果,屬于異質(zhì)集成。采用Python軟件的sklearn.ensemble學(xué)習(xí)庫中的分類算法語句實(shí)現(xiàn)集成學(xué)習(xí)的模型構(gòu)建。
6.評價(jià)指標(biāo)
模型預(yù)測性能評價(jià)指標(biāo)為AUC、準(zhǔn)確度(accuracy)、精確度(precision)、召回率(recall)、F1分?jǐn)?shù),均為越大越好。但在類別不平衡時(shí),會出現(xiàn)模型預(yù)測準(zhǔn)確度高而陽性類預(yù)測能力不足的現(xiàn)象。由于本文重點(diǎn)考慮分類模型對肝硬化并發(fā)HE的預(yù)測性能,故以精確度、召回率及二者的調(diào)和平均數(shù)F1-分?jǐn)?shù)作為主要評價(jià)指標(biāo)。
1.logistic回歸變量初選
以7∶3比例將數(shù)據(jù)分為訓(xùn)練集和測試集,在訓(xùn)練集中,將與肝性腦病有關(guān)系的15個(gè)因素進(jìn)行多因素logistic逐步回歸分析,變量選入和剔除標(biāo)準(zhǔn)分別為0.1和0.15。
結(jié)果顯示電解質(zhì)紊亂、肝腎綜合征、感染、精神萎靡、肝源性糖尿病、凝血酶原時(shí)間延長及總膽紅素升高7個(gè)因素最終進(jìn)入回歸模型;其中,電解質(zhì)紊亂與肝硬化并發(fā)HE的關(guān)系最密切,電解質(zhì)紊亂的肝硬化患者并發(fā)HE的風(fēng)險(xiǎn)提高了5.836倍;其次是肝腎綜合征,并發(fā)HE的風(fēng)險(xiǎn)提高了3.375倍;感染、精神萎靡、肝源性糖尿病、凝血酶原時(shí)間延長、總膽紅素升高并發(fā)HE的風(fēng)險(xiǎn)基本上提高了1.5倍左右,分別是1.726倍、1.373倍、1.443倍、1.043倍、1.021倍,見表2。
表2 肝硬化并發(fā)肝性腦病多因素logistic回歸分析
2.多種重采樣技術(shù)下的各分類模型性能比較
將logistic回歸結(jié)果中篩選出的7個(gè)變量作為特征變量,并發(fā)HE作為結(jié)局變量,采用訓(xùn)練集訓(xùn)練模型,并在訓(xùn)練集中以十折交叉驗(yàn)證的方式進(jìn)行內(nèi)部驗(yàn)證,最后以測試集來進(jìn)行外部驗(yàn)證,采用表3中的5個(gè)指標(biāo)評價(jià)模型的預(yù)測性能。本文采用5種重采樣方法對原數(shù)據(jù)進(jìn)行重采樣處理,包括:(1)未重采樣的不平衡數(shù)據(jù),(2)經(jīng)過SMOTE重采樣,(3)Borderline2-SMOTE重采樣,(4)Borderline1-SMOTE重采樣,(5)SVM-SMOTE重采樣;之后分別構(gòu)建4種分類算法的模型,包括MLP、SVM、隨機(jī)森林模型和Voting異質(zhì)集成模型。
為了評估模型的穩(wěn)健性,避免出現(xiàn)局部極值的現(xiàn)象,采用十折交叉驗(yàn)證法對模型進(jìn)行內(nèi)部驗(yàn)證,結(jié)果顯示:不進(jìn)行重采樣、直接利用包含7個(gè)變量的數(shù)據(jù)庫建立的4種分類模型,雖然AUC和準(zhǔn)確度不低,但對于肝硬化并發(fā)HE的預(yù)測能力卻較低,而采用了重采樣技術(shù)后的分類模型對肝硬化并發(fā)HE的預(yù)測能力有了明顯的提升,且SMOTE改進(jìn)算法的各項(xiàng)指標(biāo)均高于SMOTE本身,其中SVM-SMOTE重采樣后分類模型的預(yù)測性能最優(yōu),其次為Borderline1-SMOTE和Borderline2-SMOTE。相同采樣技術(shù)下,總的來說Voting異質(zhì)集成模型與隨機(jī)森林的5項(xiàng)評價(jià)指標(biāo)較SVM和MLP分類模型要高,而且Voting異質(zhì)集成模型的效果略好于隨機(jī)森林模型。結(jié)合重采樣技術(shù),SVM-SMOTE重采樣后構(gòu)建Voting異質(zhì)集成分類模型預(yù)測性能最好,10次交叉驗(yàn)證各評價(jià)指標(biāo)均值分別為AUC=0.952、準(zhǔn)確率=0.884、精確度=0.900、召回率=0.863、F1分?jǐn)?shù)0.881。SVM-SMOTE重采樣后構(gòu)建隨機(jī)森林模型也較為滿意,其性能略低于Voting異質(zhì)集成模型,AUC為0.950、準(zhǔn)確率0.882、精確度0.898、召回率0.861、F1分?jǐn)?shù)0.878,且重采樣后不同分類模型預(yù)測值的標(biāo)準(zhǔn)差減小,說明模型的預(yù)測結(jié)果具有穩(wěn)健性。詳見表3。
表3 十折交叉驗(yàn)證預(yù)測結(jié)果
為了保證模型的泛化能力,本文進(jìn)一步用測試集來對各模型進(jìn)行外部驗(yàn)證,研究結(jié)果與訓(xùn)練集十折交叉驗(yàn)證的整體結(jié)論基本一致,經(jīng)重采樣技術(shù)處理后的分類模型對肝硬化并發(fā)HE的預(yù)測能力有所提升。SVM-SMOTE重采樣后構(gòu)建的Voting異質(zhì)集成分類模型得到最優(yōu)的預(yù)測性能,測試集各評價(jià)指標(biāo)值分別為:AUC=0.947、準(zhǔn)確率=0.877、精確度=0.898、召回率=0.855、F1分?jǐn)?shù)=0.876。詳見表4。
表4 肝硬化并發(fā)HE的模型預(yù)測結(jié)果
對于高維度、高冗余、類間非均衡的醫(yī)學(xué)數(shù)據(jù)建模,傳統(tǒng)統(tǒng)計(jì)學(xué)方法在預(yù)測性能上受限。本文探索了經(jīng)logistic逐步回歸特征篩選和多種重采樣技術(shù)處理后的不同分類算法在肝硬化并發(fā)HE中的應(yīng)用研究,討論了四種重采樣數(shù)據(jù)處理下的四種分類模型的預(yù)測性能。
研究結(jié)果顯示,經(jīng)不同重采樣技術(shù)處理后所構(gòu)建的分類模型性能整體上都得到提升,尤其是精確度、召回率、F1-分?jǐn)?shù)三類指標(biāo)值,與未平衡數(shù)據(jù)所構(gòu)模型相比得到明顯提高,這意味著更多的肝硬化并發(fā)HE的樣本得到了正確的分類,與文獻(xiàn)[19]的研究結(jié)果一致。而且,兩種SMOTE 改進(jìn)算法相較于SMOTE均得到了一定提升。SMOTE算法在新樣本合成過程中,具有一定的盲目性,不能對新合成樣本數(shù)量進(jìn)行精確控制,也不能對少數(shù)類樣本進(jìn)行區(qū)別性的選擇,而其改進(jìn)算法更多關(guān)注最優(yōu)化決策函數(shù)邊界的一些少數(shù)類樣本,能夠彌補(bǔ)SMOTE算法存在的一些不足。經(jīng)比較分析,SVM-SMOTE的算法性能最優(yōu),與Hien M.Nguyen等在2011年[12]關(guān)于邊界過采樣方法在不平衡數(shù)據(jù)分類中的實(shí)驗(yàn)研究結(jié)果一致。
在分類算法上,Voting異質(zhì)集成分類模型與隨機(jī)森林的預(yù)測性能優(yōu)于傳統(tǒng)單一分類器模型SVM和MLP,因?yàn)榧煞诸惸P湍軌驈亩鄻踊哪P椭衅胶庠胍?,?qiáng)化模型的泛化能力,因此有更好的預(yù)測結(jié)果,在很多集成模型的應(yīng)用研究中都得以驗(yàn)證[9,20-21];而Voting異質(zhì)集成分類模型的性能略高于隨機(jī)森林,因?yàn)閂oting異質(zhì)集成綜合考慮了所有基分類器(MLP、SVM、random Forest)的預(yù)測結(jié)果,并以其結(jié)果準(zhǔn)確率作為權(quán)重進(jìn)行加權(quán)平均,理論上應(yīng)該優(yōu)于任何一類基分類器的預(yù)測性能,與趙培培[18]關(guān)于多種分類器在糖尿病檢測分類中的應(yīng)用研究結(jié)果一致。單一分類器模型中MLP優(yōu)于SVM,與2017年陳欽界基于機(jī)器學(xué)習(xí)的智能醫(yī)療診斷輔助方法中的研究結(jié)果[22]一致。
總之,針對高維度、高冗余、類間非均衡的醫(yī)學(xué)數(shù)據(jù),本文提出的通過logistic逐步回歸進(jìn)行特征篩選,采用SVM-SMOTE重采樣技術(shù)處理的Voting異質(zhì)集成模型在識別肝硬化并發(fā)HE患者方面的效果最好,該模型有助于臨床醫(yī)生對HE進(jìn)行早期預(yù)警并及時(shí)采取有效的預(yù)防措施。但是本文所收集數(shù)據(jù)僅為山西某醫(yī)院住院患者數(shù)據(jù),還需收集多中心的數(shù)據(jù)進(jìn)行分析;其次本研究的分類模型的超參數(shù)采用網(wǎng)格搜索算法尋優(yōu),其余均采用軟件默認(rèn)參數(shù),在今后的研究中將著重探索參數(shù)尋優(yōu)方法,以期更好的提高模型性能。