SHAP可视化方法,临床预测模型解释新框架!
SHAP可视化方法,临床预测模型解释新框架!
SHAP法作为一个强有力的工具,能帮助我们理解模型的输出,告诉我们每一个特征对预测结果的影响。可以说,无论是复杂的深度学习模型,还是简单的回归模型,SHAP都能给出解释。先前我们介绍了SHAP的理论背景,今天来上点干货,开启我们系列文章的第二篇:SHAP分析之可视化及其可视化图表!
为了使这些 Shapley 值更容易理解,SHAP 库提供了各种可视化工具。而这就是我们所说的SHAP可视化图表,每张图都有其特定的解释方式、目的、优点和缺点。下面我们将用一个具体的回归模型帮助我们理解SHAP分析可视化的不同图表(无特殊说明,展示的是测试集的SHAP分析)。
数据集与模型
数据来源:美国国家健康与营养调查(NHANES)数据,该数据用于评估美国成人和儿童的健康与营养状况;
特征变量:性别、体重指数(BMI)、年龄、过去一年中饮酒天数和一周内进行中度或剧烈运动的天数等特;
数据划分:70%数据作为训练集、30%数据作为测试集;
模型:XGBoost作为回归模型;
可解释性分析:在确认模型拟合良好之后,使用SHAP包计算了训练集和测试集的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图将展示预测概率与预测对数几率,综合考量之后,我们可以得出影响最大的关键特征。
数据来源:乳腺癌诊断数据集;
特征变量:从乳腺肿块的细针抽吸图像中计算出来的特征;
数据划分: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分析,我们同样能得出对结果贡献最大的特征。
数据来源:基于体内药物代谢动力学(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的可视化功能特别强大,建议大家可以多尝试不同的图表类型,这能帮助我们从不同角度理解模型。