APP下载

糖尿病相关预测模型构建的机器学习方法*

2024-01-02陈长生

中国卫生统计 2023年4期
关键词:准确度机器预测

邹 琼 张 杨 万 毅 陈长生△

糖尿病是以高血糖为特征的一种代谢性疾病,血糖高大多是由胰岛素分泌缺陷或其生物作用受损引起,患糖尿病时持续存在的高血糖,会损害各种组织,特别是脑、肾、心脏、神经等[1]。目前,糖尿病是全世界最主要的慢性非传染性疾病之一[2]。新版糖尿病地图指出,在全球范围4.63亿糖尿病患者中,有2.319亿未诊断,未诊断率为50.1%,其中绝大多数为2型糖尿病患者。中国有超过6500万糖尿病患者尚未确诊,这些患者没有明显的糖尿病症状,如果不能早发现、及时干预,将增加糖尿病相关并发症的风险,从而极大地增加糖尿病相关医疗保健费用[3]。在糖尿病相关方面的预测分析研究领域,目前更多的是采用机器学习(machine learning,ML)的方法。

机器学习是一类经典的预测模型,已在慢性病发病风险识别以及危险因素研究中得到了广泛应用[4]。这是一门研究机器如何适应环境和从示例中学习,并通过模仿人类学习过程来解决各种复杂问题的知识。受医学神经系统的启发,机器学习算法在计算机系统上得到了应用和发展,特别适用于大数据分析和多变量之间复杂关系的研究。目前,机器学习方法众多,有Bagging、Boosting、支持向量机(support vector machines,SVM)、人工神经网络(artificial neural network,ANN)等。

将机器学习方法应用于糖尿病相关方面的预测可以提高临床治疗效果[5]。根据美国糖尿病协会(The American diabetes association,ADA),诊断糖尿病可基于血糖标准,即:糖化血红蛋白(≥6.5%)、空腹血糖(≥7.0 mmol/L)、OGTT(2小时值≥11.1 mmol/L)和有典型高血糖或高血糖危重症状的患者,随机血糖≥11.1 mmol/L[6]。这种传统≥11.1 mmol/L诊断方法既费时又费钱,限制了低收入国家的实际应用。而机器学习方法相比传统方法,耗时较少,并且几乎没有预测成本[7]。利用机器学习算法在现有数据基础上建立预测模型,不仅能够为医学领域提供高效的预测方法,而且能够直接干预疾病预后的相关因素,以减轻疾病的危害以及减少个人和社会的负担[8]。

糖尿病相关预测模型分类

预测模型使流行病学和卫生统计学的研究成果更好地与临床实践相结合,通过高危筛查、临床循证指南等方式促进疾病的三级预防,降低疾病的发病率和死亡率[9]。根据使用对象的不同,糖尿病相关的预测模型可分为以下三类:

1.糖尿病发病风险评估模型:它是一种针对健康人(非糖尿病患者)的糖尿病风险预测,主要用于识别糖尿病的高危人群,并对这些人群的糖尿病风险因素进行干预,从而将疾病消灭在萌芽状态,避免发生糖尿病,属于一级预防的范畴[10]。这类模型操作简便,成本低廉,可尽早发现糖尿病高危人群,及时制定防控措施,有效降低糖尿病的发病率或减缓糖尿病的发生,并能一定程度降低卫生负担[11],具有重大的公共卫生学意义。

2.糖尿病筛查模型:该模型是对社区人群进行糖尿病筛查的工具,指导社区糖尿病筛查,然后对模型检测到的糖尿病患者进行深入的糖尿病检测。这类模型的目的是从社区人群中识别患者,从而达到早发现和早治疗的目的,属于二级预防的范畴[10]。

3.糖尿病并发症预测模型:也称为糖尿病临床模型,主要用于预测糖尿病患者未来几年,甚至是更长的时间内发生某一种或某几种并发症的可能性,甚至可以预测并发症发生的顺序,属二级预防和三级预防的范畴。国外开展该研究较早,有些相关模型已经程序化,形成了预测模型软件,并可应用在移动终端上,其中最著名的有英国的前瞻性糖尿病研究模型(UK prospective diabetes study model,UKPDS model)和阿基米德糖尿病模型(Archimedes Model)[10]。

机器学习分类

