利用支持向量机预测重症监护室患者死亡风险的研究

2022-09-09 13:34陈芋文李雨捷杨智勇钟坤华鲁开智
第三军医大学学报 2022年17期
关键词:特征选择入院死亡率

邓 鹏,陈芋文,,李雨捷,杨智勇,钟坤华,张 矩,鲁开智,易 斌

400038 重庆,陆军军医大学(第三军医大学)第一附属医院麻醉科1;400714 重庆,中国科学院重庆绿色智能技术研究院2;610041 成都,中国科学院成都计算机应用研究所3

重症监护室患者住院死亡率较高,全球范围内6.7%~44.0%。随着监护技术及检测仪器的发展与升级,患者的各项生理数据得到更加健全的监测,临床医生得以制定更加及时、合理的医疗方案。但繁杂、冗长的医疗数据使得分析工作变得艰难,尤其是对于需要及时准确做出临床决策的ICU医生。近年来,人工智能被广泛应用于医疗领域研究,作为其应用分支的机器学习(machine learning,ML)在挖掘、处理医疗数据时具有极大潜力。本研究拟引入数据挖掘中的分类算法-支持向量机方法,构建预测重症监护室患者死亡率的模型,探索SVM模型在预测患者死亡率方面的可行性,为临床医生提供新方法。

1 资料与方法

1.1 一般资料

