方法文章

使用统计特征选择与可解释机器学习进行心脏病预测

DOI:

10.3791/71170

2026年6月5日

本文内容

摘要

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

本方案描述了一种用于心脏病预测的机器学习框架,该框架结合了使用生成对抗网络进行数据增强、基于统计与元启发式算法的特征选择,以及可解释的人工智能技术。

摘要

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

心脏病是全球主要的死亡原因之一,因此其早期预测成为一个重要的临床和计算问题。已有若干研究分别针对数据稀缺、特征选择和模型可解释性等挑战进行了探讨,但较少有研究提出能够以协同方式综合解决这些挑战的整合框架。本文提出了一种全面的预测框架,该框架包含:(1)使用生成对抗网络(GAN)来解决类别不平衡和数据稀缺问题;(2)一种混合特征选择方法,结合通过Welch’s t.-检验和Cohen’s d效应量进行的统计预筛选,以及基于哈里斯鹰优化算法(Harris Hawk Optimization)的元启发式优化;(3)多种可解释的人工智能方法,包括SHAP、部分依赖图和比值比。该框架在Cleveland和Statlog数据集上进行了评估,与选定的基线模型和现有方法相比,表现出较高的准确率、F1分数和ROC-AUC值。该模型为心脏病预测提供了一个稳健且可解释的计算框架,将机器学习性能与临床可解释性有效关联。

引言

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

心血管疾病是全球发病率和死亡率的主要原因之一,每年估计导致1790万人死亡1。早期且准确地预测心脏病对于及时干预和改善患者预后至关重要。在此背景下,使用机器学习(ML)算法进行心脏病预测面临三个主要挑战:高质量医学数据的有限可获得性、包含冗余或无关变量的高维特征空间,以及复杂模型的“黑箱”特性,这可能阻碍临床信任与推广应用2。近期研究已将机器学习与可解释人工智能(XAI)方法相结合用于心脏病预测3。许多研究人员也已将机器学习应用于心脏病的预测与检测4。生成式人工智能的最新进展,尤其是生成对抗网络(GANs),在医疗健康领域的数据增强方面展现出良好前景5。同时,诸如哈里斯鹰优化算法(Harris Hawk Optimization, HHO)和粒子群优化算法(Particle Swarm Optimization, PSO)等元启发式算法在特征选择和模型优化中已被证明具有显著效果6。SHAP和部分依赖图(partial dependence plots, PDPs)等XAI技术也逐渐成为解释复杂模型预测结果的重要工具7。目前已有大量关于机器学习模型用于心血管风险预测的研究8

然而,现有文献通常孤立地讨论这些问题。一些研究专注于使用生成对抗网络(GAN)进行数据增强9,另一些研究则专门探讨使用元启发式算法进行特征选择10,或基于可解释人工智能(XAI)方法的模型可解释性11。基于SMOTE的数据增强已被用于心力衰竭生存预测研究12。基于KNN的心脏疾病诊断也有相关报道13。这些独立的方法未能充分整合数据稀缺性、特征选择、模型训练和可解释性等方面的综合优势,无法通过统一框架实现整体性能的提升。

近期研究已探索了相关方法。2026年发表于《医学前沿》的一项研究提出了一种采用粒子群优化(PSO)的异构分类器,结合填充插值与中位数填补法用于心脏病诊断,在合并数据集上实现了91.3%的准确率14。其他近期研究还包括将元启发式优化应用于医学图像分割15、利用可解释人工智能(XAI)进行中风预测16、采用混合优化方法进行心律失常分类17,以及基于SHAP增强的临床决策支持系统18。然而,这些研究中极少有将生成式数据增强、基于哈里斯鹰优化(HHO)的双准则统计特征选择与多种方法结合的可解释人工智能(XAI)整合于同一框架中的研究。

