鄭家浩 王愛民 于濱 馮超南 紀(jì)俊
摘要: ?針對糖尿病風(fēng)險(xiǎn)預(yù)測中數(shù)據(jù)單一導(dǎo)致預(yù)測誤差較大的問題,本研究基于體檢電子病歷數(shù)據(jù)分析搭建空腹血糖預(yù)測模型,探究適合進(jìn)行空腹血糖預(yù)測建模的方法,預(yù)測血糖指標(biāo)及糖尿病的患病風(fēng)險(xiǎn)?;跀?shù)據(jù)挖掘基本流程,進(jìn)行數(shù)據(jù)預(yù)處理,采用序列后向算法進(jìn)行特征選擇,使用決策樹、隨機(jī)森林、SVM、邏輯回歸及樸素貝葉斯分類5種機(jī)器學(xué)習(xí)算法進(jìn)行建模預(yù)測,并驗(yàn)證所構(gòu)建模型的效果。研究結(jié)果表明,五種算法的準(zhǔn)確率均高于88%,其中SVM準(zhǔn)確率最高,達(dá)96.7%;敏感度均高于66%,隨機(jī)森林敏感度最高,為95.1%;特異度均高于88%,邏輯回歸特異度最高,為97.0%;AUC的值均高于0.8,隨機(jī)森林最高為0.942。綜合比較序列后向選擇算法,隨機(jī)森林算法更適合搭建糖尿病風(fēng)險(xiǎn)預(yù)測模型。該研究對通過電子病歷數(shù)據(jù)進(jìn)行空腹血糖預(yù)測的準(zhǔn)確度更高,具有很高的應(yīng)用價值。
關(guān)鍵詞: ?體檢數(shù)據(jù); 空腹血糖; 機(jī)器學(xué)習(xí)算法; 糖尿病風(fēng)險(xiǎn)預(yù)測
中圖分類號: TP181; R587.1 文獻(xiàn)標(biāo)識碼: A
糖尿病是由多種復(fù)雜原因?qū)е碌慕K身代謝性疾病,以慢性高血糖為顯著特征[1],根據(jù)2019年第九版全球糖尿病地圖顯示,20~79歲的糖尿病成年患者約有4.63億[2]。空腹血糖是糖尿病篩查的指標(biāo)之一,對空腹血糖的預(yù)測可預(yù)測患病風(fēng)險(xiǎn),為醫(yī)生對體檢人員身體發(fā)展情況提供建設(shè)性意見。2015年,ShafiHabibi等人[3]利用決策樹算法對伊朗地區(qū)22 398例糖尿病患者的診斷數(shù)據(jù)進(jìn)行分析,準(zhǔn)確率達(dá)71.7%;2018年,López B等人[4]利用隨機(jī)森林構(gòu)建糖尿病預(yù)測模型,對677份單核苷酸多態(tài)性數(shù)據(jù)研究,預(yù)測模型最佳AUC值達(dá)0.89;2018年,肖輝等人[5]使用全國13家三甲醫(yī)院的調(diào)查報(bào)告和體檢數(shù)據(jù);2019年,張占林等人[6]針對烏魯木齊市2個社區(qū)7個月內(nèi)35~74歲的6 857條體檢數(shù)據(jù)進(jìn)行糖尿病風(fēng)險(xiǎn)預(yù)測,結(jié)果表明隨機(jī)森林算法的預(yù)測準(zhǔn)確度較高;基于文獻(xiàn)研究發(fā)現(xiàn),糖尿病風(fēng)險(xiǎn)預(yù)測模型采用的數(shù)據(jù)集大多基于西方白種人群建立[78],但研究表明白種人群建立的糖尿病風(fēng)險(xiǎn)預(yù)測模型[9]并不適用于其他種族,用戶數(shù)據(jù)包含生活習(xí)慣、病史等個人隱私,收集過程相對困難,且研究數(shù)據(jù)單一,大多數(shù)采用同年的體檢數(shù)據(jù)預(yù)測,誤差較大,此外特征選擇大多根據(jù)經(jīng)驗(yàn),忽略了與血糖、糖尿病無直接相關(guān)性的數(shù)據(jù)項(xiàng)對空腹血糖的影響?;诖?,本研究選用某體檢機(jī)構(gòu)連續(xù)4年的體檢數(shù)據(jù)預(yù)測空腹血糖,表征糖尿病患病風(fēng)險(xiǎn)。通過序列后向選擇算法篩選日常體檢項(xiàng)目數(shù)據(jù)得到研究對象,探究更實(shí)用的空腹血糖預(yù)測模型。該研究對糖尿病預(yù)測具有重要意義。
1 資料與方法
1.1 研究對象
本研究采用北京某體檢機(jī)構(gòu)的數(shù)據(jù),共108 386名用戶的9 691 699條體檢信息數(shù)據(jù),時間范圍為2011年1月至2014年12月,其中連續(xù)4年體檢人員有8 788人,經(jīng)過數(shù)據(jù)清洗,最終將7 129名體檢者連續(xù)4年的體檢數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集。其中,男性3 876名,年齡為7~79歲,女性3 253名,年齡為10~74歲,男女比例分布如圖1所示,7 129名體檢者年齡分布如圖2所示,體檢者年齡最小為7歲,年齡最大為79歲,平均年齡33歲。
1.2 決策樹
決策樹(decision tree,DT)[10]是一種某項(xiàng)屬性與其值的映射關(guān)系,自頂向下遞歸的方式構(gòu)造形成樹狀結(jié)構(gòu)。決策樹是一種常見機(jī)器學(xué)習(xí)預(yù)測算法,使用信息學(xué)中信息熵的概念判斷節(jié)點(diǎn)的純度構(gòu)建決策樹。構(gòu)建決策樹自根節(jié)點(diǎn)開始,依次未分類項(xiàng)的數(shù)據(jù)屬性進(jìn)行測試,按照算法進(jìn)行計(jì)算,將結(jié)果逐層輸出分支,直至到達(dá)末端輸出的葉節(jié)點(diǎn),并將葉節(jié)點(diǎn)存放的類別作為決策結(jié)果。
2 模型設(shè)計(jì)
本研究實(shí)驗(yàn)過程大致分為數(shù)據(jù)預(yù)處理、數(shù)據(jù)降維、建立模型和預(yù)測[21]四部分,空腹血糖預(yù)測模型流程圖如圖3所示。
2.1 數(shù)據(jù)預(yù)處理
實(shí)驗(yàn)數(shù)據(jù)來自某體檢中心2011年1月至2014年12月間共108 386條體檢者信息。數(shù)據(jù)預(yù)處理包括刪除存在數(shù)據(jù)錯誤和缺失數(shù)據(jù);標(biāo)準(zhǔn)化數(shù)據(jù)項(xiàng)結(jié)果中的非數(shù)據(jù)型或文本型記錄;刪除個人信息中涉及的隱私信息。體檢數(shù)據(jù)對數(shù)據(jù)項(xiàng)進(jìn)行選擇的標(biāo)準(zhǔn)如下:選擇糖尿病相關(guān)聯(lián)數(shù)據(jù)項(xiàng),如血脂、尿糖、血清高密度脂蛋白膽固醇、脂肪肝、收縮壓、舒張壓等;選擇體檢者參加的常規(guī)項(xiàng)目,如血常規(guī)項(xiàng)目,尿常規(guī)項(xiàng)目等;較少數(shù)體檢者的項(xiàng)目,如某類實(shí)驗(yàn)室檢查等不選擇。
數(shù)據(jù)清洗后獲得7 129名體檢者連續(xù)4年的體檢數(shù)據(jù)。數(shù)據(jù)集共有139個特征,包括局部特征(每年有45個數(shù)據(jù)項(xiàng),共3年),主要是血常規(guī)、尿檢、生化、超聲、心電等項(xiàng)目,還包括4個全局特征,即第4年空腹血糖、身高、年齡和性別,其中身高為4年身高數(shù)據(jù)均值;年齡為第3年的年齡;性別為第3年性別,第4年空腹血糖為目標(biāo)預(yù)測變量。
2.2 數(shù)據(jù)降維
序列后向選擇(sequential backward selection,SBS)[22]是數(shù)據(jù)集所含全部特征集O,從特征全集O中刪除一個特征x,使用刪除特征x后的數(shù)據(jù)集建模,循環(huán)此步驟直至得到最優(yōu)評價函數(shù)。
本文特征選擇應(yīng)用序列后向選擇算法,從全部特征集開始,每次從特征集中去掉按照隨機(jī)森林算法得到的特征重要性最低的一個特征,直至剩余兩個特征,尋找所有特征集合所構(gòu)建模型AUC值最高的特征集,將這個特征集稱為最佳特征子集[22],最佳特征子集所構(gòu)建模型AUC的值最高為0.919。隨機(jī)森林特征重要性如表2所示,前17項(xiàng)為所使用體檢項(xiàng),包含3年數(shù)據(jù)項(xiàng)共49項(xiàng)。
2.3 建模
使用決策樹、隨機(jī)森林、SVM、樸素貝葉斯分類和邏輯回歸5種學(xué)習(xí)算法,利用最佳特征子集進(jìn)行建模。以第4年的空腹血糖為目標(biāo)預(yù)測變量,將值大于7 mmol/L的賦值1,定為陽性;小于等于7 mmol/L賦值0,定為陰性,進(jìn)行建模預(yù)測,預(yù)測結(jié)果為1,則患糖尿病風(fēng)險(xiǎn)高,反之,風(fēng)險(xiǎn)低。實(shí)驗(yàn)過程中使用R語言4.0.2版本,以及R語言集成的rpart_4.115、randomForest_4.614和e1071_1.73等程序包進(jìn)行建模,并對模型參數(shù)進(jìn)行調(diào)整。
3 結(jié)果比較
為充分利用數(shù)據(jù),本研究采用10折交叉驗(yàn)證方法在不同算法上建模。將數(shù)據(jù)集隨機(jī)分成10份,每次取9份作為訓(xùn)練集,剩余1份作為預(yù)測集,循環(huán)10次,確保所有數(shù)據(jù)都用于訓(xùn)練或預(yù)測。采用以上5種算法對數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證,求取每組所得結(jié)果的準(zhǔn)確率、敏感度、特異度、AUC作為此種算法的評價指標(biāo)。5種算法預(yù)測結(jié)果如表3所示。由表3可以看出,AUC值最高的是隨機(jī)森林算法,但決策樹算法和邏輯回歸的AUC值也超過0.9;從準(zhǔn)確率角度來看,所有算法均高于88%,最高算法為SVM,高達(dá)96.7%,最低是樸素貝葉斯分類,為88.5%;從敏感度角度來看,最高算法為隨機(jī)森林,高達(dá)95.1%,最低是SVM,為66.4%;從特異度角度來看,最高算法為SVM,高達(dá)98.7%,最低是樸素貝葉斯,為88.9%。綜合4個指標(biāo),隨機(jī)森林算法較好。隨機(jī)森林算法模型特征重要性如表4所示,其中重要排名前三的體檢項(xiàng)為前3年空腹血糖。表4將每一年的體檢項(xiàng)作為一個數(shù)據(jù)項(xiàng)進(jìn)行分析,導(dǎo)致表2的排名有出入。由表4中可以看出,大部分特征的第3年特征的重要性高于其它年,說明最近一年的體檢情況更好的表征現(xiàn)在的身體狀況,對預(yù)測未來一年空腹血糖更重要,但不能忽視前兩年體檢數(shù)據(jù)的影響。
4 結(jié)束語
本研究基于連續(xù)4年的體檢數(shù)據(jù),使用5種學(xué)習(xí)算法,利用最佳特征子集建立糖尿病風(fēng)險(xiǎn)預(yù)測模型,并對模型進(jìn)行評價和比較。其中,隨機(jī)森林所建模型綜合評價最好,準(zhǔn)確率為93.4%,更適合搭建以空腹血糖為標(biāo)準(zhǔn)的糖尿病風(fēng)險(xiǎn)預(yù)測模型。結(jié)合目前國內(nèi)外研究成果,證明隨機(jī)森林算法表現(xiàn)更好。該研究對定期體檢人群身體狀況可以實(shí)現(xiàn)精準(zhǔn)預(yù)測,不僅針對糖尿病患者,也為健康人群未來身體狀況提供參考意見。本研究所用數(shù)據(jù)均來自某體檢中心,由于地理位置的限制存在一定局限性,未來將結(jié)合其它地區(qū)數(shù)據(jù)進(jìn)行驗(yàn)證,探究區(qū)域間實(shí)驗(yàn)結(jié)果的差異。下一步將使用更多的特征選擇算法和建模算法優(yōu)化糖尿病風(fēng)險(xiǎn)預(yù)測模型,并將其用于研究其它體檢指標(biāo)或慢性病的預(yù)測模型。
參考文獻(xiàn):
[1] 楊傳玲. 糖尿病治療的臨床護(hù)理研究[J]. 養(yǎng)生保健指南, 2019(21): 58.
[2] 呂若瑜. 最新版“全球糖尿病地圖”里的中國景象[J]. 江蘇衛(wèi)生保健, 2020, 265(2): 56.
[3] Habibi S, Ahmadi M, Alizadeh S. Type 2 diabetes mellitus screening and risk factors using decision tree: results of data mining[J]. Global Journal of Health Science, 2015, 7(5): 304308.
[4] TorrentFontbona F, López B. Single nucleotide polymorphism relevance learning with random Forests for type 2 diabetes risk prediction[J]. Artificial Intelligence in Medicine, 2018, 85: 4349.
[5] 肖輝, 郝元濤, 徐曉, 等. 基于隨機(jī)森林算法和Logistic回歸模型的糖尿病風(fēng)險(xiǎn)因素研究[J]. 中國數(shù)字醫(yī)學(xué), 2018, 13(1): 3335.
[6] 張占林, 孫勇, 妥小青, 等. 隨機(jī)森林算法對體檢人群糖尿病患病風(fēng)險(xiǎn)的預(yù)測價值研究[J]. 中國全科醫(yī)學(xué), 2019, 22(9): 10211026.
[7] ?師正坤, 郭佳, Parry M, 等. 中國糖尿病風(fēng)險(xiǎn)評估工具的研究現(xiàn)狀與進(jìn)展[J]. 中國全科醫(yī)學(xué), 2015, 18(20): 23682372.
[8] Schulze M B, Hoffmann K, Boeing H, et al. An accurate risk score based on anthropometric, dietary, and lifestyle factors to predict the development of type 2diabetes[J]. Diabetes Care, 2007, 30(8): 510515.
[9] Chien K, Cai T, Hsu H, et al. A prediction model for type 2 diabetes risk among chinese people[J]. Diabetologia, 2009, 52(3): 443450.
[10] Rokach L, Maimon O. Topdoun induction of decision trees classifiersa survey[J]. IEEE Transactions ?on Systems Man and Cybernetics Part C Applications & Reviews, 2005, 35(4): 476487.
[11] Breiman L. Random Forests[J]. Machine Learning, 2001, 45: 532.
[12] 曹正鳳. 隨機(jī)森林算法優(yōu)化研究[D]. 北京: 首都經(jīng)濟(jì)貿(mào)易大學(xué), 2014.
[13] 王曉杰, 孫仁誠, 邵峰晶. 基于隨機(jī)森林的用戶對在線課程的放棄預(yù)測[J]. 青島大學(xué)學(xué)報(bào): 工程技術(shù)版, 2016, 31(4): 1821.
[14] Hefner J, Spradley M, Anderson B, et al. Ancestry assessment using random forest modeling[J]. J ForensicSci, 2014, 59(3): 583589.
[15] Cossock D, Zhang T. Statistical Analysis of Bayes Optimal Subset Ranking[J]. IEEE Transactions on Information Theory , 2008, 54(11): 51405154.
[16] Liaw A, Wiener M. Classification and regression by random forest[J]. R News, 2002, 2(3): 1822.
[17] 鞠維欣, 趙希梅, 魏賓, 等. 基于深度學(xué)習(xí)的肝硬化識別[J]. 青島大學(xué)學(xué)報(bào): 工程技術(shù)版, 2018, 31(4): 5460.
[18] Walker S H, Duncan D B. Estimation of the probability of an event as a function of several independent variables[J]. Biometrika, 1967, 54(1/2): 167179.
[19] 冀偉. 基于數(shù)據(jù)挖掘的2型糖尿病風(fēng)險(xiǎn)預(yù)測模型研究[D]. 北京: 北京工業(yè)大學(xué), 2019.
[20] Fawcett T. An introduction to ROC analysis[J]. Pattern Recognition Letters, 2006, 27(8): 861874.
[21] 邵峰晶, 于忠清. 數(shù)據(jù)挖掘原理與算法[M]. 2版. 北京: 中國水利水電出版社, 2003.
[22] 肖文翔. 基于電子病歷分析的糖尿病患病風(fēng)險(xiǎn)數(shù)據(jù)挖掘方法研究[D]. 青島: 青島大學(xué), 2016.