机器学习最早应用于人工智能领域,属于人工智能的核心,是一种实现人工智能的方法。机器学习是通过“吃大量的数据”来开展“训练”,并通过各种算法规则学习完成任务的方法。机器学习传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、Adaboost等。从学习方法上来分,机器学习算法可分为监督学习(如判别分类问题)、无(非)监督学习(如聚类问题)、半监督学习、强化学习、集成学习和深度学习[12]。

1.有监督学习

在监督学习下,为一组示例或训练模块提供正确的输出,并在这些训练集的基础上,通过将其输出与作为输入的输出进行比较,算法学习如何更准确地响应。监督学习也称为通过示例学习或从示例中学习。监督学习任务可分为分类任务和回归任务,分类任务时,输出是离散的,而回归任务时,输出是连续的[13]。常见的有监督学习有朴素贝叶斯(naive Bayes,NB)、决策树(decision tree,DT)、k-近邻(k-nearest neighbor,KNN)、人工神经网络(ANN)、支持向量机(SVM)、随机森林(random forest,RF)、logistic回归(logistic regression,LR)等。

2.无(非)监督学习

无监督学习方法是从数据中识别未识别的现有模式,以便从中导出规则,适用于数据类别未知的情况。无监督学习的训练数据没有标记,被认为是一种基于统计的学习方法,旨在从未标记数据中发现隐藏结构[13]。常见的无监督学习有k-均值聚类、主成分分析、系统聚类、独立成分分析等。

3.半监督学习

半监督学习是一种学习范式,研究计算机和自然系统(如人类)在有标记和无标记数据的情况下如何学习。半监督学习的目标是了解组合标记和未标记数据如何改变学习行为,并设计利用这种组合的算法。半监督学习在机器学习和数据挖掘中具有重要意义,可在标记数据稀缺或昂贵的情况下使用现成的未标记数据来改进监督学习任务。一些流行的半监督学习模型包括自训练、混合模型、联合训练和多视图学习、基于图的方法和半监督支持向量机[14]。

4.强化学习

从不懂到通过不断学习、总结规律,最终学会的过程便是强化学习。强化学习被认为是一种中间类型的学习,其算法只提供一个反应,告诉输出是否正确。算法必须探索并排除各种可能性,以获得正确的输出。强化学习被认为是与批评家一起学习,其算法不会对问题提出任何建议或解决方案[15]。强化学习算法主要分为两类:基于价值的算法(value-based)和基于策略的算法(policy-based)。强化学习的常见应用场景包括两个方面:动态系统和机器人控制[15]。

5.集成学习

集成学习是一个总称,通常指的是在有监督的机器学习任务中结合多个诱导因素来做出决策的方法。集成方法被认为是许多机器学习方法面临挑战的最先进的解决方案,通过训练多个模型并结合其预测来提高单个模型的预测性能[16]。三种最常见的集成学习分别为Bagging、Boosting和Stacking,可进一步分为两类:顺序集成方法和并行集成方法。顺序集成方法是利用基础学习者之间的依赖性,按顺序构建基础学习者的方法,例如Boosting;并行集成方法是利用基础学习器之间的彼此独立性,按并行构建基础学习器的方法,例如Bagging和随机森林(Bagging的一个扩展变体)[13]。

6.深度学习

深度学习(deep learning,DL)是一类机器学习技术,利用多层非线性信息处理进行有监督或无监督的特征提取和转换,以及模式分析和分类[17]。深度学习主要采用人工神经网络(ANN)来实现,是一种受生物神经系统工作方式启发而构造出的数学模型。人工神经网络由人工神经元及其连接构成,人工神经元的工作逻辑可以使用多种线性、非线性数学函数来定义,其作用参数可通过训练数据学习优化而来。常见的深度神经网络(deep neural network,DNN)有多层感知机(multi-layer perceptron,MLP)、卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)、深度自编码器(deep autoencoder,DAE)[18]。

基于机器学习的糖尿病相关预测

鉴于糖尿病控制的重要性,近年来,研究人员探索了各种算法并调整了许多超参数,以获得最适合现实生活应用的结果。

