基于机器学习与心肺复苏诊疗标准的辅助诊疗算法

2024-04-01 07:48冯航测孙洁张瑛琪张友坤
科学技术与工程 2024年7期
关键词:心肺心脏预测

冯航测, 孙洁, 张瑛琪, 张友坤

(1.华北理工大学电气工程学院, 唐山 063210; 2.河北医科大学第一医院急诊科, 石家庄 050031)

随着人工智能技术及大数据的发展,在各个领域中出现了越来越多的人工智能设备及算法。医学是一个在人工智能领域发展比较迅速的行业,各科技公司纷纷推出医学人工智能产品,拓展了人工智能在医学中的应用,“数字诊疗”“智慧医疗”等已经成为了医学发展的新趋势。目前,机器学习是最热门的人工智能技术,各种预测算法在医疗大数据中得到了广泛的应用,有利于对病症进行诊断[1]、治疗[2]与管理[3]工作。

中国每年有超过50万人死于心脏骤停,位于世界榜首[4]。对急性心脏骤停患者进行有效的抢救变得尤为重要,若能将机器学习算法与心肺复苏(cardiopulmonary resuscitation,CPR)诊断充分结合,对于辅助医生进行心肺复苏诊断工作具有重要的现实意义,可以有效提高心脏骤停患者的抢救效率。郑萍等[5]系统地评价了机器学习应用于院外心脏骤停的预测效果,认为年龄,心率和患者性别是心肺复苏结果较为重要的特征。龚海蓉等[6]提出了一种基于决策树的院内心脏骤停患者早期预测模型,并采用十折交叉验证的方式优化模型得到了更好的预测结果。Nanayakkara等[7]使用梯度提升树(gradient boosting decision tree,GBDT),支持向量机,随机森林(random forest,RF),构建了CPR风险预测模型,认为与现有的疾病严重程度评分和统计学方法逻辑回归相比,机器学习方法显著增强了对心脏骤停后死亡率的预测辨别。Al-Dury等[8]使用数据驱动结合RF算法对院外心脏骤停院前评估的16个特征进行了相对重要性分析,总结出初始心率,年龄,早期心肺复苏,心脏骤停位置和救护车到达时间5个特征对心脏骤停最终结果影响意义重大,并且否定了性别这个在传统思维上十分重要的特征。Wu 等[9]针对166例急性冠脉综合征患者的心脏骤停,构建了8种机器学习算法得出预测结果并相互比较,得到了极端梯度提升(EXtreme gradient boosting,XGBoost)为效果最优的模型。虽然有诸多学者使用机器学习方法对CPR风险因素展开了预测,但是上述研究大多是倾向于得到更好的预测结果、分析风险因素以及判断特征重要性,并未针对某一具体病例给出特定的诊疗方案。

在机器学习模型预测与特征选择的基础上,融合了CPR诊疗标准创建了算法寻优的参数空间,通过CPR辅助诊疗算法得出了最佳诊疗方案。并与未加入CPR诊疗标准的算法对比,验证加入CPR诊疗标准后得出的诊疗方案更贴合临床实际。

1 心肺复苏数据处理

1.1 数据收集与整理

本文所用数据主要来自河北医科大学第一院急诊科、河北省急诊急救创新中心的“院内心脏停止与心肺复苏”的数字信息系统。使用以Utstein模式[10]为基础的心肺复苏注册研究登记表,具体内容包括:医院等级和年急诊量、患者一般情况、发生心脏骤停和CPR时情况、院内自主循环恢复、住院到出院、出院随访等。

1.2 数据预处理

整理完毕的数据含有1 201个样本和29个特征。将缺失值大于50%的特征剔除,包括碳酸氢钠用量、碳酸氢钠首次使用时间、头部X光扫描和头部核磁共振。年龄与肾上腺素使用剂量有少量数据缺失,分别使用众数与平均数进行填补。将两个特征进行耦合,用CPR开始时间与使用肾上腺素时间做差,得到首次使用肾上腺素的时间这个特征,对预测结果有重要的影响。之后将CPR停止原因(复苏成功率>20、复苏失败)作为标签,用LabelEncoder进行编码(复苏成功率>20为0、复苏失败为1)。数据处理完毕之后纳入824个样本,24个特征和1个标签。

2 模型搭建与评估指标

2.1 模型搭建

RF[11]是一种经典的装袋式集成算法,它可以使分类器总数以1/2为边界,执行少数服从多数的投票原则从而达到远超一棵树的预测效果,具有良好的泛化能力以及不错的运行速度。

