机器学习基于不平衡数据预测急性新发缺血性卒中患者院内死亡模型研究
2021-09-03陈思玎谷鸿秋黄馨莹刘欢姜勇王拥军
陈思玎,谷鸿秋,黄馨莹,刘欢,姜勇,2,王拥军,3,4
卒中是全球死亡率最高的疾病之一,根据全球疾病负担研究最新估计,2017年我国卒中死亡率为106/10万,居我国疾病死因首位[1-2]。利用预测模型预测卒中患者结局,对患者进行精准风险分层与管理有利于优化医疗资源配置、降低卒中死亡率。
在结局为二分类问题的医学数据集中,通常会存在正样本(如患者死亡)和负样本(如患者存活)比例不平衡的情况,即少数类样本数量显著少于多数类样本的情况[3]。传统分类算法会向多数类倾斜,导致少数类样本检出率不高[4]。如果不处理不平衡数据,预测的结果会存在偏向性问题,在应用于现实临床场景时,无法达到准确预测正样本的目的。本研究利用多中心登记的中国卒中联盟(China Stoke Center Alliance,CSCA)数据库,采用欠采样技术、特征选择和平衡权重的方法,探索基于不平衡数据预测新发缺血性卒中患者院内死亡的模型,同时比较机器学习模型和传统logistic模型的预测性能,以期为建立更加完善的缺血性卒中院内死亡预测模型提供借鉴。
1 对象与方法
1.1 研究对象 本研究的研究对象来源于CSCA数据库。CSCA是一个全国性、以医院为基础、多中心、多方面干预和基于证据的绩效衡量的监测/反馈系统,是由中国卒中学会发起,国家卫生健康委员会神经系统疾病医疗质量控制中心指导的中国卒中医疗质量规范和改进项目[5]。本研究纳入CSCA数据库2015年8月1日-2019年7月31日急性新发缺血性卒中患者资料。入组标准:①发病年龄≥18岁;②临床确诊为缺血性卒中或TIA;③发病7 d内就诊并住院治疗的患者。排除标准:①既往有缺血性卒中史或TIA病史;②院内死亡/存活结局缺失。
1.2 预测因子与结局 CSCA数据库资料的总变量有545个,本研究的结局变量是急性新发缺血性卒中患者院内死亡。结合临床经验及急性缺血性卒中早期管理指南、文献报道的相关评分预测模型和CSCA数据特点确定备选预测因子,包括人口学特征(性别、年龄、民族等)、入院情况(BMI、入院吞咽功能评价等)、卒中单元、卒中严重程度(入院NIHSS评分)、既往史(吸烟、饮酒、高血压等)、地区、家庭人均月收入、院内并发症(合并心房颤动、心肌梗死等)、院内药物治疗(抗栓药物、降脂药物等)和入院首次临床检测指标(TC、TG、LDL-C、HDL-C、收缩压、舒张压等)等共54个变量(表1)[6-7]。
表1 入组患者基本特征
表1(续)
1.3 数据预处理 删除不合逻辑的异常值,删除缺失值>30%的变量,连续变量利用interpolate函数进行线性插值法填补,分类变量利用mode函数进行众数填补。对地区等多分类变量且无等级含义的变量进行独热(One-Hot)编码。由于实验室数据存在连续变量数值波动范围较大的问题,本研究利用离差标准化的方法对其进行线性变换,使数据按比例缩放并保持在[0,1]之间。
1.4 数据不平衡处理 数据结构:本研究中正样本为院内患者死亡,负样本为院内患者存活,考虑到正负样本极不平衡,针对处理后的数据集,利用imblearn库中的随机欠采样方法进行不平衡处理,对训练集的结局变量也进行随机欠采样处理。随机欠采样原理是从多数类样本中随机选取一些样本剔除掉。设置采样策略为0.3,即欠采样后正样本为负样本的30%。
算法结构:对每个机器学习模型进行训练时均设置平衡权重的参数,助推(boosting)模型(XGBoost和Catboost)设置scale_pos_weight参数为负样本数/正样本数。随机森林(random forest)、支持向量机(support vector machine,SVM)和logistic模型设置class_weight为balanced。
1.5 模型构建方法
1.5.1 特征选择 特征选择是在建立模型之前减少输入预测因子数量的过程。考虑到本研究样本量过大,会存在有统计学意义但可能没有临床意义的指标。因此本研究通过机器学习的特征选择预先挑选出一个最相关的特征子集,这些特征(即预测因子)则是为后续建模做出最大贡献的预测因子集合。此外,简化输入预测因子的数量可以提高计算效率,提高模型的可解释性。特征选择过程包括两个步骤:特征重要性排序和子集特征选择。
XGBoost是集成学习boosting方法的一种,兼具线性规模求解器和树学习算法,可以在建造树的同时自动选择特征,是一种正则化模型。为了更合理地识别输入特征的相对重要性,以及防止过拟合并提高模型的泛化能力,本研究利用train_test_split函数以7:3比例的留出法进行5次随机分组。利用XGBoost模型和SelectFromModel分类器,再对5次随机分组样本分别进行特征筛选,对feature_importances_函数特征以重要性排序输出的前20位预测因子求并集。然后对并集中的所有特征以AUC为标准进行内部循环,设置步长为1,最后筛选出最优特征子集作为后续建模的预测因子。SelectFromModel是一个通用转换器,如果相应的coef或feature_importances值低于提供的阈值参数,则认为这些特性不重要并将其删除。
1.5.2 机器学习模型 本研究涉及的机器学习模型有XGBoost、Catboost、随机森林(random forest)和SVM四种。
①XGBoost模型:XGBoost是美国华盛顿大学于2016年开发的Boosting库,兼具线性规模求解器和树学习算法[8]。XGBoost是对损失函数做了二阶的泰勒展开,并在目标函数之外加入了正则项,整体求最优解,用于权衡目标函数的下降和模型的复杂程度,避免过拟合,提高模型的求解效率。
②CatBoost模型:CatBoost是一种新的集成学习算法,具有独特的对称数结构,通过计算叶子节点的值来构造决策树,在此过程中,CatBoost对特征进行了量化的度量[9]。
③随机森林模型:随机森林是将决策树作为元分类器的一种集成学习方法,对变量共线性不作要求,其原理是通过自举(bootstrap)抽样方法从原始训练样本集N中有放回地随机抽取k个样本生成相互之间有差异的新的训练子集,再根据k个训练子集建立k个决策树,分类结果由k个决策树投票决定[10]。
④支持向量机模型:SVM由Cortes与Vapnik[11]提出,Boser等[12]通过加入核技巧将线性支持向量机扩展到非线性支持向量机,SVM的基本模型是一种最大化样本和类边界之间距离的线性二分类模型,可以实现结构风险的最小化。此外,SVM模型是基于小样本数据建立的,能够有效地避免高维数据分析中的维度灾难问题。该模型广泛适用的分类函数有感知器、多项式和径向基函数等。
1.6 统计学指标和分析方法 比较不同模型对院内死亡的预测性能时,主要从区分度和校准度两个方面进行比较和评价。在本研究中,区分度指标采用ROC中的AUC,AUC值越高,表明模型的区分度越高。校准度指标采用Brier得分(评分范围为0~1),Brier得分越趋近0,模型的校准度越好[13]。以P<0.05为差异有统计学意义。
(3)呼吸道护理:护理人员应密切关注患儿呼吸,因患儿气管细弱,在帮助患儿吸痰时,应使用直径较小,材质柔软的吸管,动作应放轻柔,不可过重,同时,应注意调整负压,保持用时在15s之内,以免损害粘膜,防止出现呼吸暂停的现象。
本研究涉及的其他指标有准确度、灵敏度、特异度以及G均值(G-mean)。G-mean是灵敏度和特异度的乘积的平方根,使用该指标是为了衡量模型对不平衡数据的整体分类性能,G-mean值越大,说明模型整体预测性能越好。
2 结果
2.1 一般资料 研究共纳入急性新发缺血性卒中患者602 259例,剔除院内死亡/存活结局缺失病例793例,最终纳入分析601 466例,其中院内死亡患者2206例(0.37%);患者平均年龄为65.43±12.37岁;女性231 235例(38.45%),患者基本特征资料详见表1。
2.2 预测模型变量筛选结果 选定进入预测模型的最优特征集:经过数据预处理后,剔除9个缺失值>30%的变量,将剩余的45个基线变量作为预测因子进行特征选择,经过5次重复和内部循环,设置循环步长为1,进入预测因子特征数为20时AUC在训练集上的表现最佳。这20个预测因子分别为:年龄、地区、入院NIHSS、心率、收缩压、吞咽功能(困难)、心肌梗死史、心力衰竭史、心房颤动史、院内心房颤动、院内并发心肌梗死、院内消化道出血、抗栓药物治疗及LDL-C、糖化血红蛋白、血糖、肌酐、血清尿素氮、血小板计数、INR水平。最终上述20个特征组成的最优特征子集进入预测模型。机器学习模型中前3位强预测因子为入院NIHSS、吞咽功能(困难)、空腹血糖,其他特征对结局变量的具体影响见图1。
图1 构建机器学习模型20个预测因子Shapley加法解释图
2.3 多因素logistic回归模型 采用逐步回归法从20个最优特征中筛选18个预测因子进入logistic回归预测模型,分别是年龄、地区、入院NIHSS、心率、收缩压、吞咽功能(困难)、心肌梗死史、心力衰竭史、心房颤动史、院内心房颤动、院内心肌梗死、院内消化道出血、抗栓药物治疗及LDL-C、糖化血红蛋白、血糖、血清尿素氮、血小板计数水平(表2)。
表2 多因素logistic回归模型筛选出的院内死亡预测因子
2.4 预测性能效果比较 进行数据不平衡处理前,最优特征子集在测试集logistic模型中AUC为0.902±0.007,灵敏度为0.008±0.003,G-mean为0.249±0.366。经过数据不平衡处理后AUC为0.913±0.000,灵敏度为0.824±0.002,G-mean为0.846±0.001。
平衡数据后,测试集中机器学习XGBoost模型AUC为0.921±0.000,CatBoost模型AUC为0.919±0.001,随机森林模型AUC为0.925±0.000,SVM模型AUC为0.900±0.001。其中XGBoost模型(P=0.0002)、CatBoost模型(P=0.0094)和随机森林模型(P<0.0001)表现的预测性能优于logistic模型,logistic模型表现优于SVM模型(P=0.0029),随机森林模型AUC最好。logistic模型、XGBoost模型、CatBoost模型、随机森林模型、SVM模型的Brier分数分别为0.115±0.001、0.096±0.001、0.093±0.001、0.084±0.000和0.045±0.001,SVM模型校准度最好,机器学习模型的校准度均优于logistic模型,差异有统计学意义(均P<0.0100),详细数据见表3。
表3 机器模型和logistic模型对院内死亡预测性能的比较
3 讨论
在本研究中,新发卒中患者(包括缺血性卒中和TIA)共601 466例,院内死亡2206例(0.37%)。其中院内死亡患者数量远少于存活患者,即正负样本极不平衡。如果不对不平衡数据进行处理,会导致分类器训练后的模型偏向于多数类,存在预测的偏向性问题。考虑到本研究基于现实临床场景,需要更准确地预测院内死亡患者,选择随机欠采样的方式平衡数据结构,虽然欠采样可以提升模型的泛化能力,但有一定的过拟合的风险,故而在进行特征选择的时候使用了强正则化模型(XGBoost模型)进行平衡,最后对算法结构进行平衡权重的调整。由于本研究样本量过大,传统显著性检验对样本量较为敏感,会出现有统计学意义但实际可能没有临床意义的情况[14]。本研究通过探索机器学习的方法进行特征选择,获得的最优特征子集再进入不同模型进行训练和测试。为了增加机器学习的可解释性,本研究显示了最优特征子集的20个预测因子在SHAP图上的表现。在logistic模型的逐步回归结果中显示最优特征集中有18个最后进入模型,说明本研究对于最优特征子集选择的合理性。另外,在测试集上每个模型的区分度指标AUC和校准度指标Brier分数均较好,说明本研究特征选择和模型训练的可行性。
在结果中可见,对数据进行平衡处理前logistic模型返回的结果灵敏度较低(0.008±0.003),特异度较高(0.999±0.000),G-mean(0.249±0.366)较低,出现这种状况是因为对极不平衡数据直接进行分析时,训练后的模型偏向多数类(即存活患者结局)。尽管logistic模型所得区分度指标AUC(0.902±0.007)和校准度指标brier分数均较好(0.022±0.041),但因其过低的真阳性率,在实际临床应用中不具备良好的鉴别死亡患者结局的能力,因而不具有可信度。通过平衡数据处理后,logistic模型所得区分度指标AUC(0.913±0.000)和校准度指标brier分数依旧较好(0.115±0.001),灵敏度和同时衡量灵敏度、特异度指标的G-mean获得了较大的提高(分别为0.824±0.002和0.846±0.001),此时训练后的logistic模型具有良好的鉴别正负样本的能力。
在本研究中,数据平衡后每个模型的预测性能都较好。在机器学习模型中,从区分度指标AUC值来看,随机森林模型的效果最好且准确率最高,其次是XGBoost模型、CatBoost模型和SVM模型。随机森林模型、XGBoost模型和CatBoost模型AUC略高于logistic模型,而SVM模型AUC略低于logistic模型,且差异均有统计学意义。
本研究中每个模型的校准度brier分数均较好,但总体看机器学习模型的brier分数低于传统logistic模型,说明机器学习模型的校准度更好。在所有机器模型中,随机森林模型表现最好,这可能与随机森林算法随机构建树节点以避免过拟合,比单独的树模型泛化能力有提升,并且对变量共线性不作要求等优点有关。
尽管本研究通过平衡数据和归一化处理优化了SVM模型表现,但SVM模型的性能最终仍略低于其他模型。SVM模型与其他模型相比更适合于样本规模小、多特征的多维数据。在本研究的样本量远大于特征量的情况下,SVM模型并没有表现出明显优势,在训练过程中还消耗了大量的机器内存和计算时间。同时,与其他模型相比,SVM模型很难找到合适的核函数,并且SVM模型只考虑边界附近的点(支持向量),可能不会包含全部重要的预测因子。而logistic算法则考虑所有点(远离的点对边界线的确定也起作用),这可能导致SVM模型忽略掉被logistic模型考虑进去的个别预测因子,从而导致SVM模型的AUC表现略低。
本研究局限性在于仅采用随机欠采样的方式以平衡数据,浪费了部分负样本数据,未来可尝试结合多种表现良好的过采样技术,如常见的SMOTE、SMOTE-Borderline、ADASYN及基于GAN的方法等[15-16]。此外,可结合更优的选择算法来提高精准预测的能力。未来将进一步探究不同模型对缺血性卒中的适应条件,在预测因子、模型开发及预测性能方面进行全面研究,以期为建立更加完善的缺血性卒中死亡预测模型提供更全面的借鉴。
【点睛】本文基于CSCA大样本数据库中急性新发缺血性卒中患者的数据,应用欠采样技术和平衡权重方法处理患者院内死亡结局的不平衡数据,在此基础上比较XGBoost、CatBoost、随机森林和SVM四种机器学习模型和logistic模型预测患者院内死亡结局的性能,结果显示机器模型的预测性能整体优于logistic模型。