Dong等[19]采用机器学习方法构建了2型糖尿病患者3年糖尿病肾病风险预测模型,并可用作临床试验的筛选工具。文中比较了光梯度提升机(light gradient boosting machine,Light GBM)、极端梯度提升算法(eXtreme gradient boosting,XGBoost)、自适应提升算法(adaptive boosting,AdaBoost)、人工神经网络、决策树、支持向量机和logistic回归这7种机器学习算法的预测性能,结果Light GBM模型的AUC(area under the curve,AUC)最高(0.815),灵敏度为0.741,特异度为0.797,准确度为0.768。在此基础上,SHAP框架(SHapley additive exPlanation,SHAP)可更好地解释LightGBM模型结果。

Ihnaini等[20]采用集成深度学习模型和数据融合技术用于糖尿病预测,提出了一种针对糖尿病的智能医疗推荐系统(smart healthcare recommendation system for multidisciplinary diabetes patients,SHRS-M3DP),并使用德国法兰克福医院和皮马印第安人糖尿病数据集进行模拟。同时将所提出的集成深度学习模型与其他分类器(SVM、LR、KNN、NB、RF和DT)进行了预测效果的比较,所提出模型性能最佳,在融合数据集上的准确度99.64%、精确度100%、灵敏度99%。Ihnaini等的系统改进了疾病诊断性能,并主张将其应用于糖尿病患者的自动诊断和推荐系统。

Li等[21]利用中医舌诊与机器学习技术相结合建立一种可用于评估高危重状态血糖患者的预测模型。为获得更好的分类效果,选取NB、LR、RF、SVM、XGBoost、ANN、KNN和DT这8种经典机器学习模型,采用Stacking技术进行模型融合,建立了Stacking模型。同时基于Vgg16、Vgg19、DenseNet121、ResNet50、InceptionV3和Xception开发深度学习模型,结果Stacking模型的微观平均AUROC(area under the receiver operating characteristic curve,AUROC)为0.87,宏观平均AUROC为0.84,ResNet50模型的微观平均AUROC为0.83,宏观平均AUROC为0.82。

Thenappan等[22]为挖掘糖尿病数据,设计了一种高准确度的糖尿病早期预测模型。该研究基于EPCA(enhanced principal component analysis,EPCA)进行特征提取,并采用改进的支持向量机(modified support vector machine,MSVM)对疾病进行预测和分类。同时与已有方法(KNN、DT、RF、LR、MLP、SVM、NB)进行了分类效果比较,从性能分析来看,所提出方法的准确度为97.13%,灵敏度为97.46%,特异度为97.11%,表现更出色。

Gupta等[23]基于皮马印第安人糖尿病数据集,利用深度学习(DL)中的MLP和量子机器学习(quantum machine learning,QML)分别给出了相应的预测模型。DL模型的准确度0.95,灵敏度0.95,特异度为0.95,结果表明所开发的DL模型具有优势,并获得了大多数性能指标的最佳值。

Tan等[24]提出了一种用于糖尿病风险预测的GA-stacking(genetic algorithm-stacking,GA-stacking)集成学习模型。将采用与不采用遗传算法(GA)的KNN、SVM、LR、NB、CNN和stacking模型在准确度、特异度、灵敏度等指标上进行对比,结果表明加入GA可以提高预测效率,GA-stacking在青岛体检数据集上的平均准确度、灵敏度、特异度分别为85.88%、39.24%、99.92%,在UCI(university of california at irvine,UCI)数据集上的准确度、灵敏度、特异度分别为98.71%、96.77%、100%。

Chang等[25]提出了基于机器学习(ML)算法(朴素贝叶斯、随机森林和决策树J48)的电子诊断系统,用于诊断糖尿病。朴素贝叶斯、随机森林和决策树J48结合SHAP框架形成了可解释的机器学习模型。在完整的皮马印第安人糖尿病数据集上,随机森林在准确度(79.57%)、特异度(75.00%)和AUC(86.24%)方面优于朴素贝叶斯和决策树J48,而决策树J48具有最佳的灵敏度(88.43%)。J48决策树始终保持88.43%(完整数据集)到89.92%(五因素数据子集)的灵敏度,无论有多少特征需要处理,它都能很好地预测糖尿病的存在。朴素贝叶斯在微调特征时表现更好,而随机森林在更多特征时表现更好。

Taha等[26]提出了一种基于模糊聚类和logistic回归混合元分类器的集成学习方法,用于预测2型糖尿病。与6个单独的分类器和2个集成方法(软投票、硬投票)相比,该集成学习方法在皮马印第安人数据集和Schorling数据集上的准确度、灵敏度、AUC分别为99.31%、99.10%、99.10%和95.20%、95.40%、94.10%。

