机器学习“黑箱”模型结果如何解读?SHAP法!这篇实用指南指导讲的很细致

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

2024-2025 课程介绍

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

之前我们分享了发表在期刊Annals of Internal Medicine的一篇题为:“Practical guide to SHAP analysis: Explaining supervised machine learning model predictions in drug development”的研究论文。文章提供了可解释机器学习预测模型文章几乎都会用到的SHAP法的实用指南
我们把它做成一个系列进行解读:
1. SHAP法可解释性机器学习介绍:理论与方法
2. SHAP可视化方法,临床预测模型解释新框架!
3. 如何解读机器学习黑箱模型SHAP法的结果?
如果你需要全文,请公众号后台回复关键词“pdf
本文是系列的第三篇!在这篇文章中,我讨论SHAP法应用到具体的案例中应该如何解读结果。

具体来说,作者展示了流行的机器学习黑箱模型进行SHAP分析的结果解读(如XGBoost、随机森林和神经网络(多层感知机模型)),涵盖了分类和回归问题。

另外,为了帮助读者更好地理解如何解读黑箱模型的SHAP分析,作者还将这一方法应用于线性回归和逻辑回归模型,使用的是模拟数据。这有助于读者在熟悉的框架下理解如何解读不同的可视化图表。

SHAP法分析常见机器学习框架

在分析之前,首先用我们常见的机器学习(ML)法对以下数据集进行建模。

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

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

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

任务:预测血压;

模型:XGBoost、随机森林和神经网络模型作为回归模型;

可解释性分析:在确认模型拟合良好之后,使用SHAP包计算了训练集和测试集的SHAP值。
(一)条形图
下图展示了对XGBoost、随机森林神经网络模型使用SHAP分析的条形图,可以看到,在三个模型中,年龄的平均绝对SHAP值都是最高的。
然而,在XGBoost和神经网络模型中,BMI的SHAP值排在第二位,其次是性别。
而在随机森林模型中,性别的SHAP值排在第二位,其次是BMI。

(二)蜂群图
下图展示了对XGBoost、随机森林和神经网络模型使用SHAP分析的蜂群图
所有模型都显示出年龄和BMI之间的正相关关系,尤其是神经网络,颜色渐变从蓝到红,表明关系几乎单调递增。
对于随机森林XGBoost,接近0的SHAP值呈现混合颜色。
  • 因此,我们可以观测到性别特征在三个模型中都呈现明显的负相关关系。
  • 而酒精年数(AlcoholYear)和每周体育活动天数(PhysActiveDays)的蜂群图则没有明显趋势,尤其在随机森林和神经网络模型中。

SHAP法分析常见统计学方法

(一)SHAP值解析线性模型
首先,我们假设有2000个来自线性回归模型的观测值,模型中包含两个均匀分布的特征 x1和 x2。
设定了线性关系 y=b0+b1x1+b2x2,其中 b0=−10、b1=6、b2=−3。
然后,假设数据生成过程是未知的,我们需要通过线性回归模型对这些数据进行拟合,得出每个特征的 SHAP 值。
  • 对于没有交互项的线性回归模型SHAP 值计算公式为:SHAP(xj)=bj⋅(xj−π(xj)),
  • 其中 bj是回归系数,
  • π(xj) 是特征 xj的样本均值。
注:公式推导可参考Christopher Molnar的书籍第7章。

下图展示了对线性模型使用SHAP分析的条形图,特征 x1对预测结果的影响更大,因为其回归系数 b1=6> b2=−3,这与 SHAP 值的可视化结果一致。

下图展示了对线性模型使用SHAP分析的蜂群图,特征 x1的SHAP值分布范围更广,说明它对预测的影响更显著。
此外,随着特征值的增大,x1的SHAP值也逐步增大(从蓝到红),而 x2的SHAP值则逐渐减少(从红到蓝),呈现出负向影响。

下图展示了对线性模型使用SHAP分析的散点图,也符合数学模型的关系

下图展示了对线性模型使用SHAP分析的瀑布图。
  • 在右图中,特征 x1的SHAP值为11.07,表示它相对于平均预测值增加了模型的输出;
  • 而特征 x2 的SHAP值为12.55,也进一步增加了预测值。
最终,该样本的预测值为 f(xi)=6.839+11.07+12.55=30.459。

(二)SHAP值解析逻辑回归模型

我们同样需要先用逻辑回归模型生成数据,构建了两个特征 x1和 x2x,它们遵循均匀分布 U[0,10]。
  • 模型定义如下:设定参数 b0=10, b1=2, b2=−6,我们生成线性模型并将其转换为概率形式,利用生成的概率对数据进行伯努利采样,得到2000个样本 {(x1,i,x2,i,yi)}i=12000,其中 yi是基于概率 pi的伯努利试验结果。
使用逻辑回归模型拟合生成数据,所得参数与生成过程中的参数一致。
然后,假设数据生成过程是未知的,我们用逻辑回归模型拟合生成的数据,所得参数与生成数据的模型参数匹配。

下图展示了对逻辑回归模型使用SHAP分析的条形图,分别解释了预测概率(左图)和预测对数几率(右图)
  • 通过对比条形图,我们发现特征 x2x_2x2 的平均绝对SHAP值高于特征 x1x_1x1,说明 x2x_2x2 对模型的影响更大。
这种结果也可以通过传统的回归系数大小来解释:在逻辑回归中,特征 x2的系数大于 x1,从而表明它对模型预测更为关键。

下图展示了对逻辑回归模型使用SHAP分析的蜂群图,与条形图一致,左图为预测概率,右图为预测对数几率
  • 解释预测概率时,SHAP值的分布是非均匀的;
  • 而当解释预测的对数几率时,特征 x1 和 x2的SHAP值则呈现均匀分布。

下图展示了对逻辑回归模型使用SHAP分析的散点图,左图为预测概率,右图为预测对数几率。
  • 可以发现,在解释预测概率时,特征与SHAP值之间的关系是非线性的。
  • 而在解释预测的对数几率时,特征与SHAP值之间的关系是线性的,这符合预期。

总体来看,解释预测对数几率的SHAP值的可视化图表与线性回归模型的SHAP值的可视化图表类似。
这是因为在对数几率尺度下,预测变量遵循的是线性回归模型。
我们的SHAP法系列文章就介绍到这里了,SHAP法本身并不难,只需要一行代码,就能给出解释模型的最佳方案。
趁现在SHAP法还比较新、热度还在,推荐大家都可以尝试一下。

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

关于郑老师团队及公众号

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

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

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

②全程指导课程学习

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

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

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

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

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