本文旨在通过提出一种系统整合数据增强、混合特征选择、模型优化与训练以及可解释性分析的心脏病预测框架,以弥补这一研究空白。在数据增强阶段,利用生成对抗网络(GANs)基于患者的年龄、血压、胆固醇水平和心电图测量值等特征,合成表格形式的临床数据。尽管生成对抗网络广泛应用于医学图像生成,本研究将其应用于克利夫兰心脏病数据集,该数据集包含13个数值型和类别型特征,旨在解决样本量有限(n = 303)和类别不平衡问题。在混合特征选择阶段,结合Welch’s t.-检验和Cohen’s d效应量与HHO算法,识别出具有统计稳健性和临床相关性的特征子集。在模型优化与训练阶段,采用粒子群优化算法(PSO)优化人工神经网络的权重,同时训练逻辑回归和随机森林模型,因其在性能与可解释性之间具有良好的平衡性。在可解释性分析阶段,采用SHAP、部分依赖图(PDPs)和比值比等互补的可解释人工智能(XAI)技术,提供模型的全局和局部解释。

所提出框架的整体工作流程如图1所示。表1总结了所提出方法与现有特征选择方法之间的主要差异[此处插入表1]。

心脏病分析流程图:数据预处理、统计过滤、模型训练、可解释性。
图1:提出的心脏病预测框架概览。该工作流程包含四个主要阶段:(1)使用生成对抗网络(GANs)进行数据预处理与数据增强,以应对数据稀缺问题;(2)结合统计过滤(Welch’s t.-test 与 Cohen’s d)与哈里斯鹰优化算法(Harris Hawk Optimization)的混合特征选择;(3)使用可解释性分类器进行模型训练,包括逻辑回归(Logistic Regression)和随机森林(Random Forest),以及经粒子群优化(PSO)的ANN(人工神经网络);(4)利用SHAP、部分依赖图(partial dependence plots)和比值比(odds ratios)进行可解释性分析。缩写:GANs = 生成对抗网络(generative adversarial networks);PSO = 粒子群优化(Particle Swarm Optimization);ANN = 人工神经网络(Artificial Neural Network)。请点击此处查看此图的放大版本。

