首页 > 其他分享 >收集 301 医院 451 名老年冠心病患者数据,机器学习模型准确预测患者一年内死亡率

收集 301 医院 451 名老年冠心病患者数据,机器学习模型准确预测患者一年内死亡率

时间:2023-08-04 15:06:24浏览次数:36  
标签:预测 301 模型 患者 冠心病 糖尿病 451 Brier

内容一览:据国际糖尿病联盟 (IDF) 统计,2021 年中国糖尿病患者数量占全球 26%。而糖尿病患者血糖长期失控,有极高风险引起冠心病等并发症。近期,湖北省麻城市人民医院研究人员分析比较了多种模型,并用其中表现最优的机器学习模型,预测了中国老年冠心病合并糖尿病或糖耐量受损患者一年内死亡率为 26.83%。

关键词:冠心病 生存预后 梯度提升机

本文由 HyperAI 超神经首发于微信公众平台~

据 2017 年糖尿病患病调查,我国老年人糖尿病患者高达 7813 万人。结合多项大型人群研究发现,糖代谢异常与心血管病存在高度「共病」关系,即糖尿病患者往往会伴有冠心病等并发症,而后者已然成为糖尿病患者死亡的一大主因——约有 75% 的糖尿病患者死于冠心病。然而,目前关于冠心病合并糖尿病或糖耐量受损患者生存危险因素的相关研究寥寥可数

|备注:++糖耐量受损 (IGT) 是一种由正常血糖向糖尿病过渡的异常糖代谢状态,属于糖尿病前期,可能进一步发展为糖尿病 (diabetes mellitus, DM)++。

为了突破这一现状,中国湖北省麻城市人民医院的研究人员,开创性地对比了逻辑回归模型 (LR) 和 3 种机器学习模型,成功预测出中国老年冠心病合并糖尿病或糖耐量受损患者一年内死亡率,帮助医学界及时识别有短期死亡风险的患者,从而及早预警和治疗。

**目前该研究已发布在《Cardiovascular Diabetology》期刊上,标题为「Machine learning-based models to predict one-year mortality among Chinese older patients with coronary artery disease combined with impaired glucose tolerance or diabetes mellitus」**。

在这里插入图片描述

图 1:该研究成果已发表在《Cardiovascular Diabetology》

论文地址: https://cardiab.biomedcentral.com/articles/10.1186/s12933-023-01854-z

实验过程

数据集:收集 301 医院 451 名老年冠心病患者数据

本研究分析了 2007 年 10 月至 2011 年 7 月期间,中国人民解放军总医院老年心脏病科收治的 974 名老年冠心病患者。其中,研究人员按照两个条件进一步筛选,分别为:

  1. 年龄超过 60 岁;
  2. 患有糖耐量受损 (IGT) 或糖尿病 (DM)。

最终生成的数据集中包含 451 名患者,并按 7 : 3 的比例随机分为训练集 (n = 308) 及测试集 (n = 143)。训练集用于训练和优化逻辑回归模型和 3 种机器学习模型,测试集则用于测试模型预测性能。数据集筛选流程如下:

在这里插入图片描述

图 2:概述入选患者和研究设计流程图

模型开发:选定 4 大模型进行横向对比

本项研究中,研究人员开发了逻辑回归模型和 3 种机器学习模型,分别为梯度提升机模型 (GBM)、随机森林模型 (RF) 和决策树模型 (DT) 来建立预测模型,并根据布里尔分数 (Brier Score)、 AUC (Area Under the Curve)、校准曲线 (calibration curve) 和决策曲线 (decision curve) 几个指标,来评估预测效果。

Brier Score:衡量算法预测出的概率和真实结果的差异的一种方式。其取值范围为 0 到 1,分数越高则预测结果越差,校准程度越低。 在这里插入图片描述

图 3: 布里尔分数计算公式

AUC:指曲线下面积。在统计学和机器学习中,AUC 常用于评估二分类模型的性能。其取值范围在 0 到 1,数值越接近 1,则表示模型性能越好;数值越接近 0.5,则表示模型预测能力较弱。

对3个机器学习模型进行特征筛选及参数调优

