研究文章

利用大型重症监护电子健康记录数据库进行糖尿病骨质疏松预测的多模型可解释机器学习

DOI:

10.3791/71386

2026年6月30日

本文内容

摘要

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

本方案描述了利用常规收集的临床数据开发和评估一种可解释的集成树型机器学习模型,以预测糖尿病患者的骨质疏松风险。

摘要

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

糖尿病与骨骼脆性增加及骨折风险升高相关;然而,在糖尿病人群中早期识别骨质疏松症(OP)仍然具有挑战性。本研究旨在开发并比较多种机器学习(ML)模型,用于预测糖尿病患者中的骨质疏松症,同时评估其临床实用性,并利用SHapley加性解释(SHAP)方法提高模型的透明度。基于MIMIC-IV数据库中常规收集的人口统计学和实验室数据,训练并验证了多种机器学习算法,包括树集成方法、梯度提升以及线性基线模型。通过区分度指标(如受试者工作特征曲线下面积(AUC)和精确率-召回率分析)、概率校准曲线以及决策曲线分析(DCA)对模型性能进行了全面评估,以衡量净临床获益。表现最优的模型进一步通过SHAP进行解释,以在全局和个体层面量化并可视化各特征的贡献。在所有评估的模型中,基于集成树的方法表现出更优的性能。ExtraTrees分类器取得了最高的验证性能(AUC = 0.862;平均精确率 = 0.866)。此外,所选模型表现出优异的概率校准能力(Brier评分 = 0.154),并在DCA中广泛的风险阈值范围内显示出显著的净临床获益。SHAP分析识别出性别和年龄为最具影响力的预测因子,其次是常规血液学和代谢类实验室指标。局部解释为个体预测提供了具有临床可解释性的洞察。一种可解释的基于集成树的模型能够利用常规可获取的临床变量有效预测糖尿病患者的骨质疏松风险。结合SHAP方法可提升临床透明度,而良好的校准性能与显著的净临床获益支持其作为糖尿病人群骨质疏松风险早期分层的可靠决策支持工具的潜在应用价值。

引言

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

糖尿病和骨质疏松症(OP)是两种高度常见的慢性疾病,常同时存在,导致脆性骨折、残疾和医疗成本增加,带来沉重的疾病负担。在2型糖尿病(T2D)患者中,即使通过双能X线吸收测定法(DXA)测量的面积骨密度(BMD)正常或高于预期,骨折风险仍异常升高,这表明骨“质量”和全身代谢因素在骨骼脆弱性中具有重要作用1,2。尽管DXA是临床诊断OP的标准方法,但其可及性和应用在许多地区仍有限,且基于DXA的评估可能低估糖尿病相关的骨骼风险。在人群层面,荟萃分析证据表明,糖尿病患者中骨质疏松症较为常见,但其患病率在不同队列和临床背景下存在差异3。因此,迫切需要开发实用、可扩展的风险预测工具,利用常规收集的临床数据更早识别高风险患者,从而指导有针对性的筛查和个体化预防策略,这一需求具有重要的临床意义和强烈的研究动力。

近年来,机器学习(ML)方法被越来越多地用于建模临床数据中的复杂非线性关系,并为糖尿病患者构建骨质疏松症(OP)风险预测模型。先前的研究已证明,使用梯度提升、支持向量机、神经网络以及列线图风格工具等算法可实现良好的区分能力。特别是最近的研究进展探索了创新的建模策略,例如将机器学习与模糊逻辑相结合,以基于可改变的因素来预测骨质疏松症及糖尿病相关风险4,5,6。然而,目前仍存在显著的研究空白:许多现有模型是在受限的亚组人群中开发的(例如仅限绝经后女性或老年2型糖尿病患者),并在有限的一组候选算法中进行评估,导致对于更广泛的糖尿病人群以及异质性的电子健康记录(EHR)数据而言,尚不清楚哪些建模选择是最优的。此外,这些高性能机器学习模型在临床应用中面临一个关键障碍,即其“黑箱”特性,这限制了临床医生的信任,阻碍了其向可操作的决策支持工具的转化。SHapley加性解释(SHAP)提供了一种解决方案,它通过提供个体病例层面的解释,利用Shapley值将每个预测结果归因于各个特征,从而使临床医生能够验证模型的推理是否符合临床合理性。

为弥补上述不足,我们利用重症监护医疗信息集市IV(Medical Information Mart for Intensive Care IV, MIMIC-IV)电子健康记录数据库7,开发并验证了一种针对糖尿病患者的骨质疏松症(OP)风险预测框架。本研究的创新之处在于,在一个规模大且临床特征复杂的糖尿病队列中,对多种机器学习模型家族进行了全面的基准测试,并结合基于SHAP的透明化可解释性分析。与仅聚焦于单一算法的研究不同,我们的端到端方法基于严格的验证过程系统性地筛选出表现最优的模型,并提供透明的、针对个体患者的解释。该框架旨在同时实现稳健的预测性能和具有临床可操作性的洞察,以支持对糖尿病患者更早进行骨质疏松症风险分层。