方法类别统计检验(例如,t 检验)效应量(例如,Cohen's d)元启发式优化(例如,HHO/PSO)可解释性关注程度
传统统计方法极少中等
纯优化方法
现有混合方法有时极少可变
本文提出框架是(Welch’s t-test)是(Cohen’s d ≥ 0.5)是(HHO)高(集成XAI)

表1:心脏病预测中特征选择方法的比较。 比较的方法包括传统统计方法、纯优化方法、现有混合方法以及所提出的框架,比较标准涵盖统计检验、效应量、元启发式优化和可解释性关注。

本研究的主要贡献如下。第一,为解决数据稀缺和类别不平衡问题,采用了一种标准生成对抗网络(GAN),其损失函数为二元交叉熵,并使用Adam优化器;当TensorFlow不可用时,则启用高斯扰动作为备用方案。第二,为解决特征冗余问题,提出了一种混合特征选择策略,该策略结合了统计预筛选与使用V型转移函数的哈里斯鹰优化算法(HHO)。这种双准则方法旨在筛选出既具有统计显著性又具备临床相关性的特征。第三,为解决模型不透明问题,集成了一套多方法可解释性分析工具,包括SHAP蜂群图和瀑布图、部分依赖图(PDPs),以及带有95%置信区间的比值比。为便于临床用户使用,提供了一个简单的协调协议:若PDP显示非线性趋势,则应优先采用SHAP解释而非逻辑回归系数。第四,为支持结果的可重复性与结构化验证,本框架包含了分层交叉验证、公平性审计、消融实验、针对MIMIC-III数据集的外部验证协议,以及关键超参数的详细记录。

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

方案

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

伦理声明、数据集、软件与数据准备
本研究的发现基于 UCI 机器学习知识库中的心脏病数据集。由于该资源为公开且去标识化的数据,使用该数据无需伦理委员会审批。作者同时声明本文的原创性,确认该稿件尚未在其他期刊发表或投稿。

克利夫兰心脏病数据集按80/20的比例划分为训练集和测试集。该数据集通常包含303个实例,因此约242个样本用于训练,61个样本保留为独立的测试集。由生成对抗网络(GAN)或高斯回退方法生成的合成样本仅添加到训练数据中,以降低数据泄露的风险。最终增强的训练集包含约242个真实样本和1,000个合成样本,共计1,242个训练样本。未使用固定的静态验证集,而在模型训练过程中采用分层交叉验证,每次折叠将增强后的训练数据进一步划分为训练子集和验证子集。

数据集被加载到 Pandas DataFrame 中,并检查缺失值。对于存在缺失值的数值型特征,使用 scikit-learn 中 SimpleImputer 类的中位数插补法进行处理(strategy = 'median')。对于存在缺失值的分类特征,使用 SimpleImputer 的众数插补法进行处理(strategy = 'most_frequent')。通过计算每个特征的缺失百分比(df.isnull().sum() / len(df))来记录缺失机制。通过比较缺失数据样本与非缺失数据样本在其他特征上的均值差异,评估缺失是否具有非随机模式:数值型特征采用 t.-检验,分类特征采用卡方检验。随后根据具体情况,将缺失机制记录为完全随机缺失(MCAR)、随机缺失(MAR)或非随机缺失(MNAR)。

对于缺失值较多的数据集,建议通过比较中位数/众数插补与链式方程多重插补(Multiple Imputation by Chained Equations, MICE)、使用 fancyimpute.IterativeImputer(max_iter = 10)以及使用 fancyimpute.KNN(k = 5)的 K 近邻插补(KNN imputation)来进行敏感性分析。若插补方法之间的准确率差异小于 0.03,则认为结果对插补方法具有稳健性12。由于克利夫兰数据集的缺失值较少,该敏感性分析被视为可选步骤;但对于缺失值超过 5% 的其他临床数据集,则建议执行此分析。此外,使用 missingno 库通过 msno.matrix(df) 生成缺失值矩阵热图来可视化缺失模式。通过聚类分析缺失模式,可判断缺失值是否系统性地共同出现,这可能提示存在需要临床专家参与解释的非随机缺失(MNAR)机制。

数值特征采用 z 分数标准化进行处理。使用 scikit-learn 中的 StandardScaler 在训练数据上进行拟合,然后将其同时应用于训练集和测试集。分类变量采用独热编码(one-hot encoding)进行编码。胸痛类型(cp)包含四个类别,通过 pandas.get_dummies 转换为四个二值指示变量列。地中海贫血(thal)包含三个类别,被转换为三个二值指示变量列。由于生成对抗网络(GAN)的生成器和判别器使用了固定的输入/输出维度(13 个特征,对应独热编码前的原始数据集),因此合成样本在原始的 13 特征空间中生成,然后与真实数据一样,通过相同的独热编码处理流程。这种方法在保持与 GAN 架构兼容的同时,使得编码后的特征可用于模型训练。

数学定义与质量度量
采用 Fréchet 距离来比较真实与合成特征分布。两个分布 F 和 G 之间的 Fréchet 距离 Fr(F, G) 定义如下:

Fr2(F,G)=minX,YE|X-Y|2  (1)

其中 E 表示期望,最小化操作针对所有分别具有分布 F 和 G 的随机变量 X 和 Y 进行19

采用哈里斯鹰优化算法(Harris Hawk Optimization, HHO)作为启发式优化方法。HHO 算法受到哈里斯鹰协同捕猎行为的启发20。探索阶段与开发阶段之间的转换由逃逸能量 E 控制。在探索阶段(即 |E| ≥ 1 时),更新规则定义如下:

X(t+1) = Xrand (t) - r1 | Xrand (t) - 2r2X (t)|

在开发阶段,当 |E| < 1 时,更新由逃逸能量 E = 2E(1 − t/T) 和跳跃强度 J = 2(1 − r5) 确定。在软包围条件下,当 r ≥ 0.5 且 |E| ≥ 0.5 时,更新定义如下:

X(t+1) = ΔX(t) - E|JXrabbit  (t) - X(t)|

在严苛的围困条件下,当 r ≥ 0.5 且 |E| < 0.5 时,更新规则定义如下:

X(t+1) = Xrabbit (t) - E|ΔX(t)|

公平性评估采用统计均等性和错误率平衡方法,参考了 Hardt 等人20 和 Lima 等人21 的研究。采用人口统计均等性差异、机会均等差异以及基于年龄的校准误差作为公平性度量指标。

静态平衡方程 ΔDP=|P(ŷ=1|Group_A)−P(ŷ=1|Group_B)|,统计分析示意图。

ΔEO = max(|TPRA - TPRB |,| FPRA - FPRB |)

ΔBS=|BS年龄<50 - BS年龄>50 |

其中 BS 为 Brier 得分:

统计分析公式,BS=1/N Σ(fi−oi)^2,教学公式图片。

仪表板的可解释性基于SHAP值,该值通过合作博弈论计算得出18。

Shapley 值公式,用于合作博弈论的方法,简洁的数学表示法。

其中,Φi 表示特征 i 的 SHAP 归因值,F. f(S) 表示所有特征的集合,而 表示模型对特征子集 S 的预测结果。

基于生成对抗网络的数据增强
为应对数据稀缺和类别不平衡问题,采用生成对抗网络(GAN)生成合成样本。生成器架构在 TensorFlow/Keras 中配置,接收一个从标准正态分布 N(0,1) 采样的 100 维噪声向量,随后通过包含 128、256 和 512 个单元的全连接层,均使用 ReLU 激活函数。输出层包含 13 个单元,对应原始特征维度,并使用 sigmoid 激活函数。

判别器架构以一个13维的特征向量作为输入,包含具有512、256和128个神经元的全连接层,激活函数为LeakyReLU(α = 0.2)。输出层包含一个神经元,采用Sigmoid激活函数,用于对真实样本与合成样本进行二分类。

生成对抗网络(GAN)使用64的批量大小训练了100个轮次。优化器采用Adam,学习率为0.0002,β1 = 0.5,β2 = 0.999。在每个轮次中,判别器交替地在真实样本和合成样本批次上进行训练,生成器则被训练以欺骗判别器。训练完成后,将1,000个随机噪声向量输入生成器,生成1,000个合成样本,这些样本仅被添加到训练集中。

在 GAN 训练过程中,通过每 10 个训练周期后测量 100 个生成样本中每个合成特征的方差来监测模式崩溃。如果任一特征的方差在连续三次检查中均低于相应真实数据方差的 10%,则怀疑出现模式崩溃。缓解策略包括将学习率降低至 1 × 10⁻4,将批量大小增加至 128,使用不同的权重初始化重新启动训练,或按照 Arjovsky 等人17所述,将标准 GAN 替换为带梯度惩罚的 Wasserstein GAN(WGAN-GP)。该实现采用标准 GAN,并在 TensorFlow 不可用时使用高斯扰动回退机制,以确保合成数据的生成。

通过使用自定义实现计算真实数据与合成数据特征分布之间的Fréchet距离,以评估合成数据的质量。此外,还训练了一个分类器(如逻辑回归)来区分真实样本与合成样本;分类准确率接近随机水平被视为表明合成数据保真度高。计算了精确率-召回率曲线下面积(AUC),AUC值大于0.9被视为表明对数据分布的良好捕捉。同时比较了真实数据集与合成数据集中特征对之间的皮尔逊相关性,相关性差异低于0.05被视为相关性结构得到了可接受的保留。

当 TensorFlow/Keras 不可用或 GAN 训练失败时,采用高斯扰动回退方法。对于每个类别,从训练集中计算每个特征的均值(µ)和标准差(σ)。然后按如下方式生成合成样本:

Xsynthetic = µ + ε × σ × 0.05,其中 ε ~ N(0,1)

类别标签的生成比例与原始类别分布一致。此备用方案的引入旨在支持在无需深度学习依赖环境下的可重复性。

混合特征选择
采用了一种两阶段混合特征选择策略。在第一阶段,进行统计预过滤。对于特征集 X 中的每个特征 xi,根据二元结果变量将其值分为两组:G0 对应 y = 0,表示无疾病;G1 对应 y = 1,表示存在疾病。使用 scipy.stats.ttest_ind(equal_var = False)进行 Welch 两样本 t 检验。随后按如下方式计算 Cohen’s d 效应量:

d = (均值1 − 均值2) / 合并标准差

其中:

合并标准差 = sqrt((std12 + std22)/2)

特征名称、p 值和 Cohen’s d 值被存储在结果表中。若特征同时满足以下两个条件:p 值 < 0.05 且 |Cohen’s d| ≥ 0.5,则被选中。最终得到的特征集定义为 Xfiltered。

由于 Welch’s t-检验适用于年龄、thalach 和 oldpeak 等连续数值型特征,因此选用该方法。对于 sex 和 exang 等二分类类别型特征,在比较两组时,t-检验的结果与比例检验结果具有可比性。对于 cp 和 thal 等多分类特征,采用独热编码(one-hot encoding),并将每个二元指示变量分别与结果变量进行独立检验。该方法被认为合适,原因是克利夫兰数据集的样本量超过 30,特征在分析前已进行标准化处理,且 equal_var = False 可以校正组间方差不齐的情况。对于严重违反正态性假设的特征,可考虑采用 Mann-Whitney U 检验作为替代的非参数检验方法。

阈值 p < 0.05 遵循常规的统计学显著性标准,而 |Cohen’s d| ≥ 0.5 表示中等至较大的效应量。对于样本量较小或罕见结局的数据集,建议在临床专家指导下采用基于自助法(bootstrap)的调整、Hedges’ g 校正或放宽探索性分析的阈值。例如,可使用 1,000 次自助重采样来计算 Cohen’s d 的置信区间,Hedges’ g 可用于校正小样本偏差。对于统计结果处于临界水平的特征,如 p 值介于 0.03 至 0.08 之间或 |d| 值介于 0.4 至 0.6 之间的情况,应在排除前记录并供临床专家进一步评估。

在第二阶段,将哈里斯鹰优化算法(Harris Hawk Optimization, HHO)应用于经过统计学筛选的特征集。HHO 的种群规模设置为 20,最大迭代次数设置为 50。每个解表示为一个二进制向量,其长度等于 Xfiltered 中特征的数量,其中 1 表示该特征被选中,0 表示未被选中。连续的 HHO 位置通过 V 型转移函数映射为二进制向量:

T(x) = |tanh(x)|

如果 T(x) > 0.5,则二进制值设为 1,否则设为 0。选择 V 形函数是因为它在二进制转换过程中能够支持平衡的探索与开发。

每个解的适应度函数通过逻辑回归定义。使用二进制向量所选择的特征训练一个逻辑回归模型,并利用 scikit-learn 中的 cross_val_score 进行 5 折交叉验证。适应度按如下方式计算:

适应度 = 1 − 平均准确率

使用 numpy.random.uniform(−1, 1, (population_size, n_features)) 在 [−1, 1] 范围内均匀初始化鹰群位置,为保证可重复性,随机种子固定为 42。在每次迭代中,评估所有鹰的适应度,将适应度最高的鹰的位置确定为兔子位置,并根据逃逸能量,利用 HHO 的探索与开发方程更新鹰的位置。收敛后,选取性能最优的二进制向量作为最终的特征子集 Xfinal。

所选特征来自一次固定随机种子的HHO优化运行。对于需要更高统计置信度的应用,建议进行30次不同随机种子的独立运行,并选择在至少80%的运行中出现的共识特征。本文报告的实现基于一次代表性运行,因为初步测试表明结果具有一致的收敛性。

模型训练与优化
考虑了三种模型:逻辑回归、随机森林以及粒子群优化的人工神经网络(PSO-optimized Artificial Neural Network, ANN)。逻辑回归采用分层 5 折交叉验证进行训练,以保持类别分布。正则化强度 C 在搜索空间 C 静态平衡,示意图,ΣFx=0,方法,物理概念,力平衡,矢量分析 [0.001, 0.01, 0.1, 1, 10] 内进行优化。对每一折及每一个 C 值,模型在训练折上训练,并在验证折上评估。选择在各折上平均验证准确率最高的 C 值。

使用超参数调优训练了随机森林模型。搜索空间包括 max_depth = [5, 10, 15, None] 和 min_samples_split = [2, 5, 10]。通过 GridSearchCV 以 ROC-AUC 作为优化指标(scoring = 'roc_auc')进行 5 折交叉验证的网格搜索。所选的随机森林模型采用 max_depth = 10 和 min_samples_split = 5。启用 out-of-bag(OOB)分数估计(oob_score = True)。

通过计算训练准确率与袋外分数之间的差距来评估过拟合情况:

过拟合差距 = 训练准确率 − 袋外分数

过拟合差距低于 0.05 被认为表明模型泛化性能良好,而差距大于 0.10 则表明需要减小 max_depth 或增大 min_samples_split。该模型的袋外(OOB)得分为 0.9296,典型训练准确率介于 0.94 至 0.96 之间,因此差距约为 0.01–0.03。

还使用粒子群优化(Particle Swarm Optimization, PSO)对人工神经网络(ANN)分类器进行了优化。该ANN结构包括一个输入层、一个包含64个神经元并采用ReLU激活函数的隐藏层,以及一个采用Sigmoid激活函数的输出层(含1个神经元)。PSO的初始化设置为50个粒子和50次迭代,用于优化网络的初始权重。随后,ANN通过标准反向传播算法进行训练。由于PSO优化是在相同的训练数据上进行的,且未采用嵌套交叉验证,因此对该部分结果需谨慎对待。对于未来的应用,建议采用嵌套交叉验证策略,其中外层为10折交叉验证用于模型评估,内层为10折交叉验证用于PSO超参数选择。通常认为,泛化差距低于0.08是可接受的,而若差距超过0.15,则提示可能存在过拟合,需对模型进行简化。

模型评估
使用最终特征集 Xfinal 进行分层 10 折交叉验证来完成模型评估。在每一折中,分别在训练数据上训练逻辑回归和随机森林模型,并在验证数据上进行评估。利用 scikit-learn 中的 classification_report 和 roc_auc_score 计算准确率、精确率、召回率、F1 分数以及 ROC-AUC。所有指标在 10 折上的均值和标准差均被计算。

每折的泛化差距也按如下方式计算:

泛化差距 = 训练准确率 − 验证准确率

报告了所有10次交叉验证的平均泛化差距。平均差距低于0.08被认为表明过拟合程度极小,而高于0.15则提示存在过拟合,需要进行正则化处理或降低模型复杂度。采用Wilcoxon符号秩检验在10次交叉验证中比较所提出的框架与基线方法,显著性水平α设为0.01。

可解释性分析
采用模型特定方法和模型无关方法进行可解释性分析。对于逻辑回归,拟合最终模型并提取每个选定特征的系数值。比值比通过 exp(系数) 计算,95% 置信区间则基于系数的标准误进行计算。

对于随机森林模型,通过 feature_importances_ 属性从训练好的模型中提取基尼重要性得分,并将其归一化至总和为 1。SHAP 解释通过 SHAP 库生成。使用训练好的模型和背景数据集(例如随机选取的 100 个训练样本)创建了 KernelExplainer 对象。利用 shap_values 计算了测试集中所有样本的 SHAP 值。通过 shap.summary_plot 生成蜂群摘要图,通过 shap.bar_plot 生成平均绝对 SHAP 值的条形图。

针对SHAP分析识别出的最重要特征,生成了部分依赖图(Partial Dependence Plots, PDPs)。对于每个选定的特征,创建一个覆盖该特征取值范围的数值序列。将每个数值代入该特征列,同时保持其他特征不变,计算所有样本上的平均预测概率。使用matplotlib将特征值与平均预测值进行绘图。通过100次自助法(bootstrap)重采样迭代,添加了95%的置信区间。

通过绘制个体样本在特征值变化时的预测轨迹,为选定的特征生成了个体条件期望(Individual Conditional Expectation, ICE)图。将PDP线叠加在ICE图上。使用scipy.stats.spearmanr计算Logistic回归的比数比与随机森林SHAP值之间的Spearman秩相关系数,以比较不同解释方法。记录解释方法之间的差异,用于临床解读。当SHAP值与Logistic回归系数出现矛盾时,需检查该特征的PDP图。若PDP显示非线性趋势,则优先采用SHAP解释,因为随机森林能够捕捉线性模型无法识别的非线性关系。

使用 MIMIC-III 进行外部验证的框架泛化方案
本文概述了将该框架应用于 MIMIC-III 数据库的外部验证方案。访问 MIMIC-III 需获得 PhysioNet 的批准,并完成规定的人类受试者培训。拟纳入的队列将包括年龄在 18 岁及以上的成年患者,且为首次入住重症监护病房(ICU),并具有急性心肌梗死的 ICD-9 编码 410–414 或缺血性心脏病的 ICD-10 编码 I20–I25。排除标准包括目标特征中缺失值超过 30%、住院时间少于 24 小时、年龄超过 90 岁、既往接受过心脏手术或患有先天性心脏病的患者。

研究预设的结局为入院后72小时内发生的主要不良心脏事件(MACE),定义为院内死亡、心源性休克或需要干预的室性心律失常的复合终点。心率和血压等时间序列特征将在入住重症监护病房(ICU)的前24小时内,通过均值、中位数、最小值、最大值以及趋势进行汇总,其中趋势通过时间上的线性回归斜率进行估计。最大心率将作为 thalach 的映射等效指标使用。

克利夫兰数据集的特征将映射到MIMIC-III变量。例如,thalach将映射为患者入住ICU前24小时内记录的最大心率,cp将映射为结构化的疼痛评估以及通过自然语言处理提取的胸痛提及信息,oldpeak将映射为心电图报告中的ST段压低值。将创建一个映射表以记录所有特征的对应关系。

在应用完整流程之前,将对随机选取的100份心电图报告进行旧峰值(oldpeak)的自然语言处理提取验证。以两名临床医生的手动标注为基准,计算精确率、召回率和F1分数。若F1分数低于0.85,则需修订正则表达式模式,或改用chartevents中的结构化心电图数据。随后,在提取的MIMIC-III数据上重复预处理流程,重新训练生成对抗网络(GAN)以进行数据增强,重新应用混合特征选择方法,重新训练模型,生成解释性结果,并将性能指标与克利夫兰数据集的结果进行比较。

临床仪表板实施
使用 Flask 或 Django 等框架设计了一个基于网页的临床仪表板原型。规划了用于与电子健康记录系统(EHR)集成的 HL7/FHIR API 接口,并根据机构安全策略配置了身份验证和授权机制。设计了数据映射功能,以将 EHR 数据转换为模型输入格式。

用户界面包含三个主要视图。初筛视图显示患者的人口统计学信息和计算得出的风险评分,并以颜色编码标识风险等级。决策支持视图显示SHAP瀑布图,展示特定患者的主要贡献因素。干预规划视图通过调整可修改的风险因素并显示更新后的风险预测,实现假设分析。系统还包含导出功能,可将报告保存为PDF文件,或整合至电子健康记录(EHR)文档系统。

为了未来的临床应用,计划由至少五名临床医生对仪表盘的可用性进行评估。评估将采用系统可用性量表(目标得分高于68分)、任务完成时间(与单独使用电子健康记录相比,目标减少至少20%)以及针对解释清晰度和信任度的5级满意度评分。该可用性评估被规划为后续步骤,在本研究中尚未实施。

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

结果

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

实验设置与性能指标
所有实验均使用 Python 3.9 及 scikit-learn、TensorFlow 和 SHAP 库完成。采用分层 10 折交叉验证。评估指标包括准确率、精确率、召回率、F1 分数和 ROC-AUC。

与选定基线方法的性能比较

方法准确率精确率召回率F1分数ROC-AUC
逻辑回归0.930 ± 0.0200.914 ± 0.0290.955 ± 0.0250.934...

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

讨论

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

本文概述的框架为开发可解释的心脏病预测模型提供了一种可重复的方法。一个整合了这些解释信息的临床仪表板原型如下所示 图4,该框架采用三阶段工作流程:预筛选、基于SHAP的决策支持和干预规划[此处图4]。为确保该框架成功实施,多个关键步骤需特别关注。

如所示 表5,现有心脏病预测研究的比较表明,在三个关键维度上存在方法学上的差距。首先,在数据增强方面,一些研究未采用增强方法,而Ishaq等12使用了SMOTE,Sahoo等9 采用生成式方法,如 GAN/VAE。其次,在特征选择方面,一些研究省略了此步骤,而其他研究(包括 Vijayashree 和 Sultana)则包含该步骤。10 和 Lale 等人22,依赖于无统计预过滤的元启发式方法。第三,在可解释性方面,一些研究的可解释性有限,而部分基于XAI的研究,例如El-Sofany等人的研究

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

披露

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

作者声明无利益冲突。

致谢

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

作者感谢开罗(赫尔万)大学和阿拉伯开放大学提供研究设施。本研究未从公共、商业或非营利机构的资助机构获得任何专项资助。

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

材料

本文使用的材料清单
姓名公司目录编号评论
克利夫兰心脏病数据集加州大学欧文分校机器学习知识库https://archive.ics.uci.edu/ml/datasets/heart+disease用于模型开发与评估的基准心脏病数据集
DjangoDjango软件基金会N/A仪表板实现的替代Web框架
fancyimputefancyimpute开发者N/A可选的MICE和KNN插补敏感性分析
FlaskPallets项目组N/A用于仪表板实现的Web框架
HL7/FHIR API标准HL7国际组织N/A计划用于电子健康记录与仪表板集成的标准
KerasKeras开发者N/A与TensorFlow/Keras结合用于生成对抗网络架构的神经网络API
matplotlibmatplotlib开发者N/A绘图库
MIMIC-III数据库PhysioNethttps://physionet.org/content/mimiciii/1.4/用于计划中外部验证的重症监护数据库
missingnomissingno开发者N/A缺失数据矩阵可视化
NumPyNumPy开发者N/A数值计算
pandaspandas开发者N/A数据处理
PhysioNetPhysioNethttps://physionet.org/MIMIC-III的访问平台/数据来源
PythonPython软件基金会N/A版本3.9/3.9.7
scikit-learnscikit-learn开发者N/A机器学习库,包括预处理、模型训练、交叉验证和评估指标
SciPySciPy开发者N/A统计检验,包括Welch’s t检验和Spearman相关性分析
SHAPSHAP开发者N/A可解释人工智能库
Statlog心脏病数据集加州大学欧文分校机器学习知识库https://archive.ics.uci.edu/ml/datasets/statlog+(heart)基准心脏病数据集
TensorFlowGoogleN/A用于生成对抗网络实现的深度学习框架
UCI机器学习知识库加州大学欧文分校https://archive.ics.uci.edu/克利夫兰和Statlog数据集的来源库

重印与许可

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

申请许可

标签

SHAP

相关文章