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

健康   2024-11-15 07:49   浙江  

2024-2025 课程介绍

可预开发票,郑老师团队2024-25年科研统计课程预告,含机器学习、轨迹模型等11.30-12.1 R语言构建机器模型模型课程开启

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


关于郑老师团队及公众号

全国大的线上医学统计服务平台,专注于医学生、医护工作者学术研究统计支持,我们是你们统计助理

我们开展对临床预测模型、轨迹增长模型、医学免费数据库NHANES、GBD数据库、孟德尔随机化方法1对1R语言指导(一年内不限时间,周末、晚上均统计师一对一指导)

①指导学习R语言基本技巧

②全程指导课程学习

③课程R语言代码运行bug修复

④支持学员一篇SCI论文的数据分析

1对1R语言指导详情介绍

联系助教小董咨询(微信号aq566665





医学论文与统计分析
本号为高校统计学老师所设,介绍医学论文进展与统计学方法,SPSS分析方法、真实世界研究、R语言与数据挖掘。关注后,发送关键词“33”到公众号就可以获取常见的统计软件比如Spss,sas,PASS(绝对无毒)等
 最新文章