访问受限。请登录或开始试用以查看此内容。

方案

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

数据来源与伦理声明
本回顾性研究使用了来自 MIMIC-IV(版本 3.1)的数据,该数据为 PhysioNet 上公开提供的去标识化重症监护电子健康记录数据库。该数据库包含人口统计学信息、生命体征、实验室检查、诊断、治疗操作和药物信息。

访问 MIMIC-IV 需要经过认证授权,并遵守 PhysioNet 的数据使用协议和培训要求。研究人员已完成必要的培训并获得访问权限(证书编号:68351548)。由于该数据库已去标识化,本研究分析的是匿名数据,未涉及与患者的直接接触,因此无需知情同意。完整的、可执行的建模工作流程分步展示于图1中。

医学诊断中特征工程和机器学习基准测试的数据流程图。
图1.糖尿病患者骨质疏松症(OP)风险预测的整体建模工作流程。研究流程的示意图,包括队列识别、数据提取、特征工程、多模型基准测试、基于验证性能的模型选择,以及最终模型的SHAP可解释性分析。请点击此处查看该图的放大版本。

研究人群与数据提取
使用数据库管理工具从重症监护医疗信息集市 IV(Medical Information Mart for Intensive Care IV,MIMIC-IV)数据库中提取数据。为确保可重复性,用于队列检索的完整 SQL 查询语句(包括表名和筛选逻辑)已在补充文件1中提供。通过 ICD-9 编码(249、250)和 ICD-10 编码(E08–E13)识别成年糖尿病患者(≥18 岁)。主要结局指标骨质疏松症(OP)通过 ICD-9 编码(733.x)和 ICD-10 编码(M80、M81、M82)定义。在初始符合条件的糖尿病患者队列(n = 46,226)中,共识别出 3,672 例阳性事件(患有 OP 的患者)和 42,554 例阴性事件(无 OP 的患者)。详细的患者筛选与排除流程图见图 2

糖尿病研究队列选择流程图;数据选择、平衡、骨质疏松结局。
图2.患者选择与队列构建流程图。 该流程图展示了从 MIMIC-IV (v3.1) 数据库中逐步推导队列的过程。使用 ICD 编码识别患有糖尿病的成年患者,随后排除年龄 <18 岁、关键数据缺失 >30% 或记录无效的患者。最终队列被划分为 OP(阳性事件)和非 OP(阴性事件)。在分层数据集划分之前,通过对训练数据应用随机欠采样和 SMOTE 方法来解决类别不平衡问题。请点击此处查看此图的放大版本。

特征工程
为确保在多种机器学习算法之间进行公平的基准测试并实现精确的可重复性,采用了完全相同的预处理步骤序列:特征选择、缺失值填补、连续特征缩放、类别平衡以及数据集划分。输入特征的完整列表,包括变量名称、单位和数据来源,详见表1