GBDT[12]是一种基于前向分布算法的boosting算法,新分类器会在旧分类器损失函数梯度下降的地方被创建,每个新的分类器会在上一代分类器残差基础上进行训练。将多个弱分类器进行线性组合,并且拟合残差,得到的优于单棵决策树的算法。

XGBoost[13]是GBDT算法的强化版本,同时具备线性规模求解器和树学习两种算法。它致力于让提升树突破极限,做到比其他提升类的集成算法响应更加快速,训练时间短,精准度高。

模型解释算法(shapley additive explanation,SHAP)[14]不仅可以反映特征的重要程度,还可以展示特征对模型输出的影响。与传统的特征重要性方法比较,Shapley值可以展现特征在取值范围内各个区域对模型的贡献程度。

本文基模型采用3种以树模型(RF、GBDT、XGBoost)为基础的算法,采用加权投票法(Voting)对其进行融合,再根据Shapley值对特征进行过滤,在保证模型预测准确率的基础上留下最重要的一部分特征以此减少后续融合算法寻优所需的时间。

2.2 评估指标

本研究采用基于混淆矩阵的评估指标。真正例(TP)、真反例(TN)、假正例(FP)和假反例(FN)分别代表正例中分类正确和错误、负例中分类正确和错误的个数。

准确率A(accuracy)代表模型分类正确的样本占总样本数的比率,是衡量模型性能的重要标准,即

(1)

精度P(precision)又叫做查准率,表示被模型正确预测为正例的样本数占所有被预测预测为正例的样本数的比例,即

(2)

召回率R(recall)又叫做查全率,表示被正确预测为正例的样本数占全体真实正例样本数的比例,即

(3)

F1-score可以将精度与召回率调和取平衡值,即

(4)

2.3 融合算法

CPR诊疗有国内国际上通用的诊疗标准,CPR相关操作、药物的使用都有固定的流程。首先要确定周围环境安全,然后评价患者生命体征,摆正患者姿态后持续予以胸外心脏按压并同时进行肾上腺素的静脉推注,患者颈动脉出现搏动则证明抢救成功[15]。

本研究通过model.predict_proba(data)返回机器学习模型预测结果在生存与死亡下的概率,并在符合CPR诊疗标准的参数空间中循环寻优来得到最佳诊疗方案。以此来实现机器学习模型与CPR诊疗标准的融合。在临床环境中因为其环境复杂多变,存在患者无脉搏,但家属仍然要求继续进行胸外按压或者继续使用肾上腺素等情况,故CPR总时间、肾上腺素首次使用时间、肾上腺素用量的取值范围通过参考特征在数据集中的分布取四分位值与临床经验来限定。数据分布情况如表1所示。

表1 数据分布情况Table 1 Data distribution

本研究设定在CPR开始后进行静脉推注肾上腺素,并在CPR停止时同时停止使用肾上腺素。心肺复苏救治的时序图如图1所示。

CPR_start为心肺复苏开始时间;At_start为肾上腺素开始时间;Finish为心肺复苏结束;TCPR为心肺复苏总时间;TF为心肺复苏开始至首次使用肾上腺素的时间;TAt为肾上腺素使用时间图1 CPR救治时序图Fig.1 Time sequence diagram of CPR

融合算法根据后续实验筛选特征的结果,纳入了以下CPR诊疗标准,并创建参数空间。

(1)假定患者只在CPR持续期间使用肾上腺素。

(2)肾上腺素使用方式为每3 min静脉推注1 mg。

(3)根据数据分布情况限制肾上腺素首次使用时间小于10.8 min、心肺复苏时间小于76 min、肾上腺素用量小于19.5 mg。

算法需要依赖模型在参数空间中进行寻优,其数学模型为

算法整体流程图如图2所示。首先将初始数据集分别输入到RF、XGBoost、GDBT中进行训练并对其进行投票融合。接着使用Shapley值进行特征过滤,留下最重要的特征,重新训练模型。其次将模型引入参数空间,在参数空间下进行寻优,最终得到最佳诊疗方案。

图2 整体流程图Fig.2 Overall flow chart

3 实验结果

3.1 模型预测效果

仿真结果得到了6个对CPR结果影响最大的特征,而在实际临床应用中,每个特征相互之间也都有着密切的依赖关系。各特征在SHAP特征密度散点图下的表现如图3所示。

