馮 苗,綦小蓉,李 智
(1.四川大學(xué)電子信息學(xué)院,四川 成都 610065; 2.四川大學(xué)華西第二醫(yī)院,四川 成都 610041)
CKD是一種隱匿性疾病,臨床上根據(jù)腎小球?yàn)V過(guò)率(Glomerular Filtration Rate, GFR)的范圍,將CKD分為5期,隨著病情的進(jìn)展惡化,患者將出現(xiàn)腎衰竭,最終形成尿毒癥[1]。CKD早期不易被發(fā)現(xiàn),難以引起患者的重視,若能及早發(fā)現(xiàn)問(wèn)題,接受干預(yù)治療,可延緩CKD進(jìn)程,提高患者生存率,因此構(gòu)建一種預(yù)測(cè)CKD早期進(jìn)展情況的模型是有必要的。
目前針對(duì)CKD進(jìn)展階段概率預(yù)測(cè)的研究較少,方法體系還不成熟[2]。近年來(lái),已有學(xué)者在CKD進(jìn)展風(fēng)險(xiǎn)因素分析及預(yù)測(cè)方面進(jìn)行了研究,如林麗娟等[3]將患者分為4組,利用SPSS中的多因素分析方法研究了血壓控制對(duì)CKD老年患者病情進(jìn)展的影響,得到老年CKD腎損傷風(fēng)險(xiǎn)增加與收縮壓水平有相關(guān)性;Chase等[4]利用樸素貝葉斯、邏輯回歸方法預(yù)測(cè)CKD患者由3期向4期進(jìn)展的概率,但未對(duì)缺失值處理,而是直接去掉數(shù)據(jù)缺失的樣本;Khannara等[5]利用ANN,KNN,NB方法通過(guò)分析共同風(fēng)險(xiǎn)因素,研究了高血壓、糖尿病對(duì)CKD進(jìn)展的影響。此類研究多使用單一的統(tǒng)計(jì)或機(jī)器學(xué)習(xí)模型,由于數(shù)據(jù)多樣性和樣本異質(zhì)性,單一模型無(wú)法充分挖掘其中的信息;現(xiàn)有統(tǒng)計(jì)分析方法對(duì)歷史數(shù)據(jù)完整性和準(zhǔn)確性要求很高,大多數(shù)統(tǒng)計(jì)資料只反映歷史情況,可靠性差。
本文結(jié)合邏輯回歸和蟻群路徑優(yōu)化決策樹(shù)算法,對(duì)CKD數(shù)據(jù)進(jìn)行分類得到高精確率和召回率,從而計(jì)算CKD患者由3期進(jìn)展到4期或5期的概率,同時(shí)分析不同特征數(shù)目下不同算法對(duì)概率預(yù)測(cè)的影響,構(gòu)建進(jìn)展風(fēng)險(xiǎn)模型,從而幫助醫(yī)生及患者及早發(fā)現(xiàn)問(wèn)題,進(jìn)行診斷干預(yù)以延緩CKD進(jìn)程,提高患者生存率。
本文選取2006年1月到2016年11月共9843例CKD患者的臨床檢查與檢驗(yàn)數(shù)據(jù)進(jìn)行研究,每個(gè)樣本包含21個(gè)特征,分別為跟蹤時(shí)間(FUP)、年齡(Age)、身體質(zhì)量指數(shù)(BMI)、收縮壓(SBP)、舒張壓(DBP)、肌酐(SCr)、白蛋白(ALB)、血紅蛋白(HB)、尿素氮(NS)、尿酸(UR)、鈣(Ca)、磷(P)、鈉(Na)、鉀(K)、鎂(Mg)、氯(Cl)、二氧化碳結(jié)合律(CO2)、血糖(GLC)、超敏C反應(yīng)蛋白(CRP)、性別(Sex)、是否進(jìn)展(PR)。
1.2.1 邏輯回歸
邏輯回歸[6]用于評(píng)估可能性,實(shí)際上是對(duì)已知公式的未知參數(shù)進(jìn)行估計(jì)。目前常用的二分類邏輯回歸模型,主要用于概率預(yù)測(cè)或分類,如尋找疾病危險(xiǎn)因素,預(yù)測(cè)是否患某種疾病,判斷患者患某類疾病的概率等[7]。邏輯回歸分類時(shí)計(jì)算量小,速度快,易于實(shí)現(xiàn)。當(dāng)樣本特征較多時(shí),易發(fā)生過(guò)擬合或欠擬合現(xiàn)象,準(zhǔn)確率不高;對(duì)多重共線性問(wèn)題較敏感,需要用聚類或因子分析法對(duì)初始特征進(jìn)行篩選,減少輸入特征間的相關(guān)性[8]。
針對(duì)以上問(wèn)題,本文引入蟻群路徑優(yōu)化決策樹(shù)算法(DTAPO),該算法充分利用蟻群方法的啟發(fā)信息,經(jīng)過(guò)2次剪枝降低樹(shù)的規(guī)模,避免過(guò)擬合并提高預(yù)測(cè)準(zhǔn)確率[9]。本文首先利用DTAPO對(duì)患者樣本進(jìn)行分類,得到較高的精確率、召回率,再結(jié)合LR的分類準(zhǔn)確率對(duì)進(jìn)展過(guò)程中的概率進(jìn)行預(yù)測(cè)。
1.2.2 蟻群路徑優(yōu)化決策樹(shù)
DTAPO算法即利用蟻群路徑[10]優(yōu)化J48[11]決策樹(shù),算法基本流程如圖1所示。
圖1 DTAPO算法基本流程
1)數(shù)值型(連續(xù)型)特征離散化處理,使輸入特征適于決策分類。數(shù)值型特征離散化[12]即將數(shù)值型特征的取值范圍劃分為若干區(qū)間,從而將該特征作為分類型特征來(lái)處理,這些區(qū)間即為該分類型特征的取值。由于J48決策樹(shù)使用信息增益比來(lái)篩選特征,因此本文采用基于熵的數(shù)值型特征離散化算法[13]:先將一個(gè)數(shù)值型特征的取值范圍劃分為若干區(qū)間,每個(gè)區(qū)間對(duì)應(yīng)一個(gè)不重復(fù)的值;然后將2個(gè)毗鄰區(qū)間進(jìn)行合并,合并前后的熵差要達(dá)到最小[9]。通過(guò)離散化,可以將除CKD分期及性別以外的其他屬性由連續(xù)型轉(zhuǎn)換為離散型,落在不同區(qū)間。
2)計(jì)算啟發(fā)信息,采用信息增益比和信息素結(jié)合來(lái)選擇特征節(jié)點(diǎn)。
3)決策樹(shù)生成及優(yōu)化,通過(guò)信息素更新方法優(yōu)化初始決策樹(shù),并進(jìn)行2次剪枝:替代剪枝及悲觀剪枝[14],避免過(guò)擬合,提高準(zhǔn)確率。
4)得到全局最優(yōu)決策樹(shù),提取分類規(guī)則,對(duì)測(cè)試集進(jìn)行分類。
概率預(yù)測(cè)模型的建立:首先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,篩選出進(jìn)展患者(Progressors, P)與非進(jìn)展患者(Non-Progressors, NP);然后設(shè)計(jì)概率預(yù)測(cè)算法流程,以構(gòu)建進(jìn)展概率預(yù)測(cè)模型。
數(shù)據(jù)預(yù)處理過(guò)程,即通過(guò)數(shù)據(jù)篩選、缺失值處理及回歸分析,篩選出進(jìn)展患者(P)與非進(jìn)展患者(NP),以便后續(xù)研究2組患者在進(jìn)展過(guò)程中GFR[15]與各特征間的相關(guān)性。數(shù)據(jù)預(yù)處理流程如圖2所示。與已有研究不同,本文數(shù)據(jù)篩選過(guò)程中,保留了部分含缺失值的樣本數(shù)據(jù)及特征數(shù)據(jù),并對(duì)缺失值進(jìn)行分析替換,以充分挖掘利用該部分?jǐn)?shù)據(jù)中隱藏的有價(jià)值信息。
圖2 數(shù)據(jù)預(yù)處理流程
2.1.1 數(shù)據(jù)篩選
本文首先對(duì)9843例患者數(shù)據(jù)進(jìn)行數(shù)據(jù)篩選。去掉樣本數(shù)據(jù)中含80%缺失值的樣本及特征數(shù)據(jù)中含60%缺失值的特征,同時(shí)由于肌酐用于衡量GFR,因此,去掉含肌酐缺失值的樣本。經(jīng)過(guò)圖2的數(shù)據(jù)篩選過(guò)程,最終得到119例3期患者樣本。
2.1.2 缺失值處理
經(jīng)過(guò)數(shù)據(jù)篩選后得到的樣本特征中存在缺失值。為保證數(shù)據(jù)完整性,便于后續(xù)分析,需要判斷缺失值類型并替換。缺失值處理的方法很多,不同的缺失值處理方法有不同的適用條件。不同的缺失值處理方法對(duì)實(shí)驗(yàn)結(jié)果會(huì)造成不同的影響,若缺失值處理方法不恰當(dāng),會(huì)降低實(shí)驗(yàn)結(jié)果的偏性或不能充分利用實(shí)驗(yàn)數(shù)據(jù),從而降低實(shí)驗(yàn)結(jié)果的有效性[16]。缺失值類型包括完全隨機(jī)缺失、隨機(jī)缺失、非隨機(jī)缺失[17]。本文利用單變量統(tǒng)計(jì)對(duì)缺失值進(jìn)行描述。對(duì)21個(gè)特征進(jìn)行統(tǒng)計(jì),有13個(gè)特征包含缺失值,其中9個(gè)特征缺失值比例小于5%,缺失值對(duì)全局影響不大,用均值替換其缺失值。剩余4個(gè)含缺失值的特征ALB,HB,GLC,CRP則需經(jīng)過(guò)缺失值分析,以合理替換。
將剩余4個(gè)特征分別分為2組:缺失與未缺失,用T檢驗(yàn)比較2組的均值差別,若2組數(shù)據(jù)均值相差不大,則該特征取值是完全隨機(jī)缺失,用該特征所包含的未缺失數(shù)據(jù)的均值代替;若均值相差較大(差值為其中一組較大均值的1/3以上),則該特征取值不是完全隨機(jī)缺失,利用插值法確定。經(jīng)缺失值分析可得,ALB是完全隨機(jī)缺失,其缺失值用未缺失樣本中該特征的均值代替,HB,GLC,CRP是不完全隨機(jī)缺失,其缺失值用插值法[18]確定。
本文研究的是進(jìn)展過(guò)程概率預(yù)測(cè),屬于回顧性研究,因此缺失值替換完成后,要對(duì)患者初始GFR及選取的終點(diǎn)GFR進(jìn)行分析,即GFR隨跟蹤時(shí)間FUP變化的斜率,利用該斜率將患者分為P與NP這2類。統(tǒng)計(jì)3期患者的斜率,根據(jù)其數(shù)值正負(fù)將患者分為2類,第一類患者斜率為負(fù),即P類,第二類患者斜率為正,即NP類。因此P的GFR隨時(shí)間推移而下降,NP的GFR隨時(shí)間推移上升或保持穩(wěn)定,這也符合醫(yī)學(xué)事實(shí),進(jìn)一步統(tǒng)計(jì)得到二者的均值與標(biāo)準(zhǔn)差如表1所示。
表1 P與NP的GFR隨跟蹤時(shí)間變化斜率的均值與標(biāo)準(zhǔn)差
是否進(jìn)展樣本數(shù)占比/%均值標(biāo)準(zhǔn)差NP3630.253.84313.84943P8369.75-2.57882.59660總計(jì)119100-0.63604.22566
由表1可得NP樣本數(shù)為36,其人口統(tǒng)計(jì)特性為3.84±3.85;P樣本數(shù)為83,其人口統(tǒng)計(jì)特性為-2.58±2.60。
圖3 概率預(yù)測(cè)算法流程
本文具體概率預(yù)測(cè)算法設(shè)計(jì)流程如圖3所示。首先,對(duì)篩選得到的樣本進(jìn)行特征差異性對(duì)比及相關(guān)性分析,根據(jù)設(shè)置的顯著性水平對(duì)不同特征進(jìn)行篩選及分組;將各組特征分別作為輸入,利用J48,LR,DTAPO對(duì)樣本數(shù)據(jù)集進(jìn)行分類,得到分類精確率、召回率,比較不同方法下二者的大??;選取高精確率計(jì)算進(jìn)展概率;分析不同特征數(shù)目下不同算法對(duì)概率預(yù)測(cè)的影響,構(gòu)建進(jìn)展概率預(yù)測(cè)模型。
2.2.1 特征選取及分組
為了篩選有效特征,首先對(duì)P與NP這2類患者的特征差異性進(jìn)行對(duì)比,統(tǒng)計(jì)2類患者各特征的最小值、最大值、平均值,并比較各值的偏差。由偏差值可得,P與NP的最大值、最小值及平均值都有所差異。由于不同特征指標(biāo)量綱不一致,利用公式(1)對(duì)它們進(jìn)行歸一化處理,其中x表示2類患者各特征指標(biāo)值,xmin,xmax分別為2類患者各特征的最小值和最大值。結(jié)合偏差值及歸一化數(shù)據(jù),得到P與NP差異較大的特征有SCr,UR,Na,Cl,CRP,HB,ALB,NS,CO2。
(1)
完成特征差異性對(duì)比后,接著利用皮爾遜相關(guān)系數(shù)(Pearson)、斯皮爾曼相關(guān)系數(shù)(Spearman)、肯德?tīng)栂嚓P(guān)系數(shù)(Kendall)這3種相關(guān)性分析方法對(duì)特征進(jìn)行相關(guān)性分析。由于GFR是表征CKD進(jìn)展的唯一參數(shù),故只需判斷各特征與終點(diǎn)GFR的相關(guān)性。通過(guò)相關(guān)性分析并結(jié)合特征差異性對(duì)比結(jié)果及醫(yī)生建議,將特征根據(jù)不同程度的顯著性水平分為4組,如表2所示。
表2 根據(jù)顯著水平得到的特征輸入分組
組別特征數(shù)輸入的特征120所有特征(除Sex)213FUP、SCr、ALB、UR、Ca、K、HB、SBP、NS、P、CO2、GLC、CRP311FUP、SCr、ALB、UR、Ca、K、HB、SBP、NS、P、CO246FUP、SCr、ALB、UR、Ca、K
2.2.2 數(shù)據(jù)分類
利用J48,LR,DTAPO對(duì)不同特征輸入的樣本數(shù)據(jù)集進(jìn)行分類,分為P與NP這2類,得到精確率(P)、召回率(R)如表3所示。圖4、圖5分別表示不同輸入特征下不同算法的分類精確率和召回率對(duì)比。由圖可得,相比其他算法,DTAPO算法的分類精確率一般較高,LR算法的召回率一般較高。
圖4 不同特征數(shù)目下不同算法的分類精確率對(duì)比
圖5 不同特征數(shù)目下不同算法的分類召回率對(duì)比
表3 不同特征數(shù)目下不同算法的分類精確率、召回率
特征數(shù)J48LRDTAPOP1/%R1/%P2/%R2/%P3/%R3/%2091.0089.6091.9789.8693.0272.731389.4087.5093.4390.4698.8491.671191.7091.7093.3392.6494.1975.00689.4087.5094.0394.0394.1975.00
2.2.3 概率計(jì)算
由文獻(xiàn)[19]可知,CKD患者由3期進(jìn)入4期的發(fā)生率約為0.4,以此為基礎(chǔ),結(jié)合分類得到的精確率和召回率來(lái)計(jì)算患者由3期進(jìn)展到4期或5期的概率。本文利用公式(2)即貝葉斯公式[20]對(duì)概率展開(kāi)計(jì)算。
(2)
其中,P(A)表示事件A發(fā)生的概率,P(B)表示事件B發(fā)生的概率,P(A|B)表示已知B發(fā)生后,事件A發(fā)生的概率,P(B|A)表示已知A發(fā)生后,事件B發(fā)生的概率。
設(shè)只有2類患者:P與NP,記患者由3期進(jìn)入4期或5期為事件B1,未由3期進(jìn)入4期或5期為事件B2,則P(B1)=0.4, P(B2)=0.6;假設(shè)某患者被看做P(進(jìn)展患者),記作事件A,則事件A發(fā)生的概率P(A)如公式(3),式中P(A|B1)表示發(fā)生率已知情況下,患者被正確分類為P的可能性,其值與表3所得的分類精確率的值相同,式中的P表示分類精確率。
P(A)=P(A|B1)P(B1)+[1-P(A|B1)]P(B2)
=P·P(B1)+(1-P)P(B2)
(3)
患者被看做P的條件下,確實(shí)由3期進(jìn)入4期或5期的概率記作P(B1|A),其計(jì)算公式為公式(4),式中P表示分類精確率。
P(B1|A)=P(B1)P(A|B1)/P(A)
=P(B1)·P/[P·P(B1)+(1-P)P(B2)]
(4)
根據(jù)表3及公式(4),計(jì)算得到概率結(jié)果如表4所示,圖6為不同輸入特征數(shù)目下不同算法所得進(jìn)展概率的對(duì)比。
表4 不同特征數(shù)目下不同算法進(jìn)展概率計(jì)算結(jié)果
特征數(shù)J48J48-LRLRDTAPODTAPO-LR200.87080.88420.88420.89880.8988130.84900.90460.90460.98270.9827110.88050.90320.90320.91530.915360.84900.91300.91300.91530.9153
圖6 不同特征數(shù)目下不同算法的進(jìn)展概率對(duì)比圖
由圖6可得,相比其他算法,DTAPO-LR和DTAPO算法得到的預(yù)測(cè)概率更高。結(jié)合表3可得,雖然2種算法有相同的預(yù)測(cè)概率,但DTAPO-LR效果更好,該方法充分發(fā)揮了邏輯回歸算法和蟻群路徑優(yōu)化算法的優(yōu)勢(shì),不僅分類效果好,而且預(yù)測(cè)的進(jìn)展概率高,更具說(shuō)服力,因此最終選取DTAPO-LR方法構(gòu)建進(jìn)展概率預(yù)測(cè)模型。
本文將邏輯回歸和蟻群路徑優(yōu)化決策樹(shù)算法結(jié)合應(yīng)用于CKD患者進(jìn)展概率預(yù)測(cè)模型的構(gòu)建,預(yù)測(cè)患者由3期到4期或5期的進(jìn)展情況。通過(guò)實(shí)驗(yàn)分析,當(dāng)特征數(shù)目為13時(shí),其分類精確率為98.84%,由該精確率預(yù)測(cè)得到患者確實(shí)由3期進(jìn)展到4期或5期的概率為0.9827。結(jié)果表明,本文提出的CKD進(jìn)展概率預(yù)測(cè)模型,可以很好地識(shí)別風(fēng)險(xiǎn)患者,輔助醫(yī)生決策,并引導(dǎo)患者及早治療,提高患者生存率,在CKD診斷及治療中具有良好的應(yīng)用前景。
參考文獻(xiàn):
[1] 劉迅,唐驊,湯穎,等. 中國(guó)腎小球?yàn)V過(guò)率評(píng)估方程在慢性腎臟病患者的應(yīng)用評(píng)價(jià)[J]. 中華腎臟病雜志, 2009,25(3):165-169.
[2] Vijayarani S, Dhayanand S. Kidney disease prediction using SVM and ANN algorithms[J]. International Journal of Computing and Business Research (IJCBR), 2015,6(2).
[3] 林麗娟,陳興強(qiáng),吳琳虹,等. 血壓控制對(duì)老年慢性腎病患者病情進(jìn)展的影響[J]. 中國(guó)現(xiàn)代醫(yī)學(xué)雜志, 2015,25(31):78-81.
[4] Chase H S, Hirsch J S, Mohan S, et al. Presence of early CKD-related metabolic complications predict progression of stage 3 CKD: A case-controlled study[J]. BMC Nephrology, 2014,15, doi: 10.1186/1471-2369-15-187.
[5] Khannara W, Iam-On N, Boongoen T. Predicting duration of CKD progression in patients with hypertension and diabetes[M]// Intelligent and Evolutionary Systems. Springer, 2016:129-141.
[6] Liang Yong, Liu Cheng, Luan Xinze, et al. Sparse logistic regression with a L1/2penalty for gene selection in cancer classification[J]. BMC Bioinformatics, 2013,14, doi: 10.1186/1471-2105-14-198.
[7] Aqlan F, Markle R, Shamsan A. Data mining for chronic kidney disease prediction[C]// Proceedings of the 2017 Industrial and Systems Engineering Research Conference. 2017:1789-1794.
[8] 孫穎,楊君慧. Logistic回歸與分類樹(shù)模型的比較[J]. 西安工業(yè)大學(xué)學(xué)報(bào), 2014,34(9):689-692.
[9] 李瑞紅,李智,童玲. 蟻群路徑優(yōu)化決策樹(shù)在慢性腎病分期診斷中的應(yīng)用[J]. 軟件導(dǎo)刊, 2017,16(2):135-138.
[10] Dorigo M, Di Caro G. Ant colony optimization: A new meta-heuristic[C]// Proceedings of the 1999 Congress on Evolutionary Computation. 1999,2:1470-1477.
[11] Quinlan J R. C4.5: Programs for Machine Learning[M]. San Mateo: Morgan Kaufmann Publishers, 1993:17-42.
[12] Dorigo M, Di Caro G, Gambardella L M. Ant algorithms for discrete optimization[J]. Artificial Life, 1999,5(2):137-172.
[13] 賀躍,鄭建軍,朱蕾. 一種基于熵的連續(xù)屬性離散化算法[J]. 計(jì)算機(jī)應(yīng)用, 2005,25(3);637-638.
[14] 張宇. 決策樹(shù)分類及剪枝算法研究[D]. 哈爾濱:哈爾濱理工大學(xué), 2009.
[15] Ma Yingchun, Zuo Li, Chen Jianghua, et al. Modified glomerular filtration rate estimating equation for Chinese patients with chronic kidney disease[J]. Journal of the American Society of Nephrology, 2006,17(10):2937-2944.
[16] 花琳琳,施念,楊永利,等. 不同缺失值處理方法對(duì)隨機(jī)缺失數(shù)據(jù)處理效果的比較[J]. 鄭州大學(xué)學(xué)報(bào)(醫(yī)學(xué)版), 2012,47(3):315-318.
[17] 沈琳,陳千紅,譚紅專. 缺失數(shù)據(jù)的識(shí)別與處理[J]. 中南大學(xué)學(xué)報(bào)(醫(yī)學(xué)版), 2013,38(12):1289-1294.
[18] Peres P L D, Bonatti I S, Borelli W C. The linear interpolation method: A sampling theorem approach[J]. Sba Controle & Automa??o Sociedade Brasileira de Automatica, 2003,14(4):439-444.
[19] Baek S D, Baek C H, Kim J S, et al. Does stage III chronic kidney disease always progress to end-stage renal disease? A ten-year follow-up study[J]. Scandinavian Journal of Urology and Nephrology, 2012,46(3):232-238.
[20] Peng Chenglin, Xiao Shouzhong, Nie Zhiwei, et al. Applying Bayes’ theorem in medical expert systems[J]. IEEE Engineering in Medicine and Biology Magazine, 1996,15(3):76-79.