2. 400714 重庆,中国科学院重庆绿色智能技术研究院;
3. 610041 成都,中国科学院成都计算机应用研究所
2. Chongqing Institute of Green and Intelligent Technology, Chinese Academy of Sciences, Chongqing, 400714;
3. Chengdu Institute of Computer Applications, Chinese Academy of Sciences, Chengdu, Sichuan Province, 610041, China
重症监护室患者住院死亡率较高,全球范围内6.7%~44.0%[1-2]。随着监护技术及检测仪器的发展与升级,患者的各项生理数据得到更加健全的监测,临床医生得以制定更加及时、合理的医疗方案。但繁杂、冗长的医疗数据使得分析工作变得艰难,尤其是对于需要及时准确做出临床决策的ICU医生。近年来,人工智能被广泛应用于医疗领域研究,作为其应用分支的机器学习(machine learning,ML)在挖掘、处理医疗数据时具有极大潜力[3-6]。本研究拟引入数据挖掘中的分类算法-支持向量机方法,构建预测重症监护室患者死亡率的模型,探索SVM模型在预测患者死亡率方面的可行性,为临床医生提供新方法。
1 资料与方法 1.1 一般资料本研究用于预测ICU患者死亡率的医疗数据来自于多生理参数智能监护数据库MIMIC Ⅲ[7],且得到了贝斯以色列迪康医学中心(波士顿,马萨诸塞州)和麻省理工学院(剑桥,马萨诸塞州)审查委员会的批准。由于该项目不影响临床护理,并且隐藏了所有受保护的信息,因此不需要患者签署同意书[7]。这些数据由本项目组成员(陈芋文,认证号:28341490)凭借数据使用协议从PhysioNet(https://www.physionet.org/)获取。在贝斯以色列迪康医学中心有61 532份ICU住院记录,包括临床记录、生理波形、实验室测量和护士验证的数值数据[7]。排除标准:(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分压(PaO2);酸碱度(pH);血小板(PLT);呼吸频率(RR);收缩压(SBP);血氧饱和度(SpO2);血清总胆红素(TBIL);体温(T);血管活性药物量;白细胞(WBC);入量(Input);出量(Output)。如表 1所示。
序号 | 生理变量 | 数据类型 |
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所示。
模型 | 参数设定 |
支持向量机 (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)、SpO2(mean)、SpO2(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。
变量 | 特征系数1(24 h) | 特征系数2(48 h) |
年龄(岁) | -0.311890461 | -0.260920775 |
血管活性药物(min) | 0.022013778 | 0.000000000 |
血管活性药物(max) | 0.020018555 | 0.000000000 |
HR(次/min, min) | 0.000592184 | 0.000000000 |
HR(次/min, max) | -0.131436308 | 0.000000000 |
HR(次/min, mean) | -0.305790319 | -0.437301307 |
Input(mL) | 0.199078267 | 0.001556049 |
Output(mL) | 0.293176352 | 0.17244461 |
BUN(mmol/L, max) | -0.419250973 | -0.354752174 |
CRE(μmol/L, max) | 0.112838756 | 0.000000000 |
CRE(μmol/L, min) | -0.02954964 | 0.000000000 |
PLT(×109/L, min) | 0.181349174 | 0.093412248 |
WBC(×109/L, min) | -0.400745214 | -0.118388015 |
WBC(×109/L, max) | 0.263089806 | 0.000000000 |
钠(mmol/L, min) | 0.140189404 | 0.000000000 |
钠(mmol/L, max) | -0.030054121 | 0.000000000 |
钾(mmol/L, min) | -0.104121419 | 0.000000000 |
钾(mmol/L, max) | 0.550396788 | 0.00189837 |
总钙(mmol/L, min) | 0.275121665 | 0.013218123 |
总钙(mmol/L, max) | -0.279407356 | 0.000000000 |
血糖(mmol/L, min) | -0.010323171 | 0.000000000 |
血糖(mmol/L, max) | 0.09598638 | 0.000000000 |
GCS(分,min) | 0.070907477 | 0.000000000 |
GCS(分,max) | 0.638891103 | 0.586906723 |
体温(℃,min) | 0.072113635 | 0.000000000 |
体温(℃,max) | -0.068838219 | 0.000000000 |
SpO2(mean) | 0.052258183 | 0.019237856 |
SpO2(sd) | -0.136536145 | -0.170128386 |
RR(次/min, min) | -0.109759548 | -0.104344502 |
RR(次/min, max) | 0.237846572 | 0.000000000 |
RR(次/min, mean) | -1.387781738 | 0.000000000 |
RR(次/min, sd) | 1.159364793 | 0.000000000 |
HR(次/min, sd) | 0.097759445 | 0.000000000 |
HR(次/min, skew) | -0.048380715 | 0.000000000 |
HR(次/min, kurtosis) | 0.014209807 | 0.000000000 |
MBP(mmHg, min) | 0.087382764 | 0.058403545 |
MBP(mmHg, max) | 0.124787189 | 0.000000000 |
MBP(mmHg, mean) | -0.104778493 | 0.000000000 |
MBP(mmHg, skew) | -0.058180861 | -0.001933974 |
MBP(mmHg, kurtosis) | -0.019203849 | -0.01351838 |
SBP(mmHg, min) | -0.036662051 | 0.099738098 |
SBP(mmHg, max) | 8.686793356 | 0.000000000 |
SBP(mmHg, mean) | 0.616784409 | 0.324417308 |
SBP(mmHg, sd) | -1.116427566 | 0.000000000 |
SBP(mmHg, skew) | 0.004029112 | 0.000000000 |
SBP(mmHg, kurtosis) | -0.04399849 | -0.000151182 |
DBP(mmHg, min) | 0.083669272 | 0.02901975 |
DBP(mmHg, max) | -0.061050134 | 0.000000000 |
DBP(mmHg, mean) | 0.011305656 | 0.000000000 |
DBP(mmHg, sd) | 0.036467421 | 0.000000000 |
DBP(mmHg, kurtosis) | -0.006147558 | 0.000000000 |
性别(女性) | 0.08182959 | 0.000000000 |
ICU患者入院后48 h时间段经LASSO特征选择结果(见图2)如下:年龄、HR(mean)、Input、Output、BUN(max)、PLT(min)、WBC(min)、钾(max)、总钙(min)、GCS(max)、SpO2(mean)、SpO2(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。
模型 | 模型代码 |
Model Averaged Neural Network(24h) | 30000 samples.52 predictor.2 classes: ‘death’, ‘survival’ No pre-processing Resampling: 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.6853384 1 1e-04 0.7872330 0.7617315 0.6840291 1 1e-01 0.7860469 0.7496879 0.6913961 3 0e+00 0.8138036 0.7735201 0.7122547 3 1e-04 0.8134779 0.7750393 0.7114343 3 1e-01 0.8123564 0.7682376 0.7128627 5 0e+00 0.8339853 0.7968283 0.7311423 5 1e-04 0.8336183 0.7956315 0.7306396 5 1e-01 0.8304377 0.7902683 0.7282723 Tuning 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. |
Model Averaged Neural Network(48h) | 30000 samples.20 predictor.2 classes: ‘death’, ‘survival’ No pre-processing Resampling: 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.7299916 1 1e-04 0.8048955 0.7437597 0.7277821 1 1e-01 0.8047193 0.7421062 0.7297005 3 0e+00 0.8239650 0.7576045 0.7399113 3 1e-04 0.8243924 0.7565425 0.7412605 3 1e-01 0.8253196 0.7564752 0.7420145 5 0e+00 0.8363139 0.7729548 0.7477283 5 1e-04 0.8360588 0.7727395 0.7476621 5 1e-01 0.8344829 0.7707097 0.7470141 Tuning 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. |
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%。
不同时间段预测模型 | AUC(95%可信区间) | 敏感性(%) | 特异性(%) | 准确性(%)(95%可信区间) |
训练集 | ||||
24 h | 0.840 3(0.835 2-0.844 1) | 81.24 | 74.15 | 77.66(0.771 9, 0.781 3) |
48 h | 0.828 5(0.823 1-0.832 2) | 77.62 | 74.51 | 76.05(0.755 7, 0.765 4) |
测试集 | ||||
24 h | 0.805 1(0.793 6-0.816 6) | 75.13 | 71.30 | 71.82(0.709, 0.727 2) |
48 h | 0.811 7(0.799 9-0.824) | 73.72 | 74.29 | 74.21(0.733 3, 0.750 8) |
在测试集上,利用LASSO特征选择结果,通过SVM机器学习算法,预测ICU患者入院后24 h和48 h死亡率,绘制受试者工作特征曲线(ROC)如图 1所示。
3 讨论
有研究报道,重症监护室患者住院死亡率较高,全球范围内6.7%~44.0%[1-2]。在临床工作中,医生评估患者病情,进行临床决策时需要全面考虑病史、体格检查和生命体征的变化趋势,工作量巨大。尤其是对于ICU患者而言,准确可靠、方便快捷的病情评估能帮助医生进行决策,从而及时采取救治措施等。目前ICU多采用评分系统进行死亡率评估,若能利用客观指标建立预测模型,使评估方法简便化、自动化,得到更加准确可靠的评估结果,对进一步保障ICU患者的生命安全意义重大。
近些年,机器学习作为人工智能的重要分支,被广泛应用于医疗健康领域,在挖掘、处理医疗数据时具有极大潜力,能够弥补线性模型的不足[8]。蔺轲等[9]基于支持向量机方法构建ICU中急性肾功能损伤患者住院死亡风险预测模型,并将之与简化急性生理评分的预测性能作比较,得出SVM模型预测性能更优。该研究仅针对ICU急性肾功能损伤患者,不适用于所有ICU住院患者。其所采用指标变量与简化急性生理评分相同,研究纳入的指标较少。对于深度学习模型长短期记忆人工神经网络(LSTM)及其衍生物门控循环单位(GRU),在预测ICU患者的死亡率上取得更好的AUCROC和AUC-PR。然而,LSTM和GRU存在计算量庞大、耗时、硬件要求高、梯度消失等缺点,导致大数据难以处理和应用于临床推广。注意机制模拟人脑的数据处理模式,目前与LSTM或其他深度学习方法相结合,以提高计算效率或可解释性[10]。但低效这一方法本身局限性仍旧难以避免。
本研究引入的分类算法-支持向量机方法(SVM)在解决有限样本、非线性及高维问题中表现出独特的优势。它有着完美的数学形式与直观的几何解释[11],与神经网络的结构设计不同,它不需要依赖于设计者的经验知识和先验知识,人为设定参数少,方便使用,因此有着较好的泛化能力。其利用核函数将复杂分类问题映射转化成线性可分问题的核心思想巧妙地解决了“维数灾难”问题[12]。
本研究结果显示,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的预测模型预测患者死亡率的临床价值。
综上所述,基于支持向量机算法建立的重症监护室患者死亡率预测模型的研究可行,该模型具有良好预测效果及稳定性,具有较高准确率。
[1] |
WEIGL W, ADAMSKI J, GORYNSKI P, et al. ICU mortality and variables associated with ICU survival in Poland: a nationwide database study[J]. Eur J Anaesthesiol, 2018, 35(12): 949-954. |
[2] |
WEIGL W, ADAMSKI J, GORYNSKI P, et al. Mortality rate is higher in Polish intensive care units than in other European countries[J]. Intens Care Med, 2017, 43(9): 1430-1432. |
[3] |
TOPOL E J. High-performance medicine: the convergence of human and artificial intelligence[J]. Nat Med, 2019, 25(1): 44-56. |
[4] |
RAVIZZA S, HUSCHTO T, ADAMOV A, et al. Predicting the early risk of chronic kidney disease in patients with diabetes using real-world data[J]. Nat Med, 2019, 25(1): 57-59. |
[5] |
HE J X, BAXTER S L, XU J, et al. The practical implementation of artificial intelligence technologies in medicine[J]. Nat Med, 2019, 25(1): 30-36. |
[6] |
ESTEVA A, ROBICQUET A, RAMSUNDAR B, et al. A guide to deep learning in healthcare[J]. Nat Med, 2019, 25(1): 24-29. |
[7] |
JOHNSON A E W, POLLARD T J, SHEN L, et al. MIMIC-Ⅲ, a freely accessible critical care database[J]. Sci Data, 2016, 3: 160035. |
[8] |
BENKE K, BENKE G. Artificial intelligence and big data in public health[J]. Int J Environ Res Public Health, 2018, 15(12): E2796. |
[9] |
蔺轲, 谢俊卿, 胡永华, 等. 支持向量机在ICU急性肾损伤患者住院死亡风险预测中的应用[J]. 北京大学学报(医学版), 2018, 50(2): 239-244. LIN K, XIE J Q, HU Y H, et al. Application of support vector machine in predicting in-hospital mortality risk of patients with acute kidney injury in ICU[J]. J Peking Univ Heal Sci, 2018, 50(2): 239-244. |
[10] |
YU R X, ZHENG Y L, ZHANG R K, et al. Using a multi-task recurrent neural network with attention mechanisms to predict hospital mortality of patients[J]. IEEE J Biomed Health Inform, 2020, 24(2): 486-492. |
[11] |
陈进. 中医的数学建模[J]. 数理医药学杂志, 2002, 15(6): 489-491. CHEN J. Mathematical modeling of traditional Chinese medicine[J]. J Math Med, 2002, 15(6): 489-491. |
[12] |
许明东, 马晓聪, 温宗良, 等. 支持向量机在高血压病中医证候诊断中的应用[J]. 中华中医药杂志, 2017, 32(6): 2497-2500. XU M D, MA X C, WEN Z L, et al. Application of support vector machine in the diagnosis of hypertension in TCM syndrome[J]. China J Tradit Chin Med Pharm, 2017, 32(6): 2497-2500. |