基于可解释性机器学习模型的重金属暴露与卒中风险预测的研究
2024-05-14许冬刘聪慧苏芳慧邱思峥童会霞
许冬 刘聪慧 苏芳慧 邱思峥 童会霞
脑卒中是世界范围内第二大死亡原因,也是致残的主要原因之一[1]。由于人口老龄化,其发病率正在随之增加。脑卒中的发病率和死亡率因国家、种族、区域不同而异,大多数脑卒中的风险因素是可控可防的,如高血压、糖尿病、高脂血症等[2],但也有其他难以改变的风险因素,如年龄、性别和遗传等。针对相关危险因素的预防和治疗措施在过去的数十年间显著减少了脑卒中的发病率和复发率[3,4],因此持续探索脑卒中的相关风险因素与防控措施具有重要意义。近年来,重金属污染被认为是心脑血管损害的一个危险因素而成为研究热点,但是目前文献中对重金属和脑卒中的相关研究仍较少。
重金属是自然界中广泛存在的一类物质,与人体健康相关的尤以铅(Pb)、汞(Hg)、镉(Cd)等为代表,目前已有很多研究揭示了它们对人体健康产生的负面影响[5,6]。随着全球工业化和城市化进程不断加快,环境中富含这些重金属物质的化合物污染与日俱增,中国也难以避免地受到重金属污染的影响[7,8]。因此探索这些重金属与脑卒中的关系,为预防脑卒中的发生发展提供新方向便显得尤为重要。
本研究试图通过机器学习识别模型的方法,分析人群中重金属与脑卒中的相关性,将重金属含量特征融入传统的影响因素中,为利用血样中重金属含量评价脑卒中风险提供有效的科学依据。
1 材料与方法
1.1 研究人群本研究数据来自于美国国家卫生与营养检查调查(National Health and Nutrition Examination Survey,NHANES)横断面研究。基于该横断面研究可以为公共卫生政策和干预提供新的方向和帮助,目前已有很多研究通过NHANES 探究心脑血管疾病的危险因素[9,10],但对重金属含量和脑卒中风险的相关影响的研究仍较少。本研究选取了2009~2018 年调查统计的49 693 人的相关数据(https://www.cdc.gov/nchs/nhanes/)。按照研究设定排除标准:①没有明确的关于是否患有脑卒中的结论;②未进行血液铅(Pb)、镉(Cd)、汞(Hg)和锰(Mn)含量的检测;③年龄<20 岁;④缺少其他必要的相关问卷调查或实验室检查结果。最终本研究纳入13 323 人。研究人群的基线特征见表1。
表1 NHANES 数据库2009~2018 年调查人群中非脑卒中组与脑卒中组基线资料
NHANES 数据收集相关方案均已得到NCHS研究伦理审查委员会批准,所有参与者均同意并签署书面知情同意书。
1.2 重金属检测方法首先进行样本稀释,对整个样本进行混合(涡流)以使得细胞成分均匀分布,在稀释样品制备完成后,使用质谱法直接测量全血样品中的铅(Pb)、镉(Cd)、汞(Hg)和锰(Mn)含量。
1.3 协变量的选择收集协变量包括性别(男、女);年龄(岁);种族(墨西哥裔美国人、其他西班牙裔、非西班牙裔白人、非西班牙裔黑人和其他种族);糖尿病(是、否);高胆固醇血症(是、否);高血压(是、否);教育程度(高中以下、高中、大学及以上);家庭收入贫困比率。
1.4 数据预处理我们从NHANES 数据库中下载提取出研究数据,从中选出和脑卒中相关的部分风险因素以及血液中重金属的含量。通过观察数据分布,可以得知按照脑卒中与否分类的数据集为不平衡数据集。因此,我们考虑使用随机降采样或合成少数类过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)的方法来平衡样本的分布。但经过实验发现该研究数据使用SMOTE 方法增加样本数量有导致模型过拟合的趋势,因此在本实验中选择随机降采样方法来平衡正负样本数量。按照7:3的比例将重采样后的样本随机划分为训练集和测试集,用以训练和评估机器学习模型。
1.5 机器学习模型与shap 可解释性选择三种较有代表性的机器学习算法来构建模型,分别是支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest,RF)、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)。SVM 算法可以对线性和非线性数据进行分类,首先将每个样本映射到n 维特征空间,其中n 是特征的数量;然后,将样本分为两个类的超平面,同时最大化两个类的边缘距离并最小化分类误差从而实现分类。RF 则是一种由许多决策树组成的集成分类器,RF 的不同决策树使用训练数据集的不同部分进行训练,最后通过决策树投票或平均的方式给出结果。由于RF 算法考虑了许多不同的决策树的结果,因此它可以降低考虑相同数据集的单个决策树所产生的方差。GBDT 也是一种集成学习算法,与RF 不同的是它继承了boosting 的方法,即通过串行训练一系列的CART 回归树来优化损失函数。每一棵树的训练都是在之前所有树预测结果的基础上学习当前残差,并根据负梯度方向来进行优化,从而得到最终的结果。
与此同时,想要正确解读模型是一件重要且复杂的任务,我们选择使用Shapley 加性解释即shap值方法(Shapley additive explanations,shap),为预测模型中的每个特征提供一致且局部准确的加性特征归因值[11]。对于每个预测样本,模型都产生一个预测值,shap 值就是该样本中每个特征所分配到的数值。计算shap 值按照如下公式定义:
1.6 统计学分析计量资料中呈正态分布的使用均数±标准差表示,并使用两独立样本t检验进行组间比较;呈偏态分布的使用中位数和四分位数间距表示,并使用Wilcoxon 秩和检验进行组间比较。计数资料使用频率与百分比表示,并使用卡方检验进行组间比较。P<0.05 为差异有统计学意义。为了评估机器学习模型的判别准确度,我们使用混淆矩阵计算每个模型的假阴性(FN)、假阳性(FP)、真阴性(TN)和真阳性(TP),计算准确度(Accuracy)、精确度(Precision)、敏感度(Sensitivity)、特异度(Specificity),并绘制计算受试者工作特征曲线(Receiver operating characteristic curve,ROC)和曲线下面积(Area under curve,AUC)。最后按照前述公式定义的shap 值方法绘制各特征在RF 模型中shap 值的散点图、决策线图以及热图,从而直观地展示各特征对模型预测的贡献度,增强模型的可解释性。所有统计和作图均使用python3.11.3 完成。
2 结果
2.1 脑卒中影响因素的单因素分析将患者按照是否患有脑卒中分为脑卒中组和非脑卒中组,单因素分析结果显示:年龄、种族、教育程度、家庭贫困收入比、是否患有糖尿病、高血压、高胆固醇血症、全血中重金属含量(镉、铅、锰、汞)两组比较,差异均有统计学意义(P<0.001)。而性别因素在本研究人群的两组中则差异无统计学意义(P>0.05),见表1。
2.2 各机器学习模型预测比较分析根据混淆矩阵我们使用以下评估指标来评判各模型的性能,由假阴性(FN)、假阳性(FP)、真阴性(TN)和真阳性(TP)可得:准确度=,精确度=,敏感度=,特异度=。
对三个机器学习模型的评估结果可以看出,SVM 在敏感度上略胜一筹,但其在准确度和特异度表现不佳。而GBDT 则仅特异度优于SVM,其他各项指标则表现不佳。RF 模型则在本数据集上有更为平衡的表现,其准确度、精确度、敏感度、特异度值分别达到了0.7580、0.7305、0.7625、0.7541,具有较为准确的预测和判别能力,见表2。
表2 各机器学习模型准确度、精确度、灵敏度、特异度
为了进一步对比三个机器学习模型总体的诊断效能,我们使用三个模型对每个样本的预测概率值与样本真实值绘制ROC 曲线,见图1。可以看出RF 模型取得了最佳的AUC(0.8087)。
图1 各机器学习模型的ROC 曲线
2.3 模型的可解释性为了使得模型具有较强的可解释性,我们以最优RF 模型为例,使用前述的shap值的方法并绘制图像来直观显示RF 模型中各特征的重要程度,并以此解释模型,见图2。
图2 基于shap 值绘制RF 模型各特征散点图
为进一步观察模型如何得到最终结果,我们随机抽取80 个样本绘制了shap 决策图,见图3,其中判断错误的样本决策线以虚线表示。
图3 RF 模型shap 值决策图
最后,我们抽取了500 个样本的shap 值绘制了热图,来总体表征和说明模型对每个样本的预测过程中特征使用程度,见图4。
图4 RF 模型shap 值热图
3 讨论
本研究探讨血液中重金属含量与卒中的相关性,并尝试以构建机器学习预测模型结合基于博弈论的shap 值的形式来分析卒中相关变量的相对重要性。机器学习模型的优点在于可自动选择使用及组合一些特征,无需过多的人工干预即可达到较为泛化的识别和预测效果。可解释性对于机器学习的研究来说至关重要,较高的可解释性意味着模型的可控性较高,同时也更容易推广至临床。一些现代算法尤其是机器学习算法会使用成百上千甚至数百万的高维特征来产生最佳预测结果,但这容易因此降低模型的可解释性[12],从而使得模型无法得到进一步的研究和推广。
我们通过构建三种不同算法类型的机器学习模型(随机森林、支持向量机、梯度提升树),从ROC图以及AUC 值可以发现随机森林模型表现最佳,我们选择结合shap 值来增强其可解释性。从shap值可以看出,在所有重金属元素中,铅的影响最大,较高的血铅含量会增加模型预测为卒中的概率。铅主要通过呼吸系统或消化系统吸收,然后会在骨骼、血液和器官(如脑、肾和肝脏)中蓄积[13]。近年来的研究认为,铅的蓄积会导致活性氧引起的氧化应激增加、抗氧化能力的减低以及脂质过氧化的增加[14]。另有临床研究表明,无论是较低还是较高的血铅水平都会对血管产生不利影响,从而导致脑卒中等心血管疾病的风险增加[15]。血镉含量在模型特征重要性上仅次于血铅,Borné 等[16]的研究中,对4 156 名没有脑卒中病史的受试者测量了血清镉水平,患者平均随访16.7 年,其中221 例发生缺血性脑卒中,分析数据结果发现血清镉浓度与脑卒中的发病率呈正相关。Chen 等[17]的研究则发现尿镉浓度与缺血性脑卒中风险同样存在正相关关系,这些都与本次研究结果相符。
对于锰元素而言,曾有病例报道1 名长期缺少防护的电焊工体内的高浓度锰使其表现出了神经毒性,并且出现了脑卒中相关症状[18]。但本研究中锰在机器学习模型的预测过程中贡献值较低,尚无法得到较为充分的证据,因此其对脑卒中的影响仍需更大样本及更长时间的观察。
以往有研究表明,汞可能通过增加氧化应激、自由基的产生和血管炎症的机制导致动脉粥样硬化的形成[19,20]。但从本研究shap 散点图可以看出,不同浓度血汞的分布对于模型的预测能力确实起到了一定的作用,但其贡献分布方向与年龄和其他重金属变量相反,说明高浓度的血汞含量与脑卒中呈现负相关,这与我们基于理论推测的预期并不相符。近年来也有相关研究支持这一结论,如Lin 等[21]的单中心独立样本研究发现,较高的血汞与尿汞水平和急性脑梗死的发生呈现负相关,但该研究存在单中心及样本数量较小的缺点。另有研究表明[22],在女性人群中随着血汞水平的升高,缺血性脑卒中发病率降低,并且在中低水平暴露程度人群中,未发现汞暴露与缺血性脑卒中相关联的证据。值得注意的是,汞和脑卒中的因果关系尚无具体定论,还需要今后进一步研究。
目前关于血液重金属含量与脑卒中的相关性仍需进一步研究,且未有利用机器学习构建血液重金属含量对脑卒中的识别判断的相关研究。本研究则较为创新地利用机器学习的方法并结合博弈论中shap 值的思路,构建出了围绕血液重金属含量与脑卒中相关性且具有高度可解释性的机器学习模型。但本研究存在一定的不足,如由于数据来源为NHANES 数据库,未能统计分析中国相关人群数据,之后我们将尝试使用国内人群数据来进一步考察模型的泛化能力和验证本次研究的结论。
本研究重点关注血液中重金属含量与脑卒中的相关性,利用机器学习算法强大的判别和预测能力,结合博弈论中shap 值理论,构建出可解释的脑卒中预测机器学习模型。基于本研究的结果,可以考虑拓展一些具有加速生物体内重金属清除功能的螯合剂的作用域,为脑卒中的初级预防提供一些新思路。未来仍需要更大样本的前瞻性研究,通过更为严谨的临床研究前期设计,进一步阐明重金属与脑卒中的相关关系。