公众号
医学论文与统计分析公众号
扫码关注公众号

统计咨询
添加助教微信即可咨询
添加助教微信即可咨询

意见反馈
邮箱:17357190071@163.com
微信:aq566665

SHAP可视化方法,临床预测模型解释新框架!

Administrator
发布于 2025-08-04 / 270 阅读
0
0

SHAP法作为一个强有力的工具,能帮助我们理解模型的输出,告诉我们每一个特征对预测结果的影响。

可以说,无论是复杂的深度学习模型,还是简单的回归模型,SHAP都能给出解释。

先前我们介绍了SHAP的理论背景,今天来上点干货,开启我们系列文章的第二篇:SHAP分析之可视化及其可视化图表!

SHAP法可视化图表概述

为了使这些 Shapley 值更容易理解,SHAP 库提供了各种可视化工具。而这就是我们所说的SHAP可视化图表,每张图都有其特定的解释方式、目的、优点和缺点。

下面我们将用一个具体的回归模型帮助我们理解SHAP分析可视化的不同图表(无特殊说明,展示的是测试集的SHAP分析)

数据来源:美国国家健康与营养调查(NHANES)数据,该数据用于评估美国成人和儿童的健康与营养状况;

特征变量:性别、体重指数(BMI)、年龄、过去一年中饮酒天数和一周内进行中度或剧烈运动的天数等特;

数据划分:70%数据作为训练集、30%数据作为测试集;

模型:XGBoost作为回归模型;

可解释性分析:在确认模型拟合良好之后,使用SHAP包计算了训练集和测试集的SHAP值。

(一)条形图

条形图作为一个全局解释方法,展示了每个特征在所有预测中的平均绝对SHAP值,是衡量特征重要性的标准。

优点:SHAP值与模型预测的单位相同,结果更直观。

缺点:缺乏对影响方向性的细致区分,无法表明特征与预测值之间的关系是否是单调的。

此外,基于 SHAP 值选择一个阈值来识别最重要的特征时,往往需要根据领域知识,并且应根据具体情况来决定,因此并没有普遍适用的规则。

下图展示了使用 SHAP 分析得到的条形图,结果显示年龄是影响最大的特征,其次是 BMI 和性别。

(二)蜂群图

蜂群图展示特征的全局分布,按平均SHAP值对特征进行排序。

  • 每个点代表一个特征在样本中的SHAP值,图中的颜色表示特征值的大小;

  • 红色代表高值,蓝色代表低值;

  • 点的位置由SHAP值决定,越大越远离零。

优点:蜂群图可以同时展示多个特征的影响,并揭示特征与预测值之间的关系形态(如单调递增或非线性等)

缺点:由于使用颜色作为尺度,当特征变化不明显时,可能难以清晰地从颜色差异中提取关系形态。

下图展示了使用 SHAP 分析的蜂群图,我们可以从图中得出以下信息:

  • 年龄的SHAP值范围较广,并呈现出单调递增的趋势:

  • 同时,年龄和BMI的SHAP值表现出相似的模式,这可能暗示这两个特征之间存在交互作用,可以通过进一步的分析来确认这一点。

(三)散点图

散点图展示特征值(x轴)与SHAP值(y轴)之间的关系,每个点都代表一个样本的特征值和SHAP值,灰色直方图则显示了特征值的分布。

通过散点图,我们可以观察特征值与SHAP值之间的关系是否线性,也可以添加趋势线以检测关系类型。

同时,SHAP值的垂直分布还可以揭示该特征与其他特征的交互效应

  • 散点图还可以基于另一个特征值来着色,从而更好地分析特征间的交互。

需要注意的是,在样本少的区域,图示趋势可能不够可靠。

优点:清晰展示特征对模型预测的影响方向、大小和变化。

缺点:每次只能展示一个特征,若需展示多个特征,需绘制多张图。

下图展示了年龄的SHAP分析散点图,并根据BMI着色。可以看到:

  • 年龄超过50岁时,SHAP值通常为正(即血压较高),且表现出非线性关系;

  • 此外,未发现年龄与BMI间的显著交互作用。

下图展示了在五折交叉验证年龄特征的SHAP值分布,通过不同颜色区分各折叠,并按训练-测试集分面。

可以看到,年龄特征的SHAP值趋势在各折叠和数据集之间保持一致,说明该特征的影响稳定可靠。

(四)瀑布图

瀑布图作为一种局部解释方法,专注于单个样本,展示单个样本的SHAP值,并直观呈现各特征对预测结果的影响。

可以说,该方法特别适用于分析异常值或特定样本的预测。它能帮助我们理解各个特征对模型输出的具体影响,便于我们进行具体的预测分析。

在瀑布图中,特征按y轴排列,每个特征的实际值以灰色表示。

  • 每个特征的SHAP值通过箭头展示,红色箭头表示预测值增加,蓝色箭头表示预测值减少。

下图展示了使用 SHAP 分析得到一个示例受试者的瀑布图。可以看到,BMI是影响该受试者与平均预测值之间差异的最重要特征。