同时,研究人员对开发的机器学习模型进行了特征筛选和参数调优。首先,他们采用 LASSO (least absolute shrinkage and selection operator) 算法结合 10 倍交叉验证筛选出与一年死亡率显著相关的 7 个特征,作为模型输入,这 7 个特征分别为血红蛋白、HDL- C、白蛋白、血肌酐、NT-proBNP、CHF 和他汀类药物。然后,他们通过随机超参数搜索,使用 5 倍交叉验证和自举法 (bootstrap) 来寻找最佳参数组合,获取最佳曲线下面积 (AUC)。

在这里插入图片描述

图 4:超参数调优过程

A:所有变量的最小绝对收缩与选择算子 (LASSO) 系数曲线 B:最佳参数组合 C:临床特征之间的相关系数

由图 4,所有相关系数均低于 0.80,表明不存在严重的共线性。用上述 7 个临床特征训练逻辑回归模型和 3 个机器学习预测模型。经过模型训练和优化,每个模型的最优超参数如下表所示: 在这里插入图片描述

表 1:各模型的最优超参数

实验结果

从各个模型的整体性能来看

  • 逻辑回归模型 (LR) 的 Brier 分数为 0.116
  • 梯度提升机模型 (GBM) 的 Brier 分数为 0.114
  • 决策树模型 (DT) 的 Brier 分数为 0.143
  • 随机森林模型 (RF) 的 Brier 分数为 0.126

下图为各个模型的分析结果

在这里插入图片描述

图 5: 各模型的 AUC、校准曲线、决策曲线、SHAP 值

D:各个模型整体性能 E:各个模型校准曲线 F:各个模型决策曲线 G:SHAP 值热力图 H:基于 SHAP 的特征重要性分析

根据图 5,可得出以下结论:

  1. LR、 GBM、 DT 和 RF 模型的 AUC 分别为 0.827、0.836、0.760 和 0.829。
  2. 校准曲线表明,所有模型都具有良好的校准效果。其中,GBM 模型效果最佳。
  3. 决策曲线分析表明,GBM 模型和 LR 模型均有良好的临床实用性。
  4. 基于 GBM 模型,研究人员进一步分析了整个人群中显著临床特征的重要性。通过分析个体 SHAP 值和平均 SHAP 值均发现与一年死亡率相关的前 3 个特征分别是 NT-proBNP、白蛋白和他汀类药物。**

| SHAPE: Shaley Additive exPlanation, 特征贡献度。研究人员通过分析 SHAP 值,可以获得对于预测结果的解释,了解各个特征如何影响模型的预测,进而更好地理解和解释模型的行为。

综上,研究人员提出,过往研究中的模型虽然预测性能很高,但由于变量太多,不太适合在临床上应用。而本研究中,研究人员成功使用 7 个特征开发出预测一年死亡率的模型,结果显示,GBM 模型 AUC 高达 0.836,Brier 分数为 0.116,预测性能整体最佳

值得注意的是,为了进一步方便临床应用,研究人员还设计了一个在线应用程序,只需要医生填写患者参数,就能预测一年内的死亡概率,这样一来,医生可以通过对高风险患者及早采取有利措施,提高患者生存概率。

AI 医疗领域前景光明,但不应盲目乐观

随着 AI 语音交互、计算机视觉和认知计算、深度学习等技术的逐渐成熟,AI 医疗领域的应用场景日益丰富,涉及医学影像、虚拟助手、药物研发、健康管理、病历/文献分析以及疾病预测管理等多个方向

据中国信通院《2020 人工智能医疗产业发展蓝皮书》,国内 AI 医疗领域虽然起步较晚,但市场需求旺盛,未来发展前景广阔。其中,值得关注的有,截至 2019 年末,全国 65 岁及以上老年人口占比已达 12.6%,意味着中国已正式步入老龄化社会。由此,慢性病发病率也在逐年增加。

在此背景下,以本研究为代表的疾病预测相关成果应运而生,能够有效帮助医生及病人更好地进行健康管理。然而,另一方面,也需看到就市场整体情况来看,AI 相关技术在医院仍未得到规模化应用,医院的付费意愿并不强烈,而这与用户的使用与付费习惯、医保政策等配套基础设施以及临床应用场景的高复杂度等原因有重要联系。所以,对于 AI 医疗领域来说,也仍然还有很长的路要走。

