王琦琪,戴家佳,崔熊衛(wèi)
(1.貴州大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,貴州貴陽 550025;2.重慶醫(yī)科大學(xué)附屬第二醫(yī)院,重慶 400010)
據(jù)國際糖尿病聯(lián)合會(huì)2019年報(bào)告顯示,全球糖尿病患者數(shù)約為4.63億,中國患病人數(shù)高達(dá)1.16億,居世界第一。近年來,隨著生活水平的提高,我國糖尿病患者數(shù)量不斷增加,其防治已成為我國重要的公共衛(wèi)生問題。糖尿病是繼心腦血管疾病、惡性腫瘤之后第三大威脅人類健康的慢性病,糖尿病患者可能會(huì)出現(xiàn)嚴(yán)重并發(fā)癥,如腦血管意外、視網(wǎng)膜脫落、腎臟損傷等,不僅給患者的生活帶來嚴(yán)重影響,還給社會(huì)帶來了沉重的經(jīng)濟(jì)負(fù)擔(dān)。對于大多數(shù)糖尿病患者,如果及早發(fā)現(xiàn)并開始治療,并發(fā)癥將很容易控制,甚至可以避免發(fā)生。因此,進(jìn)行早期糖尿病風(fēng)險(xiǎn)預(yù)測,對于降低糖尿病及其并發(fā)癥的發(fā)病率、節(jié)約國家醫(yī)療資源具有重要意義。
機(jī)器學(xué)習(xí)是重要的信息挖掘技術(shù),目前已有很多國內(nèi)外學(xué)者采用機(jī)器學(xué)習(xí)方法預(yù)測糖尿病患病風(fēng)險(xiǎn)。例如,Joshi等采用支持向量機(jī)(Support Vector Machine,SVM)、logistic回歸、神經(jīng)網(wǎng)絡(luò)3種機(jī)器學(xué)習(xí)方法預(yù)測患者糖尿病患病風(fēng)險(xiǎn),最后發(fā)現(xiàn)SVM的預(yù)測效果最好;Singh等運(yùn)用樸素貝葉斯、隨機(jī)森林(Random Forest,RF)和基于函數(shù)的多層感知器算法進(jìn)行糖尿病患病風(fēng)險(xiǎn)建模,結(jié)果顯示RF的預(yù)測準(zhǔn)確率最高;Gill等將遺傳算法和RF用于糖尿病的有效診斷和預(yù)測;Bassam等運(yùn)用SVM預(yù)測2型糖尿病的患病風(fēng)險(xiǎn);陳思含等結(jié)合多因素Logistic回歸分析和具有集成學(xué)習(xí)框架的XGBoost算法,構(gòu)建了2型糖尿病并發(fā)癥預(yù)測模型;郭奕瑞等對社區(qū)居民進(jìn)行流行病學(xué)調(diào)查,分別應(yīng)用神經(jīng)網(wǎng)絡(luò)和Logistic回歸建立2型糖尿病預(yù)測模型,應(yīng)用受試者工作特征曲線評(píng)價(jià)預(yù)測模型的檢驗(yàn)效能,結(jié)果顯示神經(jīng)網(wǎng)絡(luò)模型較Logistic回歸模型具有更好的預(yù)測效能;陳真誠等為實(shí)現(xiàn)糖尿病的早期篩查,利用鄰近算法和神經(jīng)網(wǎng)絡(luò)兩種方法進(jìn)行分類,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò),能對糖尿病進(jìn)行更好的分類和識(shí)別,起到早期篩查的作用。
通過梳理現(xiàn)有文獻(xiàn)發(fā)現(xiàn),較少學(xué)者采用集成學(xué)習(xí)模型對糖尿病進(jìn)行分類預(yù)測。集成學(xué)習(xí)算法不是一種單獨(dú)的機(jī)器學(xué)習(xí)算法,而是通過結(jié)合多個(gè)機(jī)器學(xué)習(xí)器完成學(xué)習(xí)任務(wù),可以說是集百家之所長,具有較高的準(zhǔn)確率。因此,本文以糖尿病患病風(fēng)險(xiǎn)預(yù)測作為分析視角,分別采用代表性集成學(xué)習(xí)算法RF、GBDT(Gradient Boosting Decision Tree)和XGBoost,以及已有文獻(xiàn)研究證實(shí)分類效果較好的單一分類器模型SVM和BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)建立5種分類預(yù)測模型,通過多種性能評(píng)價(jià)指標(biāo)探討預(yù)測糖尿病患病風(fēng)險(xiǎn)的最佳分類模型。
SVM是一種有監(jiān)督學(xué)習(xí)算法,可用于解決數(shù)據(jù)挖掘或模式識(shí)別領(lǐng)域中的數(shù)據(jù)分類問題。其基本思想是建立一個(gè)最優(yōu)決策超平面,使得該平面兩側(cè)距平面最近的兩類樣本之間的距離最大化,從而使得該模型用于分類問題時(shí)能具有良好的泛化能力。SVM適用于樣本較小、非線性及高維空間問題,可與其他機(jī)器學(xué)習(xí)算法聯(lián)合使用。SVM通過引入拉格朗日常數(shù)解決凸二次優(yōu)化問題,表示為:
ω
||為正常超平面的范數(shù),b
為常數(shù),λ
為拉格朗日乘數(shù),x
(i
=1,2,…n
)為線性可分的向量,y
為輸出類。人工神經(jīng)網(wǎng)絡(luò)是一種抽象的非線性信息處理系統(tǒng),模擬大腦神經(jīng)網(wǎng)絡(luò)處理、記憶信息的方式。BP神經(jīng)網(wǎng)絡(luò)作為最基礎(chǔ)的神經(jīng)網(wǎng)絡(luò),由1個(gè)輸入層、任意個(gè)隱含層和1個(gè)輸出層構(gòu)成,是一種通過誤差反向傳播算法訓(xùn)練的前饋性網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)的基本思想是整個(gè)學(xué)習(xí)過程由信號(hào)的正向傳播和誤差的反向傳播兩部分組成,當(dāng)輸出值與期望值之間的誤差達(dá)到截止誤差后,訓(xùn)練即停止;若輸出值和期望值不一致,則進(jìn)入誤差的反向傳播階段。誤差反向傳播即將誤差以某種形式分?jǐn)偨o各層的所有單元,從而獲得誤差信號(hào)作為修正各單元權(quán)值的依據(jù)。
RF模型是在CART(Classification and Regression Tree)決策樹模型的基礎(chǔ)上衍生而來,結(jié)合了Bagging集成學(xué)習(xí)方法和隨機(jī)子空間理論。作為一種監(jiān)督學(xué)習(xí)算法,RF能克服單一分類預(yù)測模型的一些弊端,獲得更高的分類預(yù)測準(zhǔn)確率。其是通過集成學(xué)習(xí)將多棵決策樹集成在一起的一種機(jī)器學(xué)習(xí)算法,比單個(gè)決策樹性能更優(yōu)。RF在樣本和特征選取上具有隨機(jī)性,這兩個(gè)隨機(jī)性的引入使其不容易陷入過擬合,具有很好的抗噪能力。
GBDT是由Freidman提出的改進(jìn)Boosting算法,其以CART決策樹作為基分類器,將一系列CART基分類器串聯(lián)起來得到集成模型。GBDT的基本思想是借鑒梯度下降法,根據(jù)當(dāng)前模型損失函數(shù)的負(fù)梯度信息不斷訓(xùn)練新加入的弱分類器,然后將訓(xùn)練好的弱分類器以累加的形式整合到現(xiàn)有模型中。GBDT用于二分類的損失函數(shù)表示為:
XGBoost算法是一個(gè)優(yōu)化的分布式梯度增強(qiáng)庫,其以CART決策樹作為基分類器,采用新增樹形成的新函數(shù)擬合之前預(yù)測的殘差,然后累加所有樹的預(yù)測結(jié)果,得到最終預(yù)測結(jié)果。XGBoost的目標(biāo)函數(shù)為:
n
為訓(xùn)練樣本數(shù)量,k
為決策樹數(shù)量,f
為基學(xué)習(xí)器。損失函數(shù)l
用于衡量真實(shí)分?jǐn)?shù)與預(yù)測分?jǐn)?shù)的差距。正則化項(xiàng)Ω包含兩個(gè)部分,其中T
表示葉子節(jié)點(diǎn)數(shù)量,W
表示葉子節(jié)點(diǎn)分?jǐn)?shù);γ
和λ
表示懲罰力度,可控制葉子節(jié)點(diǎn)數(shù)量并限制節(jié)點(diǎn)分?jǐn)?shù),防止模型過分貼合訓(xùn)練數(shù)據(jù)而損失預(yù)測效果導(dǎo)致過擬合。Y
表示,解釋變量依次用X
(i
=1,2,…,16)表示。Table1 Variable assignment表1 變量賦值
將520個(gè)樣本按照7∶3的比例分為訓(xùn)練集和測試集兩部分。將患病賦值為1,未患病賦值為0,組間比較采用卡方檢驗(yàn)。選取對糖尿病患病有顯著影響的變量作為自變量輸入建立預(yù)測模型,采用有結(jié)果標(biāo)簽的訓(xùn)練集對模型進(jìn)行訓(xùn)練,然后對其各項(xiàng)參數(shù)和評(píng)價(jià)指標(biāo)進(jìn)行優(yōu)化,利用網(wǎng)格搜索確定各模型最優(yōu)參數(shù),再采用測試數(shù)據(jù)對預(yù)測模型進(jìn)行分類準(zhǔn)確性的評(píng)價(jià)比較。采用Python對其進(jìn)行數(shù)據(jù)分析。
X
),delayed healing(X
)兩個(gè)變量對是否患糖尿病無顯著性影響,因此在構(gòu)建分類模型時(shí),采用余下14個(gè)變量作為自變量輸入。Table2 Single factor analysis of diabetespre valence表2 糖尿病患病情況單因素分析
在二分類預(yù)測模型評(píng)估指標(biāo)中,混淆矩陣可用于判斷分類器分類效能優(yōu)劣,具體如表3所示。采用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1分?jǐn)?shù)和AUC 5個(gè)指標(biāo)評(píng)價(jià)各模型性能。
Table3 Confusion matrix表3 混淆矩陣
(1)準(zhǔn)確率(Accuracy,ACC)。該指標(biāo)為預(yù)測結(jié)果和真實(shí)結(jié)果同為正例和同為反例占所有樣本的比例,反映分類器對整個(gè)樣本的判定能力,表示為:
(2)精確率(Precision)。該指標(biāo)為預(yù)測正確的正例數(shù)占預(yù)測為正例總量的比例,表示為:
(3)召回率(Recall)。該指標(biāo)為預(yù)測正確的正例數(shù)占真正正例數(shù)的比例,表示為:
(4)F1分?jǐn)?shù)。該指標(biāo)表示為精確率與召回率的調(diào)和平均值,表示為:
(5)AUC。該指標(biāo)表示ROC曲線下的面積,取值在0.5~1之間;ROC曲線橫軸表示負(fù)例分錯(cuò)的概率,縱軸表示正例分對的概率。AUC可以直觀地評(píng)價(jià)分類器性能優(yōu)劣,其值越大越好。
基于SVM、BP神經(jīng)網(wǎng)絡(luò)、RF、GBDT、XGBoost算法建立預(yù)測模型,5種分類器的預(yù)測結(jié)果見表4,性能比較結(jié)果見表5??梢钥闯觯琗GBoost的區(qū)分度最好,AUC達(dá)到99.41%。從準(zhǔn)確率、精確率、召回率和F1結(jié)果可以看出,XGBoost的預(yù)測準(zhǔn)確率最高,達(dá)到97.44%,其精確率和召回率在5個(gè)模型中最佳。單個(gè)分類器SVM的預(yù)測準(zhǔn)確率最差。在集成學(xué)習(xí)模型中,XGBoost的預(yù)測結(jié)果略優(yōu)于GBDT,明顯優(yōu)于RF??傮w而言,集成學(xué)習(xí)模型的預(yù)測性能比單個(gè)分類器有所提升,能夠更為精確地進(jìn)行糖尿病風(fēng)險(xiǎn)預(yù)測。
預(yù)測性能最好的XGBoost算法給出的變量重要性如圖1所示。影響權(quán)重排名前十的因素依次為煩渴、多尿癥、脫發(fā)、感到無力疲憊、體重突然減輕等。
Table 4 Prediction results of the five classifier test sets表4 5個(gè)分類器測試集預(yù)測結(jié)果
Table 5 Comparison of prediction performance of five classifiers表5 5個(gè)分類器預(yù)測性能比較
Fig.1 Variable importance ranking圖1 變量重要性排序
本研究使用UCI數(shù)據(jù)庫,基于集成學(xué)習(xí)算法RF、GBDT和XGBoost建立糖尿病患病風(fēng)險(xiǎn)預(yù)測模型。就預(yù)測準(zhǔn)確率而言,XGBoost(Accuracy=97.44%)略優(yōu)于GBDT(Accuracy=96.79%),明顯優(yōu)于RF(Accuracy=94.23%)。與單一分類器SVM(Accuracy=93.59%)和BP神經(jīng)網(wǎng)絡(luò)(Accuracy=94.87%)相比,XGBoost的預(yù)測效果最好,而RF和BP神經(jīng)網(wǎng)絡(luò)的預(yù)測準(zhǔn)確率僅相差0.64%。針對其他評(píng)價(jià)指標(biāo),XGBoost算法的精確率、召回率、F1值、AUC值均最高,分別達(dá)到99.02%、97.12%、98.06%、99.41%。集成學(xué)習(xí)算法是目前對結(jié)構(gòu)化數(shù)據(jù)擬合效果最好的算法之一,本文研究結(jié)果也證實(shí)了這一點(diǎn)。
研究表明,糖尿病患者血糖升高導(dǎo)致血管內(nèi)滲透壓升高,使大腦產(chǎn)生口干欲飲的感覺?;颊叽罅匡嬎髮?dǎo)致全身血流量增加,腎臟灌注壓升高,從而導(dǎo)致尿量增加。此外,糖尿病患者存在胰島素分泌不足或胰島素抵抗等現(xiàn)象,機(jī)體細(xì)胞不能正常利用血糖供能,使患者產(chǎn)生饑餓感,促使其不斷進(jìn)食保證能量供應(yīng),且機(jī)體會(huì)通過分解脂肪、蛋白質(zhì)等供能,因此患者體重減輕。本文建立的XGBoost模型分析影響因素權(quán)重排名前十的因素為煩渴、多尿癥、脫發(fā)、無力、體重減輕等,與醫(yī)學(xué)研究結(jié)論相符。
綜上所述,本文通過集成學(xué)習(xí)算法構(gòu)建的早期糖尿病患病風(fēng)險(xiǎn)預(yù)測模型可較為精確地分類出潛在患病人群,但仍有優(yōu)化空間。未來可采用更大規(guī)模的數(shù)據(jù)集以及更準(zhǔn)確的特征分類算法進(jìn)行糖尿病患病風(fēng)險(xiǎn)預(yù)測,以幫助臨床醫(yī)生識(shí)別早期糖尿病患者,減少糖尿病并發(fā)癥發(fā)生,提高患者生活質(zhì)量,減輕社會(huì)負(fù)擔(dān)。