接下来将用两个不同类别的具体例子,来帮我们进一步理解SHAP法分析可视化图的应用。

用于二元终点事件的SHAP分析

以下是用于分析的数据集,及其建模的方法,我们的SHAP图将展示预测概率与预测对数几率,综合考量之后,我们可以得出影响最大的关键特征。

数据来源:乳腺癌诊断数据集;

特征变量:从乳腺肿块的细针抽吸图像中计算出来的特征;

数据划分:70%数据作为训练集、30%数据作为测试集;

任务:区分肿块是恶性还是良性;

模型:XGBoost训练模型,并进行超参数调优以确保模型拟合良好;

可解释性分析:在确认模型拟合良好之后,使用SHAP包计算了训练集和测试集的SHAP值。

(一)条形图

下示的SHAP分析的条形图中,左侧图表基于预测概率,右侧则基于预测对数几率。

在这两个图表中,concave points特征的平均绝对SHAP值最高,排在第一位;其次是area和texture。

值得一提的是,SHAP值在这两种模式下的数值会有所不同。

  • 例如在概率模式下,concave points的平均绝对SHAP值为0.26,而在对数几率模式下,这一值则为3.81。

  • 但不论使用哪种模式concave points都是最能影响乳腺肿块分类(良性或恶性)关键特征。

(二)蜂群图

下图SHAP分析的蜂群图中,左侧图表同样基于预测概率,右侧则基于预测对数几率。

可以看到,concave points、area、texture和concavity等特征与SHAP值呈正相关关系——特征值越高,模型预测的概率或对数几率也越高。

特别是在area特征上,一些中间值(图中的紫色点)对应最高的SHAP值,暗示这种关系并非完全线性。

(三)散点图:

下图注重展示了concave points这一关键特征的散点图,左侧图表基于预测概率,右侧则基于预测对数几率。

  • 可以看到,随着concave points值的增加,其对应的SHAP值也随之增大,直到约0.09。

  • 在这之后,SHAP值趋于平稳,尤其是在预测对数几率时。

值得注意的是,当concave points的特征值达到0.05时,模型的预测发生了显著变化:从较低的概率或对数几率转变为较高的概率或对数几率。这表明concave points对分类结果有重要影响。

用于时间依赖性机器学习模型的SHAP分析

接下来是我们的第二个示例,就算我们对药物代谢动力学不太了解,但通过SHAP分析,我们同样能得出对结果贡献最大的特征。

数据来源:基于体内药物代谢动力学(PK)模型的模拟数据。该模型假设药物通过一级吸收进入体内,并以线性速度被清除,同时假设不同个体的清除率有所不同;

特征变量:药物的浓度-时间曲线。这些数据在48小时内每4小时采样一次,共12次浓度值;

数据划分:70%数据作为训练集、30%数据作为测试集;

任务:预测每个个体的清除率

模型:LSTM模型,并进行超参数调优以确保模型拟合良好;

可解释性分析:在确认模型拟合良好之后,使用GradientExplainer计算了训练集和测试集的SHAP值。

下图展示了SHAP分析的不同可视化图,包括条形图b、蜂群图c和展示药物浓度与SHAP值关系的散点图(d–f)。

具体而言:

  • 图a展示了一个PK模型的时间过程示例。

  • 在图b中,我们看到最重要的特征是 C1,9,其次是 C1,13和 C1,17它们对预测个体清除率贡献显著。

  • 图c的蜂群图显示,在药物排泄阶段,浓度的SHAP值呈现单调递减趋势,除了 C0,5和C1,5。

  • 图d和图e的散点图显示,对于相同的TSLD,不同周期的药物浓度SHAP值遵循相同趋势。

  • 而图f的散点图则显示,第一个周期的药物浓度SHAP值呈单调递增趋势,符合我们的预期。

今天的文章就分享到这里,SHAP的可视化功能特别强大,建议大家可以多尝试不同的图表类型,这能帮助我们从不同角度理解模型。

如果您对机器学习预测模型感兴趣的话,来看看我们的机器学习与预测模型服务吧,一对一指导!详情可咨询助教,微信号:aq566665


评论

收银台

订单信息

应付金额 积分

模块介绍

请加我们助教二维码或加入Zstats使用群
Zstats交流群

Zstats交流群

助教二维码

联系助教

选择支付方式

请输入助教告诉您的积分券

如果不填写积分券,将直接使用当前余额支付

正在创建订单...

请稍候,正在为您生成支付订单

支付二维码

请使用扫描二维码完成支付

等待支付中...

二维码获取失败

支付二维码获取失败,请点击重新获取

正在处理余额支付...

请稍候,正在为您完成支付

正在处理充值并支付...

正在使用积分券兑换,然后完成支付 正在使用当前余额完成支付

支付成功!

您的订单已支付完成,页面将在 秒后自动关闭

支付失败

支付过程中出现错误,请重新选择支付方式

平台说明