本研究用于预测ICU患者死亡率的医疗数据来自于多生理参数智能监护数据库MIMIC Ⅲ,且得到了贝斯以色列迪康医学中心(波士顿,马萨诸塞州)和麻省理工学院(剑桥,马萨诸塞州)审查委员会的批准。由于该项目不影响临床护理,并且隐藏了所有受保护的信息,因此不需要患者签署同意书。这些数据由本项目组成员(陈芋文,认证号:28341490)凭借数据使用协议从PhysioNet(https://www.physionet.org/)获取。在贝斯以色列迪康医学中心有61 532份ICU住院记录,包括临床记录、生理波形、实验室测量和护士验证的数值数据。排除标准:(1)多次ICU住院的患者;(2)同一次住院在不同ICU或病房(区)之间转移的患者;(3)年龄小于16岁的患者;(4)首次ICU住院时间缺失或少于48 h的患者;(5)最初48 h内没有事件发生的患者。共18 094份病例被纳入最终分析。

1.2 方法

1.2.1 建模选择指标 我们集中关注那些常见、重复测量的,并且能够有效反映疾病状态和治疗效果的变量,总共纳入29个指标:白蛋白(ALB);谷丙转氨酶(ALT);谷草转氨酶(AST);尿素氮(BUN);钙离子(Calcium);血肌酐(Cre);年龄;性别;舒张压(DBP);格拉斯哥昏迷指数(GCS);血糖(Glucose);血红蛋白(Hb);心率(HR);钾离子(K);乳酸(Lac);平均血压(MBP);钠离子(Na);动脉血氧7分压(PaO);酸碱度(pH);血小板(PLT);呼吸频率(RR);收缩压(SBP);血氧饱和度(SpO);血清总胆红素(TBIL);体温(T);血管活性药物量;白细胞(WBC);入量(Input);出量(Output)。如表1所示。

表1 预测ICU患者死亡率的生理变量

序号生理变量数据类型1年龄连续型变量2性别离散型变量3谷丙转氨酶(ALT)连续型变量4谷草转氨酶(AST)连续型变量5血清总胆红素(TBIL)连续型变量6血红蛋白(Hb)连续型变量7白蛋白(ALB)连续型变量8白细胞(WBC)连续型变量9心率(HR)连续型变量10收缩压(SBP)连续型变量11舒张压(DBP)连续型变量12平均血压(MBP)连续型变量13呼吸频率(RR)连续型变量14血肌酐(Cre)连续型变量15尿素氮(BUN)连续型变量16钾离子(K)连续型变量17钠离子(Na)连续型变量18钙离子(Calcium)连续型变量19乳酸(Lac)连续型变量20动脉血氧分压(PaO2)连续型变量21血小板(PLT)连续型变量22血糖(Glucose)连续型变量23格拉斯哥昏迷指数(GCS)连续型变量24酸碱度(pH)连续型变量25血氧饱和度(SpO2)连续型变量26体温(T)连续型变量27血管活性药物量连续型变量28入量(Input)连续型变量29出量(Output)连续型变量

1.2.2 数据预处理 选取ICU患者入院后24 h及48 h两个时间段的数据,首先处理缺失数据,先去掉纳入指标缺失超过30%的患者数据,随后去掉单一指标缺失超过30%的指标,剩余缺失数据进行KNN填充。然后计算两个时间段内各指标(性别除外)的七个不同样本统计特征,包括最小值、最大值、平均值、中位数、标准差、偏斜和峰度。对数据进行预处理,令其符合机器学习的输入规则。针对性别这一离散型变量,我们采用one-hot编码处理,转换为[1,0]、[0,1],分别表示男性、女性。对于连续型变量,采用Z-score归一化(Z-score normalization)处理来缩放特征值,处理后数据的均值为0,标准差为1。将所有纳入统计的患者随机拆分至训练集和测试集,训练集占70%,测试集占30%。由于训练集数据不平衡,大部分机器学习算法在不平衡数据集上表现不佳,需对小类样本进行有放回的过采样而对大类样本则进行无放回的欠采样,从而将其修正为平衡数据。最后在训练集上,利用LASSO方法进行特征选择,本研究中选择系数不为0的特征。

1.2.3 模型构建 机器学习过程在Python平台进行,根据支持向量机(SVM)机器学习算法,基于avNNET进行模型的建立。本研究选定的核函数是目前应用最为广泛的径向基核函数(radial basis function, RBF)。在训练数据集上,输入预测指标,使用分类算法-支持向量机,进行监督学习,通过gridSearchCV(网格搜索)方法设置其参数,经交叉验证为最优结果时来确定两参数的值。在测试集上,通过敏感性、特异性、受试者工作特征下面积(AUC)来评估模型性能。其中AUC为0.5~0.7提示预测效果较差,AUC为0.7~0.9提示预测效果中等,AUC大于0.9提示预测效果非常好。相应的参数如表2所示。

表2 模型参数

模型参数设定支持向量机(SVM) kernel= “rbf” # Specifies the kernel type to be used in the algorithm.# “rbf” is Gaussian kernel function.gamma= “auto” # Kernel coefficient for ‘rbf’.probability=True # Whether to enable probability estimates.

1.3 统计学分析

采用SPSS软件,V.19.0(SPSS)进行统计分析。计量资料使用平均值和标准差(正态分布数据),或中位数和四分位距(非正态分布数据)。组间比较采用卡方检验、

Fisher

精确检验分析或Kruskal-Wallis检验。所有统计学检验为双侧,

P

<0.05差异有统计学意义。

2 结果

2.1 特征变量筛选结果

在训练集上,利用LASSO方法进行特征选择,此研究中选择特征选择系数不为0的特征。ICU患者入院后24 h时间段经LASSO特征选择结果如下:年龄、血管活性药物(min)、HR(min)、HR(max)、HR(mean)、Input、Output、BUN(max)、CRE(max)、CRE(min)、PLT(min)、WBC(min)、WBC(max)、钠(min)、钠(max)、钾(min)、钾(max)、总钙(min)、总钙(max)、血糖(min)、血糖(max)、GCS(min)、GCS(max)、体温(min)、体温(max)、SpO(mean)、SpO(sd)、RR(min)、RR(max)、RR(mean)、RR(sd)、HR(sd)、HR(skew)、HR(kurtosis)、MBP(min)、MBP(max)、MBP(mean)、MBP(skew)、MBP(kurtosis)、SBP(min)、SBP(max)、SBP(mean)、SBP(sd)、SBP(skew)、SBP(kurtosis)、DBP(min)、DBP(max)、DBP(mean)、DBP(sd)、DBP(kurtosis)、性别(女性)。特征系数见表3。

表3 LASSO特征选择结果(24 h和48 h)及系数

ICU患者入院后48 h时间段经LASSO特征选择结果(见图2)如下:年龄、HR(mean)、Input、Output、BUN(max)、PLT(min)、WBC(min)、钾(max)、总钙(min)、GCS(max)、SpO(mean)、SpO(sd)、RR(min)、MBP(min)、MBP(skew)、MBP(kurtosis)、SBP(min)、SBP(mean)、SBP(kurtosis)、DBP(min)。特征系数见表3。

2.2 预测模型的变量及特征

基于avNNET构建ICU患者入院后24 h和48 h死亡率预测模型Model Averaged Neural Network(24 h/48 h),在训练集上进行模型训练,得出最优参数,其最优参数均为size=5,decay=0,bag=FALSE。具体代码见表4。

2.3 模型预测能力验证结果

在测试数据集验证并评价支持向量机算法对ICU患者入院后死亡率的预测能力。利用LASSO特征选择结果,通过SVM机器学习算法,预测ICU患者入院后24 h死亡率,训练集和测试集AUC分别为0.840 3和0.805 1,敏感性分别为81.24%和75.13%,特异性分别为74.15%和71.30%。预测ICU患者入院后48 h死亡率,训练集和测试集AUC分别为0.828 5和0.811 7,敏感性分别为77.62%和73.72%,特异性分别为74.51%和74.29%。

表4 基于avNNET构建的预测模型Model Averaged Neural Network

模型模型代码Model Averaged Neural Network(24h)30000 samples.52 predictor.2 classes: ‘death’, ‘survival’ No pre-processingResampling: Cross-Validated (10 fold, repeated 5 times)Summary of sample sizes: 27000, 27000, 27000, 27000, 27000, 27000, ... Resampling results across tuning parameters: size decay ROC Sens Spec 1 0e+00 0.7874672 0.7604546 0.68533841 1e-04 0.7872330 0.7617315 0.68402911 1e-01 0.7860469 0.7496879 0.69139613 0e+00 0.8138036 0.7735201 0.71225473 1e-04 0.8134779 0.7750393 0.71143433 1e-01 0.8123564 0.7682376 0.71286275 0e+00 0.8339853 0.7968283 0.73114235 1e-04 0.8336183 0.7956315 0.73063965 1e-01 0.8304377 0.7902683 0.7282723Tuning parameter ‘bag’ was held constant at a value of FALSEROC was used to select the optimal model using the largest value.The final values used for the model were size=5, decay=0 and bag=FALSE.Model Averaged Neural Network(48h)30000 samples.20 predictor.2 classes: ‘death’, ‘survival’ No pre-processingResampling: Cross-Validated (10 fold, repeated 5 times) Summary of sample sizes: 27000, 27000, 27000, 27001, 27000, 27000, ... Resampling results across tuning parameters: size decay ROC Sens Spec 1 0e+00 0.8049484 0.7424960 0.72999161 1e-04 0.8048955 0.7437597 0.72778211 1e-01 0.8047193 0.7421062 0.72970053 0e+00 0.8239650 0.7576045 0.73991133 1e-04 0.8243924 0.7565425 0.74126053 1e-01 0.8253196 0.7564752 0.74201455 0e+00 0.8363139 0.7729548 0.74772835 1e-04 0.8360588 0.7727395 0.74766215 1e-01 0.8344829 0.7707097 0.7470141Tuning parameter‘bag’ was held constant at a value of FALSE.ROC was used to select the optimal model using the largest value.The final values used for the model were size =5, decay = 0 and bag = FALSE.

表5 不同时间段预测模型预测ICU入院后死亡率的AUC、敏感性、特异性

不同时间段预测模型AUC(95%可信区间)敏感性(%)特异性(%)准确性(%)(95%可信区间)训练集 24 h0.840 3(0.835 2-0.844 1)81.2474.1577.66(0.771 9, 0.781 3) 48 h0.828 5(0.823 1-0.832 2)77.6274.5176.05(0.755 7, 0.765 4)测试集 24 h0.805 1(0.793 6-0.816 6)75.1371.30 71.82(0.709, 0.727 2) 48 h0.811 7(0.799 9-0.824)73.7274.2974.21(0.733 3, 0.750 8)

在测试集上,利用LASSO特征选择结果,通过SVM机器学习算法,预测ICU患者入院后24 h和48 h死亡率,绘制受试者工作特征曲线(ROC)如图1所示。

图1 基于SVM机器学习算法的ROC曲线

3 讨论

有研究报道,重症监护室患者住院死亡率较高,全球范围内6.7%~44.0%。在临床工作中,医生评估患者病情,进行临床决策时需要全面考虑病史、体格检查和生命体征的变化趋势,工作量巨大。尤其是对于ICU患者而言,准确可靠、方便快捷的病情评估能帮助医生进行决策,从而及时采取救治措施等。目前ICU多采用评分系统进行死亡率评估,若能利用客观指标建立预测模型,使评估方法简便化、自动化,得到更加准确可靠的评估结果,对进一步保障ICU患者的生命安全意义重大。

近些年,机器学习作为人工智能的重要分支,被广泛应用于医疗健康领域,在挖掘、处理医疗数据时具有极大潜力,能够弥补线性模型的不足。蔺轲等基于支持向量机方法构建ICU中急性肾功能损伤患者住院死亡风险预测模型,并将之与简化急性生理评分的预测性能作比较,得出SVM模型预测性能更优。该研究仅针对ICU急性肾功能损伤患者,不适用于所有ICU住院患者。其所采用指标变量与简化急性生理评分相同,研究纳入的指标较少。对于深度学习模型长短期记忆人工神经网络(LSTM)及其衍生物门控循环单位(GRU),在预测ICU患者的死亡率上取得更好的AUCROC和AUC-PR。然而,LSTM和GRU存在计算量庞大、耗时、硬件要求高、梯度消失等缺点,导致大数据难以处理和应用于临床推广。注意机制模拟人脑的数据处理模式,目前与LSTM或其他深度学习方法相结合,以提高计算效率或可解释性。但低效这一方法本身局限性仍旧难以避免。

本研究引入的分类算法-支持向量机方法(SVM)在解决有限样本、非线性及高维问题中表现出独特的优势。它有着完美的数学形式与直观的几何解释,与神经网络的结构设计不同,它不需要依赖于设计者的经验知识和先验知识,人为设定参数少,方便使用,因此有着较好的泛化能力。其利用核函数将复杂分类问题映射转化成线性可分问题的核心思想巧妙地解决了“维数灾难”问题。

本研究结果显示,ICU患者入院后24 h(48 h)死亡率预测模型的训练集和测试集AUC分别为0.840 3(0.828 5)和0.805 1(0.811 7),均大于0.7,均具有很好的预测效能。不论是各时间段的训练集和测试集AUC值,还是不同时间段的训练集或测试集AUC值都很接近,一致性较好,提示模型性能稳定。敏感性和特异性都较高,预测效能较好。准确性分别为77.66%(76.05%)和71.82%(74.21%),各准确性均较高,表示该方法可行性高。本研究结果表明,基于支持向量机算法建立的预测重症监护室患者死亡率模型预测效果较好,具有较高准确率。

本研究中存在几个局限性。首先,为处理训练集数据不平衡问题,在数据预处理上采用了欠采样法和过采样法,可能会造成两个问题,即非常高的拟合精度和由于删去许多样本而导致占比较大的分类损失不少重要信息。其次,从一个医疗中心提取的临床数据,无法验证该模型的泛化能力及其临床应用的可能性。因此在后续的研究中应开展前瞻性多中心研究,探讨基于SVM的预测模型预测患者死亡率的临床价值。

综上所述,基于支持向量机算法建立的重症监护室患者死亡率预测模型的研究可行,该模型具有良好预测效果及稳定性,具有较高准确率。

猜你喜欢
特征选择入院死亡率
新冠肺炎的死亡率为何难确定?
基于Lee—Cater模型对我国高龄男性死亡率的预测
基于Lee—Cater模型对我国高龄男性死亡率的预测
恶性肿瘤死亡率
基于智能优化算法选择特征的网络入侵检测
故障诊断中的数据建模与特征选择
法前总统希拉克肺部感染入院
reliefF算法在数据发布隐私保护中的应用研究
一种多特征融合的中文微博评价对象提取方法
2008年全国甲、乙类法定报告传染病发病及死亡率