图3 SHAP特征密度散点图Fig.3 Scatterplot of SHAP feature density

肾上腺素总剂量与CPR总时间相关,心肺复苏时间越长,肾上腺素使用剂量越多,复苏结果往往越差。在各个年龄层,特殊病史都与复苏结果有一定的相关性。心脏骤停的原因分为心源性,非心源性,原因不明三类,而只有心源性因素与复苏结果显著相关。在实际临床操作中,对于初期心律不能除颤的心脏骤停在首次除颤失败后立即应用肾上腺素,均可提高复苏成功率。美国心脏学会认为最初几分钟内给予CPR,则患者的存活机会可提高4倍,在4 min内进行CPR的患者生存率可达43%~53%,超过10 min的患者死亡率极高。

心脏骤停地点对CPR结果有着重要的影响。分为院外与院内两种,若患者在医院内治疗过程中发生了心脏骤停,医护人员可以及时进行治疗;若在院外发生心脏骤停可能会因为救护车往返途中损失的时间而耽误了最佳的治疗期,而降低了复苏成功率。

将本文模型预测效果与RF、GBDT、XGBoost对比。各模型在评价指标下的得分如表2所示。

表2 算法对比Table 2 Algorithm comparison

由仿真结果可见,本文模型性能相比基础模型在各个性能指标上都有所提升,准确率、精度、召回率和F1-score分别达到了0.88、0.92、0.94和0.93。

3.2 融合算法结果

选取一名年龄为20岁、无确切病史、在急诊科发生心脏骤停的男性患者。在临床实际操作中,对其进行了40 min的心肺复苏,在开始心肺复苏的2 min后对其间断给予了10 mg的肾上腺素最终患者死亡。

将其数据输入到融合之前和融合之后的模型,将融入CPR救治标准后的模型在参数空间的表现与未融入的模型在原参数空间的表现进行对比如图4、图5所示:可以看出融合CPR诊疗标准之前的算法的参数空间存在与临床实际不符的参数,如存在CPR总时间很小但肾上腺素首次使用时间与肾上腺素用量很大的区域。融合CPR诊疗标准之后的参数空间其参数量大幅减少但更符合临床实际。

图4 原参数空间Fig.4 Original parameter space

图5 融合诊疗标准后的参数空间Fig.5 Parameter space after fusion of diagnosis and treatment criteria

融合后和融合前的算法得出的最佳诊疗建议如表3所示。

表3 融合前后结果对比Table 3 Comparison of results before and after fusion

可以看出融合前的算法对该患者的诊疗建议在CPR开始的第三分钟开始使用肾上腺素,在开始CPR的第六分钟已停止使用肾上腺素但仍持续进行了22 min的CPR其复苏成功率也与临床经验不符。融合之后的算法进行了6 min CPR,在CPR开始的第三分钟开始使用肾上腺素,CPR结束时同时停止使用肾上腺素。可以看出融合之后的算法更符合临床实际。

4 结论

本研究融合3种性能较好的机器学习模型并根据Shapley值筛选出了CPR总时间,肾上腺素首次使用时间、肾上腺素用量、心脏骤停地点、特殊病史、年龄这6个重要特征。在CPR诊疗标准下创建参数空间进行寻优,最终得到针对心肺复苏总时间,肾上腺素首次使用时间以及肾上腺素用量的具体诊疗方案,对于医护人员的辅助诊断工作具有重要的应用意义。机器学习模型需要大量数据支撑,由于数据样本量有限,本研究存在一定的局限性。增加多中心研究,提高心肺复苏结构化病历入组数据登记质量,纳入更多的病历数据,进一步提高模型性能,是本研究今后继续探索的方向。纳入的心肺复苏诊疗标准也比较有限,在今后的研究中还应与更多的专家学者一起探讨如何构建更贴合临床的数学模型。

综上所述本研究构建的融合算法能够给出具体的CPR诊疗方案,对临床诊疗具有辅助效果,在机器学习与医学融合的方向上具有创新性。但进一步的研究还需继续扩大CPR样本集,并与更多的专家学者一起探讨关于诊疗标准与机器学习更贴合的融合方法。

猜你喜欢
心肺心脏预测
无可预测
心肺康复“试金石”——心肺运动试验
小象接受心肺复苏
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
中医急诊医学对心肺复苏术的贡献
心脏
关于心脏
“心肺之患”标本兼治
不必预测未来,只需把握现在