特征总计
(n = 14,688)
训练集
(n = 9,546)
验证集
(n = 2,204)
测试集
(n = 2,938)
P 值
性别0.345
男性6222 (42.36%)4045 (42.37%)935 (42.42%)1242 (42.27%)
女性8466 (57.64%)5501 (57.63%)1269 (57.58%)1696 (57.73%)
年龄0.28 (−0.40, 0.94)0.28 (−0.43, 0.94)0.23 (−0.46, 0.89)0.28 (−0.39, 0.95)0.1655
红细胞−0.14 (−0.79, 0.49)−0.13 (−0.79, 0.49)−0.17 (−0.83, 0.48)−0.14 (−0.76, 0.49)0.3641
血细胞比容−0.14 (−0.81, 0.52)−0.13 (−0.80, 0.52)−0.14 (−0.87, 0.51)−0.16 (−0.81, 0.52)0.3709
血红蛋白−0.12 (−0.79, 0.52)−0.12 (−0.79, 0.51)−0.15 (−0.86, 0.53)−0.13 (−0.78, 0.52)0.3616
红细胞分布宽度(RDW)−0.16 (−0.59, 0.45)−0.17 (−0.59, 0.46)−0.14 (−0.59, 0.45)−0.17 (−0.60, 0.42)0.5803
磷酸盐−0.14 (−0.60, 0.38)−0.15 (−0.61, 0.38)−0.11 (−0.57, 0.38)−0.13 (−0.56, 0.34)0.415
平均红细胞体积(MCV)0.05 (−0.50, 0.63)0.06 (−0.50, 0.65)0.03 (−0.49, 0.65)0.02 (−0.50, 0.59)0.5408
−0.10 (−0.52, 0.37)−0.10 (−0.52, 0.37)−0.10 (−0.52, 0.37)−0.09 (−0.50, 0.37)0.7797
白细胞−0.16 (−0.47, 0.21)−0.16 (−0.47, 0.20)−0.15 (−0.48, 0.25)−0.16 (−0.46, 0.20)0.6856
阴离子间隙−0.12 (−0.64, 0.45)−0.13 (−0.64, 0.45)−0.07 (−0.61, 0.48)−0.13 (−0.64, 0.45)0.1217
肌酐−0.30 (−0.48, 0.01)−0.30 (−0.48, 0.01)−0.30 (−0.46, 0.01)−0.30 (−0.48, −0.00)0.3323
平均红细胞血红蛋白量(MCH)0.11 (−0.48, 0.62)0.12 (−0.48, 0.62)0.11 (−0.47, 0.62)0.09 (−0.48, 0.61)0.5195
血小板计数−0.09 (−0.61, 0.49)−0.09 (−0.61, 0.49)−0.08 (−0.62, 0.47)−0.10 (−0.62, 0.48)0.9709
平均红细胞血红蛋白浓度(MCHC)−0.00 (−0.59, 0.59)−0.00 (−0.60, 0.59)−0.00 (−0.57, 0.58)0.00 (−0.57, 0.60)0.9263
0.05 (−0.54, 0.64)0.05 (−0.52, 0.65)0.03 (−0.59, 0.62)0.07 (−0.52, 0.62)0.4675
−0.07 (−0.67, 0.53)−0.09 (−0.67, 0.53)−0.07 (−0.67, 0.53)−0.07 (−0.62, 0.53)0.3071
0.05 (−0.56, 0.60)0.05 (−0.55, 0.60)−0.00 (−0.60, 0.60)0.07 (−0.57, 0.61)0.3492
尿素氮−0.28 (−0.60, 0.29)−0.28 (−0.60, 0.29)−0.26 (−0.59, 0.31)−0.28 (−0.59, 0.25)0.6826
总钙0.02 (−0.61, 0.59)0.02 (−0.61, 0.59)−0.01 (−0.59, 0.56)0.01 (−0.61, 0.60)0.8203

表1. 研究队列的基线特征及构建的特征。分类变量以 n(%)表示,连续变量以标准化值的中位数(四分位间距)表示。采用适当的统计学方法计算训练集、验证集和测试集之间分布比较的 P 值。

对于具有重复测量值的连续变量,采用在整个ICU住院观察时间窗内的算术平均值进行汇总,从而为每位患者生成一个单一的特征向量。缺失率超过30%的变量被排除。对于其余的数值型变量,采用K近邻(KNN)算法(n_neighbors = 5,weights = 'uniform')对缺失值进行填补。分类变量使用最常见类别进行填补,随后通过二值映射进行转换,任何未见过的类别均被赋予一个全零向量。

连续变量使用z分数标准化公式()进行标准化。在标准化之前,明确移除显示零方差的特征。所有预处理参数(µ和σ)均仅在训练集上进行估计,并一致地应用于验证集和测试集。

鉴于严重的类别不平衡(3,672 vs. 42,554),采用了一种混合平衡策略,仅针对训练数据进行处理,以避免性能评估结果被高估。首先,通过随机欠采样方法减少多数负类样本,使正负样本比例达到1:2(正:负),从而得到7,344个负样本。随后,对正类样本应用合成少数类过采样技术(SMOTE),最终实现1:1的平衡比例(7,344 vs. 7,344)8

最后,采用分层抽样方法,在患者层面将队列按65%训练集、15%验证集和20%测试集进行划分。为严格控制填补、平衡及划分过程中所有随机操作,统一设置了全局随机种子(random_state = 42)。

模型架构
为了确定最适合预测糖尿病患者骨质疏松(OP)风险的预测模型,采用大规模基准测试框架,在相同的数据表示和评估协议下比较了70种机器学习算法变体。候选模型家族包括正则化线性分类器、支持向量机(SVM)、k近邻(kNN)、树集成方法、梯度提升架构以及多层感知机9,10,11,12,13,14,15,16,17

与传统的网格搜索不同,超参数优化是通过对这70种模型变体在训练集上评估预定义的、稳健的配置来完成的。模型选择严格基于在验证集上最大化受试者工作特征(ROC)曲线下面积(AUC)。最终表现最优的模型配置为 n_estimators = 200,其余参数保持与材料表中所列软件包的默认设置一致。评估指标(包括AUC、准确率、F1分数、精确率和召回率)均使用默认的0.5概率阈值进行计算。

