之前我们分享了发表在期刊《Annals of Internal Medicine》的一篇题为:“Practical guide to SHAP analysis: Explaining supervised machine learning model predictions in drug development”的研究论文。文章提供了可解释机器学习预测模型文章几乎都会用到的SHAP法的实用指南。如果你需要全文,请公众号后台回复关键词“pdf”。本文是系列的第三篇!在这篇文章中,我讨论SHAP法应用到具体的案例中应该如何解读结果。具体来说,作者展示了对流行的机器学习黑箱模型进行SHAP分析的结果解读(如XGBoost、随机森林和神经网络(多层感知机模型)),涵盖了分类和回归问题。
另外,为了帮助读者更好地理解如何解读黑箱模型的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)的蜂群图则没有明显趋势,尤其在随机森林和神经网络模型中。
首先,我们假设有2000个来自线性回归模型的观测值,模型中包含两个均匀分布的特征 x1和 x2。设定了线性关系 y=b0+b1x1+b2x2,其中 b0=−10、b1=6、b2=−3。然后,假设数据生成过程是未知的,我们需要通过线性回归模型对这些数据进行拟合,得出每个特征的 SHAP 值。- 对于没有交互项的线性回归模型SHAP 值计算公式为:SHAP(xj)=bj⋅(xj−π(xj)),
注:公式推导可参考Christopher Molnar的书籍第7章。下图展示了对线性模型使用SHAP分析的条形图,特征 x1对预测结果的影响更大,因为其回归系数 b1=6> b2=−3,这与 SHAP 值的可视化结果一致。下图展示了对线性模型使用SHAP分析的蜂群图,特征 x1的SHAP值分布范围更广,说明它对预测的影响更显著。此外,随着特征值的增大,x1的SHAP值也逐步增大(从蓝到红),而 x2的SHAP值则逐渐减少(从红到蓝),呈现出负向影响。下图展示了对线性模型使用SHAP分析的散点图,也符合数学模型的关系- 在右图中,特征 x1的SHAP值为11.07,表示它相对于平均预测值增加了模型的输出;
- 而特征 x2 的SHAP值为12.55,也进一步增加了预测值。
最终,该样本的预测值为 f(xi)=6.839+11.07+12.55=30.459。我们同样需要先用逻辑回归模型生成数据,构建了两个特征 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分析的蜂群图,与条形图一致,左图为预测概率,右图为预测对数几率。- 而当解释预测的对数几率时,特征 x1 和 x2的SHAP值则呈现均匀分布。
下图展示了对逻辑回归模型使用SHAP分析的散点图,左图为预测概率,右图为预测对数几率。- 可以发现,在解释预测概率时,特征与SHAP值之间的关系是非线性的。
- 而在解释预测的对数几率时,特征与SHAP值之间的关系是线性的,这符合预期。
总体来看,解释预测对数几率的SHAP值的可视化图表与线性回归模型的SHAP值的可视化图表类似。这是因为在对数几率尺度下,预测变量遵循的是线性回归模型。我们的SHAP法系列文章就介绍到这里了,SHAP法本身并不难,只需要一行代码,就能给出解释模型的最佳方案。趁现在SHAP法还比较新、热度还在,推荐大家都可以尝试一下。如果您对机器学习预测模型感兴趣的话,来看看我们的机器学习与预测模型服务吧,一对一指导!详情可咨询助教,微信号:aq566665
全国较大的线上医学统计服务平台,专注于医学生、医护工作者学术研究统计支持,我们是你们统计助理我们开展对临床预测模型、轨迹增长模型、医学免费数据库NHANES、GBD数据库、孟德尔随机化方法1对1R语言指导(一年内不限时间,周末、晚上均统计师一对一指导)。
②全程指导课程学习
③课程R语言代码运行bug修复
④支持学员一篇SCI论文的数据分析
1对1R语言指导详情介绍
联系助教小董咨询(微信号aq566665)