申思源,羅冬梅
安徽工業(yè)大學數(shù)理科學與工程學院,安徽馬鞍山 243002
糖尿病并發(fā)視網(wǎng)膜病變(Diabetic Retinopathy,DR)是糖尿病并發(fā)癥中最常見的微血管并發(fā)癥之一,屬于糖尿病的衰弱并發(fā)癥,患者的糖尿病病史越長,其發(fā)生DR 的概率就越高[1]。DR 患者的視網(wǎng)膜微血管系統(tǒng)易被破壞,會出現(xiàn)毛細血管基底膜增厚導致腫脹變形、血-視網(wǎng)膜屏障破壞,周皮細胞和內(nèi)皮細胞死亡等癥狀[2]。若病情進一步發(fā)展,新生血管可致使視網(wǎng)膜微血管系統(tǒng)扭曲,導致視網(wǎng)膜脫離,甚至失明[3]。近些年來,全球的DR患者正逐年增加,預計到2030年全球?qū)⒂?億的DR患者[4]。
目前對于DR 的臨床診斷有眼底照相和熒光素鈉眼底血管造影,熒光素鈉眼底血管造影檢查通過對糖尿病患者視網(wǎng)膜循環(huán)情況、血-視網(wǎng)膜屏障狀態(tài)等進行評價,從而判斷患者是否患有視網(wǎng)膜病[5]。除此之外,機器學習和人工智能相關(guān)方法在DR 診斷中的應用也越來越普遍。如Gunasekeran 等[6]利用人工智能建立DR 病變個體風險模型,并用其對患者進行風險分層;Schneck 等[7]建立基于多焦視網(wǎng)膜電流圖隱式時間延遲的多變量模型,并用其預測非增殖型DR 局部斑塊的發(fā)展。另外,Somasundaram 等[8]設計了一種Bagging 集成分類器ML-BEC,較好地實現(xiàn)早期DR 病變的篩選;而Zhang 等[9]則利用機器學習算法對60種血漿細胞進行因子分析,不僅得到與DR病變強相關(guān)的3種因子,還構(gòu)建了具有很好預測能力的隨機森林模型。
不同于以往學者利用機器學習方法進行特征篩選[10-14],本研究采用互信息作為工具衡量各個特征因素與糖尿病患者是否發(fā)生視網(wǎng)膜病變(label 變量)之間的依賴性,并根據(jù)依賴性篩選出DR 的關(guān)鍵因素,然后將它們作為入模變量,構(gòu)建5種常見的集成學習模型,最后將預測能力較強的3 種模型通過Stacking方法構(gòu)建組合模型。相校單一預測模型,組合模型的預測能力更強。
本研究所用數(shù)據(jù)來源于國家人口與健康科學數(shù)據(jù)共享臨床醫(yī)學科學數(shù)據(jù)中心(http://www.ncmi.cn)(301 醫(yī)院)提供的DR 數(shù)據(jù)集。數(shù)據(jù)集包含了3 000名糖尿病患者的87項生化檢測數(shù)據(jù),如血尿素、脂蛋白、尿肌酐、糖化血紅蛋白等,還包含患者的其他患病情況,例如高血壓、高脂血、腎病、肺部腫瘤、冠心病等。
表1展示了3 000 例患者的年齡分布,DR 患者主要集中在40~79 歲。男性患者共有1 874 人,占比62.5%,其中約有49.8%的患者患有視網(wǎng)膜病變;女性患者共有1 126 人,占比37.5%,其中約有50.3%的患者患有視網(wǎng)膜病變,說明男女性糖尿病患者患有視網(wǎng)膜病變的幾率相差不大。
表1 3 000例患者年齡分布Table 1 Age distribution of 3 000 patients
首先對數(shù)據(jù)進行異常值、缺失值檢查,對異常值進行刪除操作,對缺失值采用K-最近鄰算法[15]進行填補;然后計算每個特征與label變量之間的互信息,繪制條形圖并篩選出與label變量具有強依賴性的特征為關(guān)鍵因素;其次將篩選出的關(guān)鍵因素作為入模變量,構(gòu)建5 種集成學習模型,并從中篩選出預測能力排名前3 的模型;最后利用Stacking 方法建立3 種較優(yōu)單一模型的組合模型,并利用準確率、精確度、召回率、AUC值對組合模型進行綜合評價。
1.2.1 數(shù)據(jù)預處理通過對數(shù)據(jù)集的檢查,發(fā)現(xiàn)數(shù)據(jù)集中含有大量缺失數(shù)據(jù),不含有異常值。為增加模型的穩(wěn)定性,首先刪除缺失數(shù)據(jù)超過66.6%的特征,刪除后剩余71 個特征;然后利用K-最近鄰算法[15]對剩余特征的缺失數(shù)據(jù)進行插補。K-最近鄰算法當K的取值選擇合適時,在訓練時就對異常點不敏感,并且它不是顯式的訓練,訓練時間很短,適合大量數(shù)據(jù)插補。
1.2.2 變量篩選互信息是信息論中的一個重要的信息度量,度量的是一個隨機變量包含另一個隨機變量的信息,可以表明隨機變量之間的相互依賴性,兩變量依賴越強,二者之間的互信息越大[16]。其計算公式為:
其中,ξ、η為兩個隨機變量,其聯(lián)合分布為P(ξ,η),邊緣分布分別為P(ξ)、P(η);I(ξ;η)是信息η(信宿收到)出現(xiàn)后提供的有關(guān)信息ξ(信源發(fā)出)的信息量,能夠反映η對ξ的依賴性大小。
已有研究表明互信息可用于各個領域的特征選擇且效果良好,對后續(xù)預測模型的建立、分類有重要幫助。如Wang 等[17]選擇與金屬氧化物化學性質(zhì)的特性具有最大互信息的特征集來對不同的化學物質(zhì)進行分類;Samuel 等[18]利用基于互信息的特征選擇方法篩選出與中期電力負荷預測相關(guān)的特征,構(gòu)建一個高精度的中期電力負荷預測模型;Rish 等[19]將基于互信息的轉(zhuǎn)導特征選擇方法應用于遺傳性狀預測,取得優(yōu)于其它特征選擇方法的結(jié)果。
基于互信息的強大特征選擇能力,本研究利用RStudio 軟件中的Fselector 包計算預處理之后,計算71個因素與label變量之間的互信息,繪制條形圖,最終得到與DR有關(guān)的39個關(guān)鍵因素。
1.2.3 單一模型構(gòu)建及選擇從整理好的包含39 個特征的3 000 例病患數(shù)據(jù)中隨機抽取70%作為訓練集、30%作為測試集,分別利用隨機森林模型[20]、梯度提升決策樹(Gradient Boosting Decision Tree, GBDT)模型[21]、Logistic 回歸模型[22]、XgBoost 模型[23]以及支持向量機(Support Vector Machine,SVM)模型[24]對數(shù)據(jù)進行訓練驗證,并以準確率、精確度、召回率、AUC值為評價標準選擇出預測能力排名前3的模型。
1.2.4 Stacking 方法構(gòu)建組合模型Stacking 方法是通過增加算法的多樣性泛化誤差以提高模型的預測能力[25]。Stacking 方法的基本思想是:選取若干個模型作為初級分類器,利用這些分類器對原始數(shù)據(jù)進行訓練測試,得到一系列新的預測值;然后將這些新的預測值作為新的特征加入到原始數(shù)據(jù)中,這樣在訓練時,數(shù)據(jù)集中又增加了與label 變量具有強依賴性的信息;最后利用次級分類器對新生成的數(shù)據(jù)進行訓練,得到最終的模型。在初級分類器訓練數(shù)據(jù)時采用的是5 折交叉檢驗,該方法將數(shù)據(jù)分成5 份,每次取出一份作為測試集,其余作為訓練集[15]。這種交叉訓練方法可以避免模型過擬合,增強模型的穩(wěn)定性。本研究首先構(gòu)建5 種單一機器學習模型并進行篩選,然后選取其中最優(yōu)3 種模型通過Stacking方法構(gòu)建組合模型。
本研究首先計算出71個因素與label變量之間的互信息值,其中與label變量有依賴性關(guān)系的有39個,稱為關(guān)鍵因素,剩余的特征因素由于與label 變量沒有依賴性,不考慮作為入模變量。為更充分地顯示特征因素與label 變量之間的依賴性關(guān)系,繪制了71個特征因素和label 變量的互信息條形圖(橫坐標為對應的特征因素,縱坐標為各特征因素與label 變量的互信息值),如圖1所示。
圖1 特征因素與label變量的互信息Figure 1 Mutual information between characteristic factors and label variables
共找到39 種與DR 相關(guān)的關(guān)鍵因素。其中HEIGHT(身高)、NEPHROPATHY(腎?。?、SCR(血肌酐)、BU(血尿素)、ALB(血清白蛋白)、DBILI(直接膽紅素)、TP(總蛋白)、HBA1C(糖化血紅蛋白)、PCV(紅細胞積壓)、LEADDP(下肢動脈病變)、CRP(C 反應蛋白)、HB(血紅蛋白)與label 變量具有較強的依賴性,這與曹文哲等[26]建模得到的危險因素相符合,說明互信息方法能有效篩選危險因素。
利用R 軟件訓練數(shù)據(jù)并構(gòu)建5 種模型,并用測試集檢驗模型,得到5 種模型的準確率、精確度、召回率以及AUC,具體結(jié)果見表2。其中AUC 是根據(jù)混淆矩陣計算得到特異度(Specificity)和召回率(Recall)繪制的ROC 曲線下面積;準確度(Accuracy)、精確度(Precision)、召回率(Recall)、特異度(Specificity)的計算公式如下:
表2 5種模型的各項指標Table 2 Indicators of 5 models
其中,TP 表示真陽性的數(shù)量;TN 表示真陰性的數(shù)量;FP表示假陽性的數(shù)量;FN表示假陰性的數(shù)量。
由表2可知,隨機森林模型、Logistic 回歸模型和SVM 模型具有較高的AUC 值,分別為0.786、0.764、0.779。由于AUC 主要用于綜合評價模型的預測性能,鑒于以上3 種模型的高AUC 值,且其準確率、精確度、召回率也都處于較高水平,因此本研究選擇隨機森林模型、Logistic回歸模型和SVM 模型作為基礎來構(gòu)建組合模型。
選取的3 種單一模型(隨機森林模型、Logistic 回歸模型和SVM 模型)可以有3 種組合方式來構(gòu)建組合模型(表3)。Stacking 方法將模型進行融合后,可以發(fā)揮3 種算法的長處,并避免單一模型的短處,能夠?qū)崿F(xiàn)各種算法的取長補短,提升模型的預測能力。
表3 Stacking方法對模型組合結(jié)果Table 3 Model combination by Stacking method
圖2展示了構(gòu)建組合模型1 的流程圖。按照流程圖中的步驟分別構(gòu)建以上3種組合模型,利用構(gòu)建的模型對測試集進行預測,得到混淆矩陣,然后根據(jù)混淆矩陣計算出3 種組合模型的準確率、精確度、召回率(表4)。
圖2 組合模型構(gòu)建流程圖Figure 2 Flowchart of combination model construction
由表4可以看出,組合模型1 的準確率、召回率在3 種組合模型的評價指標中是最高的,組合模型3次之,組合模型2 最低;而精確度則組合模型2 最高,組合模型3 次之,組合模型1 最低。采取第三級綜合評價指標F1-score 對3 種組合模型進行進一步評價,其計算公式如下:
表4 3種模型的相應指標Table 4 Corresponding indicators of 3 combination models
其中,P 為精確度,R 為召回率。F1-score 可以進一步評估模型的準確率。根據(jù)表4結(jié)果進行計算,組合模型1、2、3 的F1-score 分別為0.807、0.774、0.753,顯然組合模型1 的F1-score 最高,說明了組合模型1 的預測性能最優(yōu)。
根據(jù)3 種組合模型的ROC 曲線,計算所對應的AUC值(圖3)。組合模型1的AUC值最高,組合模型3 次之,組合模型2 最低,且都達到了80%以上,均優(yōu)于單一模型。
圖3 3種組合模型的ROC曲線Figure 3 ROC curves of 3 combination models
綜合來看,構(gòu)建的3 種組合模型中,組合模型1的預測能力最優(yōu),即以SVM模型和Logistic回歸模型為初級分類器,隨機森林模型為次級分類器構(gòu)建的模型預測能力最強??梢岳迷撃P蛯μ悄虿』颊呤欠窕家暰W(wǎng)膜病變進行風險揭示。
當前關(guān)于DR的研究可以分為兩類:(1)根據(jù)眼底相機或多焦視網(wǎng)膜電流圖等收集到的圖像對DR進行智能診斷以及對患有DR的患者進行DR發(fā)展狀況評估;(2)對DR患者的生化數(shù)據(jù)進行特征選擇,根據(jù)選擇出的關(guān)鍵因素建立預測分類模型。但總體而言,基于圖像對DR預測模型的研究(圖像處理計算量大,對計算設備要求高)更多,而且其預測能力也很突出;而基于關(guān)鍵因素建立預測模型的研究(計算量相對較少,計算時間較短,對計算設備要求不高)相對較少且預測能力一般。本研究通過Stacking方法構(gòu)建多個單一模型的組合模型,不僅符合基于關(guān)鍵因素構(gòu)建預測模型的優(yōu)點(計算負擔?。?,其預測精度也得到了極大的提升(AUC達0.8以上)。更值得一提的是,本研究首次采用互信息對與DR有關(guān)的關(guān)鍵因素進行篩選,且效果良好,篩選出的與label變量具有較強的依賴性的因素,與其它研究通過模型篩選出的危險因素相一致[27],操作簡單。本研究構(gòu)建的組合模型1科學合理,且能以較高的準確率預測糖尿病患者是否患有視網(wǎng)膜病變,有助于DR患者的篩檢和預防,具有極大的臨床應用價值。