参考链接: [1] https://doi.org/10.5334/gh.934 [2] https://doi.org/10.1111/1753-0407.13175 [3] https://doi.org/10.1007/s001250051352 [4] https://doi.org/10.1186/1475-2840-5-15 [5]https://rs.yiigle.com/CN112148202107/1328929.htm [6]http://www.caict.ac.cn/kxyj/qwfb/ztbg/202009/P020200910495521359097.pdf

本文由 HyperAI 超神经首发于微信公众平台~

标签:预测,301,模型,患者,冠心病,糖尿病,451,Brier
From: https://blog.51cto.com/u_16060192/6962389

相关文章

  • HTML 快速301到其他页面
    要实现HTML页面以最快速度执行301跳转到其他页面,您可以在`<head>`部分使用`http-equiv`属性与`refresh`实现。以下是一个示例HTML文件,该文件会立即执行301永久重定向到指定URL:```html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv=&qu......
  • P9451 [ZSHOI-R1] 新概念报数 题解
    满足\(\operatorname{popcount}(x)<3\)的数实际上很少,直接把所有这些数扔到set里面,询问就返回set中\(x\)的下一个元素即可。记得开longlong。set内的元素数量是\(\log^2w\),所以复杂度是\(\mathcalO(\log^2w\log\log^2w+T\log\log^2w)=\mathcalO(\log^2w\log\logw......
  • macOS Sonoma 14 beta 4 (23A5301g) ISO、IPSW、PKG 下载
    macOSSonoma14beta4(23A5301g)ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://sysin.org/blog/macOS-......
  • SFP3012A-ASEMI代理海矽美(MHCHXM)快恢复二极管
    编辑:llSFP3012A-ASEMI代理海矽美(MHCHXM)快恢复二极管型号:SFP3012A品牌:ASEMI芯片个数:1芯片尺寸:102MIL*2封装:TO-247AC恢复时间:75ns工作温度:-40°C~175°C浪涌电流:300A正向电流:30A反向耐压:1200V正向压降:1.75V引脚数量:2漏电流:>10uaSFP3012A二极管特性:SFP3012A-ASEMI代理......
  • SFP3012-ASEMI快恢复二极管参数、规格、尺寸
    编辑:llSFP3012-ASEMI快恢复二极管参数、规格、尺寸型号:SFP3012品牌:ASEMI芯片个数:2芯片尺寸:102MIL*2封装:TO-247恢复时间:65ns工作温度:-40°C~175°C浪涌电流:160*2正向电流:30A反向耐压:1200V正向压降:1.75V引脚数量:3漏电流:>10uaSFP3012二极管特性:SFP3012快恢复二极管广......
  • 【java】智慧导诊系统:根据患者症状匹配挂号科室
    一、系统概述:医院智慧导诊系统是在医疗中使用的引导患者自助就诊挂号,在就诊的过程中有许多患者不知道需要挂什么号,要看什么病,通过智慧导诊系统,可输入自身疾病的症状表现,或选择身体部位,在经由智慧导诊系统多维度计算,精准推荐科室,引导患者挂号就诊,实现科学就诊,不用担心挂错号。二、......
  • !114514
    \(S_m(n)=\sum\limits_{i=0}^{n-1}i^m=\dfrac{1}{m+1}\sum\limits_{i=0}^{m}B_{m+1-i}\dbinom{m+1}in^i\),注意求和没有\(B_0\)。CF923DPickingStrings经过手玩发现,B和C等价,A可以转化为BB,B等价于AB。于是先把所有极长的AB连续段缩起来,凡是后面有......
  • 【codevs3012】线段覆盖4
      #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>usingnamespacestd;structhp{ intai,bi,ci;}a[1005];boolcmp(hpa,hpb){ returna.bi<b.bi;}constintM=1e6+2;intn,i,j,k,maxn,f[1005];int......
  • 【雕爷学编程】Arduino动手做(100)---MAX30102手腕心率模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • LeetCode 301. 删除无效的括号
    classSolution{public:vector<string>ans;vector<string>removeInvalidParentheses(strings){//lr分别记录要删除的左右括号数量intl=0,r=0;for(autoc:s)if(c=='(')l++;elseif(c=='......