Sadeghi等[27]评估了深度神经网络(DNN)、极端梯度增强(XGBoost)和随机森林(RF)在预测德黑兰血脂和葡萄糖研究(Tehran lipid and glucose study,TLGS)队列数据中少数民族糖尿病分类方面的性能。结果XGBoost和DNN(除了准确度)在所有指标方面都优于RF。与XGBoost相比,DNN的AUROC具有更高的值(0.857),而重复编辑最近邻(repeated edited nearest neighbors,RENN)使DNN的AUROC从0.857增加到了0.862。

Akula等[28]为了准确预测2型糖尿病,提出了一种基于监督机器学习的集成模型,其中有7种机器学习算法[KNN、SVM、DT、RF、梯度提升(gradient boosting)、MLP和NB],除NB之外的其他6种算法都存在非常低的精度,因此进一步将所有算法合并到加权平均或软投票集成模型中。集成模型在Practice Fusion和皮马印第安人数据集上的准确度、灵敏度、特异度分别为86.0%、88.4%、84.7%和89.1%、90.9%、88.4%。

Deberneh等[29]使用方差分析、卡方检验和递归特征消除方法选择了空腹血糖、糖化血红蛋白、甘油三酯和体重指数等12个特征指标。LR、RF、SVM、XGBoost、基于混淆矩阵的分类器集成方法(confusion matrix-based classifier integration approach,CIM)、stacking分类器(stacking classifier,ST) 和软投票 (soft voting,SV)算法被用来生成预测模型。结果表明RF、SVM、CIM、SV的准确度都为0.73,ST的精确度最高(0.75),SVM的灵敏度最高(0.74),但这些算法之间的性能差异在测试集上可忽略不计。

Kumar等[30]评估了英国NICE(national institute for health and care excellence,NICE)现有指南对评估新加坡女性妊娠期糖尿病风险的预测能力,并使用CatBoost(categorical boosting)梯度提升算法和SHAP框架开发了一种无创预测模型。结果显示NICE指南对新加坡女性的可预测性较差,AUC仅为0.60(95%CI:0.51~0.70),该无创预测模型的AUC为0.82(95%CI:0.71~0.93),大大优于英国NICE指南。

Al-Nussairi等[31]提出了一种新的基于改进灰狼优化算法(enhanced grey wolf optimizer,EGWO)的人工神经网络算法用于糖尿病患者的分类。在皮马印第安人糖尿病数据集上,与其他受自然启发的优化算法所训练的人工神经网络进行了比较,所有算法的分类准确度范围为(0.69~0.76),其中EGWO算法的平均准确度为0.76。

Wei等[32]应用随机森林和LASSO回归建模预测糖尿病、血胰岛素、空腹血糖(FPG)和口服葡萄糖耐量试验后2小时的血糖。结果RF预测糖尿病时,发现集和验证集的AUROC分别为0.98和0.72,导致了性能差和过度拟合。而LASSO回归预测糖尿病时,发现集和验证集的AUROC分别为0.80和0.78,显示出相对较高的性能而没有过拟合。

Ravaut等[33]为预测2型糖尿病的发病率,利用加拿大安大略省行政健康数据建立了一个人群水平的极端梯度增强(XGBoost)模型,可处理不同的特征类型和缺失值,且对结果可进行很好的解释。该模型的AUC为80.26%(95%CI:80.21%~80.29%),并具有良好的校准图,外部和前瞻性验证效果好。

讨 论

1.数据集

皮马印第安人数据集是国内外糖尿病相关研究最常用的数据集,而其他较小的数据集主要来自医院。相关预测模型的性能有时会受到数据集的数据结构特点的影响,一方面是特征平衡且结构良好的少量样本数据集容易构建较优模型,但较少的属性特征可能无法反映多因素疾病的复杂性[34],且规模较小的研究可能不太具有广泛的公共卫生意义[35];另一方面是数据质量和数据代表性在预测模型构建中要非常重视,容易影响结果的准确性和模型的可推广性。糖尿病是一个全球性的公共卫生问题,除了本文提及的相关预测模型研究外,目前大多数的建模研究使用的都是特定人群、特定医院或诊所以及世界上某个特定区域数据集,所研究的模型是否能够有效地应用于其他地区的人群还尚不清楚,为了便于应用并推广,有关方法需进一步在不同的人群中反复进行训练、测试和验证。

