基于体检数据机器学习分析的糖尿病风险预测模型
2021-07-20郑家浩王爱民于滨冯超南纪俊
郑家浩 王爱民 于滨 冯超南 纪俊
摘要: 针对糖尿病风险预测中数据单一导致预测误差较大的问题,本研究基于体检电子病历数据分析搭建空腹血糖预测模型,探究适合进行空腹血糖预测建模的方法,预测血糖指标及糖尿病的患病风险。基于数据挖掘基本流程,进行数据预处理,采用序列后向算法进行特征选择,使用决策树、随机森林、SVM、逻辑回归及朴素贝叶斯分类5种机器学习算法进行建模预测,并验证所构建模型的效果。研究结果表明,五种算法的准确率均高于88%,其中SVM准确率最高,达96.7%;敏感度均高于66%,随机森林敏感度最高,为95.1%;特异度均高于88%,逻辑回归特异度最高,为97.0%;AUC的值均高于0.8,随机森林最高为0.942。综合比较序列后向选择算法,随机森林算法更适合搭建糖尿病风险预测模型。该研究对通过电子病历数据进行空腹血糖预测的准确度更高,具有很高的应用价值。
关键词: 体检数据; 空腹血糖; 机器学习算法; 糖尿病风险预测
中图分类号: TP181; R587.1 文献标识码: A
糖尿病是由多种复杂原因导致的终身代谢性疾病,以慢性高血糖为显著特征[1],根据2019年第九版全球糖尿病地图显示,20~79岁的糖尿病成年患者约有4.63亿[2]。空腹血糖是糖尿病筛查的指标之一,对空腹血糖的预测可预测患病风险,为医生对体检人员身体发展情况提供建设性意见。2015年,ShafiHabibi等人[3]利用决策树算法对伊朗地区22 398例糖尿病患者的诊断数据进行分析,准确率达71.7%;2018年,López B等人[4]利用随机森林构建糖尿病预测模型,对677份单核苷酸多态性数据研究,预测模型最佳AUC值达0.89;2018年,肖辉等人[5]使用全国13家三甲医院的调查报告和体检数据;2019年,张占林等人[6]针对乌鲁木齐市2个社区7个月内35~74岁的6 857条体检数据进行糖尿病风险预测,结果表明随机森林算法的预测准确度较高;基于文献研究发现,糖尿病风险预测模型采用的数据集大多基于西方白种人群建立[78],但研究表明白种人群建立的糖尿病风险预测模型[9]并不适用于其他种族,用户数据包含生活习惯、病史等个人隐私,收集过程相对困难,且研究数据单一,大多数采用同年的体检数据预测,误差较大,此外特征选择大多根据经验,忽略了与血糖、糖尿病无直接相关性的数据项对空腹血糖的影响。基于此,本研究选用某体检机构连续4年的体检数据预测空腹血糖,表征糖尿病患病风险。通过序列后向选择算法筛选日常体检项目数据得到研究对象,探究更实用的空腹血糖预测模型。该研究对糖尿病预测具有重要意义。
1 资料与方法
1.1 研究对象
本研究采用北京某体检机构的数据,共108 386名用户的9 691 699条体检信息数据,时间范围为2011年1月至2014年12月,其中连续4年体检人员有8 788人,经过数据清洗,最终将7 129名体检者连续4年的体检数据作为实验数据集。其中,男性3 876名,年龄为7~79岁,女性3 253名,年龄为10~74岁,男女比例分布如图1所示,7 129名体检者年龄分布如图2所示,体检者年龄最小为7岁,年龄最大为79岁,平均年龄33岁。
1.2 决策树
决策树(decision tree,DT)[10]是一种某项属性与其值的映射关系,自顶向下递归的方式构造形成树状结构。决策树是一种常见机器学习预测算法,使用信息学中信息熵的概念判断节点的纯度构建决策树。构建决策树自根节点开始,依次未分类项的数据属性进行测试,按照算法进行计算,将结果逐层输出分支,直至到达末端输出的叶节点,并将叶节点存放的类别作为决策结果。
2 模型設计
本研究实验过程大致分为数据预处理、数据降维、建立模型和预测[21]四部分,空腹血糖预测模型流程图如图3所示。
2.1 数据预处理
实验数据来自某体检中心2011年1月至2014年12月间共108 386条体检者信息。数据预处理包括删除存在数据错误和缺失数据;标准化数据项结果中的非数据型或文本型记录;删除个人信息中涉及的隐私信息。体检数据对数据项进行选择的标准如下:选择糖尿病相关联数据项,如血脂、尿糖、血清高密度脂蛋白胆固醇、脂肪肝、收缩压、舒张压等;选择体检者参加的常规项目,如血常规项目,尿常规项目等;较少数体检者的项目,如某类实验室检查等不选择。
数据清洗后获得7 129名体检者连续4年的体检数据。数据集共有139个特征,包括局部特征(每年有45个数据项,共3年),主要是血常规、尿检、生化、超声、心电等项目,还包括4个全局特征,即第4年空腹血糖、身高、年龄和性别,其中身高为4年身高数据均值;年龄为第3年的年龄;性别为第3年性别,第4年空腹血糖为目标预测变量。
2.2 数据降维
序列后向选择(sequential backward selection,SBS)[22]是数据集所含全部特征集O,从特征全集O中删除一个特征x,使用删除特征x后的数据集建模,循环此步骤直至得到最优评价函数。
本文特征选择应用序列后向选择算法,从全部特征集开始,每次从特征集中去掉按照随机森林算法得到的特征重要性最低的一个特征,直至剩余两个特征,寻找所有特征集合所构建模型AUC值最高的特征集,将这个特征集称为最佳特征子集[22],最佳特征子集所构建模型AUC的值最高为0.919。随机森林特征重要性如表2所示,前17项为所使用体检项,包含3年数据项共49项。
2.3 建模
使用决策树、随机森林、SVM、朴素贝叶斯分类和逻辑回归5种学习算法,利用最佳特征子集进行建模。以第4年的空腹血糖为目标预测变量,将值大于7 mmol/L的赋值1,定为阳性;小于等于7 mmol/L赋值0,定为阴性,进行建模预测,预测结果为1,则患糖尿病风险高,反之,风险低。实验过程中使用R语言4.0.2版本,以及R语言集成的rpart_4.115、randomForest_4.614和e1071_1.73等程序包进行建模,并对模型参数进行调整。
3 结果比较
为充分利用数据,本研究采用10折交叉验证方法在不同算法上建模。将数据集随机分成10份,每次取9份作为训练集,剩余1份作为预测集,循环10次,确保所有数据都用于训练或预测。采用以上5种算法对数据集进行训练和验证,求取每组所得结果的准确率、敏感度、特异度、AUC作为此种算法的评价指标。5种算法预测结果如表3所示。由表3可以看出,AUC值最高的是随机森林算法,但决策树算法和逻辑回归的AUC值也超过0.9;从准确率角度来看,所有算法均高于88%,最高算法为SVM,高达96.7%,最低是朴素贝叶斯分类,为88.5%;从敏感度角度来看,最高算法为随机森林,高达95.1%,最低是SVM,为66.4%;从特异度角度来看,最高算法为SVM,高达98.7%,最低是朴素贝叶斯,为88.9%。综合4个指标,随机森林算法较好。随机森林算法模型特征重要性如表4所示,其中重要排名前三的体检项为前3年空腹血糖。表4将每一年的体检项作为一个数据项进行分析,导致表2的排名有出入。由表4中可以看出,大部分特征的第3年特征的重要性高于其它年,说明最近一年的体检情况更好的表征现在的身体状况,对预测未来一年空腹血糖更重要,但不能忽视前两年体检数据的影响。
4 结束语
本研究基于连续4年的体检数据,使用5种学习算法,利用最佳特征子集建立糖尿病风险预测模型,并对模型进行评价和比较。其中,随机森林所建模型综合评价最好,准确率为93.4%,更适合搭建以空腹血糖为标准的糖尿病风险预测模型。结合目前国内外研究成果,证明随机森林算法表现更好。该研究对定期体检人群身体状况可以实现精准预测,不仅针对糖尿病患者,也为健康人群未来身体状况提供参考意见。本研究所用数据均来自某体检中心,由于地理位置的限制存在一定局限性,未来将结合其它地区数据进行验证,探究区域间实验结果的差异。下一步将使用更多的特征选择算法和建模算法优化糖尿病風险预测模型,并将其用于研究其它体检指标或慢性病的预测模型。
参考文献:
[1] 杨传玲. 糖尿病治疗的临床护理研究[J]. 养生保健指南, 2019(21): 58.
[2] 吕若瑜. 最新版“全球糖尿病地图”里的中国景象[J]. 江苏卫生保健, 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] 肖辉, 郝元涛, 徐晓, 等. 基于随机森林算法和Logistic回归模型的糖尿病风险因素研究[J]. 中国数字医学, 2018, 13(1): 3335.
[6] 张占林, 孙勇, 妥小青, 等. 随机森林算法对体检人群糖尿病患病风险的预测价值研究[J]. 中国全科医学, 2019, 22(9): 10211026.
[7] 师正坤, 郭佳, Parry M, 等. 中国糖尿病风险评估工具的研究现状与进展[J]. 中国全科医学, 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] 曹正凤. 随机森林算法优化研究[D]. 北京: 首都经济贸易大学, 2014.
[13] 王晓杰, 孙仁诚, 邵峰晶. 基于随机森林的用户对在线课程的放弃预测[J]. 青岛大学学报: 工程技术版, 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] 鞠维欣, 赵希梅, 魏宾, 等. 基于深度学习的肝硬化识别[J]. 青岛大学学报: 工程技术版, 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] 冀伟. 基于数据挖掘的2型糖尿病风险预测模型研究[D]. 北京: 北京工业大学, 2019.
[20] Fawcett T. An introduction to ROC analysis[J]. Pattern Recognition Letters, 2006, 27(8): 861874.
[21] 邵峰晶, 于忠清. 数据挖掘原理与算法[M]. 2版. 北京: 中国水利水电出版社, 2003.
[22] 肖文翔. 基于电子病历分析的糖尿病患病风险数据挖掘方法研究[D]. 青岛: 青岛大学, 2016.