为了支持临床透明性,采用 TreeExplainer 方法将 SHAP 应用于所选模型。鉴于最终模型基于树结构,使用精确的树路径依赖期望值作为背景配置。

访问受限。请登录或开始试用以查看此内容。

结果

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

模型性能比较
为了确定糖尿病患者骨质疏松(OP)的最佳预测方法,系统性地比较了多种机器学习模型。将正则化线性分类器(逻辑回归)作为基线对照模型纳入分析。整体性能比较结果汇总于图3–6中。在所有评估的模型中,基于集成树的方法在区分能力方面均优于线性基线模型。

用于骨质疏松症预测的机器学习模型比较混淆矩阵示意图
图 3.表现最佳模型的混淆矩阵。在验证集上评估的代表性模型的混淆矩阵,包括 ET_200、ET_balanced、ET_100、RF_500、RF_entropy 和 RF_200。每个矩阵显示了真阴性、假阳性、假阴性和真阳性的数量,用以说明各模型的分类性能。

访问受限。请登录或开始试用以查看此内容。

讨论

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

本研究系统比较了多种机器学习算法,以确定糖尿病患者中骨质疏松症(OP)的最佳预测模型。基于集成树的方法,特别是ExtraTrees模型,在区分能力、概率校准可靠性以及临床净收益方面均优于线性基线模型及其他算法类别。这些结果表明,非线性相互作用和复杂的特征关系对于准确捕捉糖尿病人群中的OP风险具有重要意义。

为了提高临床透明度,采用SHAP方法对所选模型进行解释。分析结果显示,性别和年龄是影响预测的最重要因素,这与已知的生物学证据一致,即衰老和激素变化(如雌激素缺乏或相对性腺功能减退)会损害骨微结构。除人口学因素外,血液学指标(如血红蛋白和红细胞分布宽度)以及常规代谢生化检测指标也对风险预测有所贡献。这些标志物可能反映了慢性炎症、肾功能障碍和酸碱失衡所累积的生理效应,而这些因素均与糖尿病患者的骨骼脆弱性相关。近期研究还强调了营养状况和可改变的生活方式因素在糖尿病与骨质疏松共病中的作用18,19。常规实验室检测变量的重要作用表明,该模型捕捉到了与骨骼健康相关的更广泛的系...

访问受限。请登录或开始试用以查看此内容。

披露

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

作者声明,本研究是在不存在任何可能被解释为潜在利益冲突的商业或财务关系的情况下进行的。

致谢

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

作者衷心感谢南通市科技项目(项目编号:JC2023039)和南通市科技局社会发展指导计划(项目编号:MSZ2023054)提供的经费支持。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
CatBoostYandexv1.2(或适用版本)针对分类特征优化的梯度提升算法
imbalanced-learn (SMOTE)Scikit-learn Contribv0.11(或适用版本)用于执行合成少数类过采样技术(SMOTE)以实现类别平衡的库
LightGBMMicrosoft Corporationv4.0(或适用版本)基于决策树的梯度提升框架
MatplotlibMatplotlib 开发团队v3.7(或适用版本)用于绘制图形和性能曲线的可视化库
MIMIC-IV 临床数据库PhysioNetv3.1公开可用的重症监护电子健康记录数据集,作为数据来源
Navicat PremiumPremiumSoft CyberTech Ltd.v17.0用于基于 SQL 的数据提取的数据库管理工具
NumPyNumPy 开发者v1.24(或适用版本)用于数组操作和数据处理的数值计算库
OpenPyXLEric Gazoni, Charlie Clarkv3.1(或适用版本)用于读写 Excel 文件的库
PandasPandas 开发团队v2.0(或适用版本)用于结构化数据集的数据操作与分析库
PostgreSQLPostgreSQL 全球开发组v14(或适用版本)用于查询和管理 MIMIC-IV 数据的关系型数据库系统
PythonPython 软件基金会v3.8+(或适用版本)用于数据处理、建模与分析的编程语言
Scikit-learnScikit-learn 开发者v1.3(或适用版本)用于模型开发、预处理和评估的机器学习库
SciPySciPy 开发者v1.10(或适用版本)用于统计分析的科学计算库
SeabornMichael Waskomv0.12(或适用版本)用于增强图形输出的统计数据分析可视化库
SHAP (SHapley Additive exPlanations)Scott Lundbergv0.42(或适用版本)利用特征归因值解释模型预测的框架
XGBoostDMLC(分布式机器学习社区)v2.0(或适用版本)广泛用于结构化数据建模的梯度提升算法

重印与许可

申请许可以重复使用本 JoVE 文章的文本或图表

申请许可

标签

232 232 JoVE 232 ExtraTrees

相关文章