2.单一模型与集成模型

机器学习是一个迭代的“试错”过程,运用算法组合可获得最佳模型。由于先前大多机器学习方法都基于单一学习方法建模,较常用的单一模型有支持向量机、朴素贝叶斯、logistic回归和随机森林等,其准确性不高,泛化能力较差,容错性较差[36]。所以,目前糖尿病相关预测模型的发展趋势是集成模型的构建,集成模型一般比单一模型的预测性能更好,例如Taha等[26]建立的模糊C均值聚类(FCM)和logistic回归混合元分类器模型以及Ihnaini等[20]给出的集成深度学习模型。集成学习方法虽比单一学习方法效果好,但仍有许多集成模型的预测性能和可靠性低,这也限制了其广泛的应用。因此建议研究者未来更加关注如何最大限度地提升集成模型的性能,以便推广和应用。

3.机器学习的可解释性。

传统统计学方法中,对于输入值的每一步处理都具有相对明确而简单的关系[37]。而到目前,机器学习的可解释性仍是一个难题。虽然机器学习算法的表示能力有所提高,但随着模型复杂度的增加,机器学习算法的可解释性变差,通过算法训练出的模型也被视为一个黑盒子[38]。预测模型可解释性越低,成本负担就越重,为了提高机器学习的可解释性,很多研究者都使用了Shapley加法解释(SHAP),使得模型对最终用户来说变得清晰易懂。另外,还有基于规则的解释、激活值最大化、隐层神经元分析、分离式表征等机器学习模型的解释技术[38]。目前仍有很多机器学习的研究未考虑到可解释性的问题,这在将来是值得进一步探究的方面。

4.优化技术

实际应用中,机器学习还存在离散性、无约束性等问题。近几十年来,为了提高不同系统的性能和降低计算成本,各种优化算法已经被提出。传统的优化方法存在一些缺陷和局限性,如收敛于局部最优解和搜索空间未知等[39]。因此,对于特定的模型和数据集,找出最适合的优化技术非常重要。

事实上,大多数现代优化技术通常是启发式和元启发式的,这在解决复杂优化问题时非常有效。元启发式算法一般可分为四类:群体智能算法、进化算法、基于物理的算法和基于人类的算法[39]。目前,元启发式算法被广泛用于优化机器学习或深度学习,甚至集成到混合预测模型上以开发可靠的预测模型,以达到灵活、设计简单,不仅能更快地解决问题,而且实现也不困难。例如文献[31]使用改进的灰狼优化技术来优化人工神经网络,由于神经网络易陷入极小值,收敛速度慢等缺陷,需要添加合适的算法进行优化[40]。灰狼优化技术是一种群体智能算法,类似还有遗传算法,麻雀搜索算法,蚁群优化、粒子群优化、鲸鱼优化、和狮子优化算法等。

展 望

我们发现上述有关模型中都报告了准确度,同时根据研究需要也选择了其他一些性能指标进行报告。由于所报告的指标存在异质性,模型之间性能的比较就具有挑战性。希望未来研究者能从混淆矩阵和AUC(ROC)中至少计算三个参数(灵敏度、特异度和AUC)。理想情况下,应报告五个(准确度、灵敏度、特异度、精确度和F1分数)或更多参数(AUC等),以便于比较。如果其中有一个缺失了,还可从其他参数进行估计[34]。

目前,基于机器学习的预测方法虽然在疾病发生和预后方面具有良好的预测效果,但也存在着数据量大、一定时间内数据连续、泛化能力弱、过拟合(over-fitting)、陷入局部极小、对随机和不稳定数据不敏感、对不平衡数据的预测效果不理想等缺点[41]。其中,不平衡数据分类问题是极其重要的研究领域,需要引起重视。在建模时充分考虑非平衡数据的影响,可获得预测性能高的模型,从而为我国人群糖尿病的预防和控制提供科学方法和依据[42]。未来有关方法学的医学研究中将会更加注重上述缺点,从而建立更优秀的机器学习模型,在人群慢性病防治领域中将发挥更大的作用。

猜你喜欢

准确度机器预测
无可预测
机器狗
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
机器狗
未来机器城
幕墙用挂件安装准确度控制技术
不必预测未来,只需把握现在
动态汽车衡准确度等级的现实意义
高炉重量布料准确度的提高