2. SHAP 基础原理:Shapley 值的数学定义、可加性特征与局部解释性

SHAP(SHapley Additive exPlanations)是目前最主流的模型可解释性框架之一。它的核心思想源自博弈论中的 Shapley 值,将每个特征视为参与“预测游戏”的玩家,公平地分配模型预测结果相对于平均预测的“贡献”。

2.1 Shapley 值的数学定义

假设我们有一个训练好的模型 f,特征集合 F = {1, 2, …, M}。对于单个样本 x,模型预测值为 f(x),所有样本的平均预测值为 E[f(X)]。特征 i 的 Shapley 值 φi 定义为:

φᵢ = Σ_{S ⊆ F \ {i}} [ |S|! (M - |S| - 1)! / M! ] × [ f(S ∪ {i}) - f(S) ]

其中:

  • S:不包含特征 i 的特征子集
  • f(S):仅使用子集 S 中特征时的模型预测值(通过条件期望或边际积分近似)
  • f(S ∪ {i}):在子集 S 基础上加入特征 i 后的预测值
  • 权重项:|S|! (M - |S| - 1)! / M! 确保所有特征加入顺序的排列组合被公平加权
直观理解:Shapley 值计算了在所有可能的特征组合顺序下,特征 i 加入模型时带来的边际贡献的平均值。这是唯一满足效率性、对称性、哑变量性和可加性四个公理的特征归因方法。

2.2 可加性特征:线性分解预测

SHAP 最强大的特性是 可加性(Additivity)。对于任意样本,模型预测值可以分解为:

f(x) = E[f(X)] + φ₁ + φ₂ + … + φ_M

这意味着:

  • 基准值:所有样本的平均预测 E[f(X)]
  • 特征贡献:每个特征的 SHAP 值 φi 表示该特征将预测从基准值向上或向下推动了多少
  • 完全还原:所有特征贡献之和加上基准值,精确等于模型原始预测
属性 含义 实际价值
效率性 所有特征 SHAP 值之和 = f(x) - E[f(X)] 预测可完全分解,无信息损失
对称性 若两特征对所有子集贡献相同,则 SHAP 值相等 公平分配,不偏向任何特征
哑变量性 若特征不改变预测值,其 SHAP 值为 0 自动忽略无关特征
可加性 多个模型的 SHAP 值可线性合并 支持模型集成解释
实操要点:可加性使得 SHAP 值可以直接用于“预测 vs 实际”的偏差分析。在阈值分层场景中,我们可以将每个分层的平均预测拆解为各特征的平均 SHAP 贡献,从而定位哪些特征驱动了分层间的预测差异。

2.3 局部解释性:从全局到单样本

SHAP 天然支持 局部解释(Local Interpretability)。与仅关注全局特征重要性的方法不同,SHAP 为每个样本生成一组独立的特征贡献值,回答“为什么这个样本被预测为这个值”。

局部解释的核心输出是 SHAP 力图(Force Plot)和 瀑布图(Waterfall Plot),它们直观展示了:

  • 基准预测(Base Value)
  • 每个特征将预测值向上(正贡献,红色/暖色)或向下(负贡献,蓝色/冷色)推动的幅度
  • 最终预测值(Output Value)
SHAP 局部解释:单样本瀑布图示例 基准值 E[f(X)] = 0.50 特征 A:+0.32 特征 B:+0.18 特征 C:-0.15 最终预测 f(x) = 0.85 正贡献(红色)将预测值向上推,负贡献(蓝色)将预测值向下拉,最终累加得到模型原始输出

2.4 SHAP 与特征重要性的关键区别

维度 传统特征重要性 SHAP 值
粒度 全局:所有样本共享一个重要性分数 局部:每个样本有独立的贡献向量
方向性 仅表示影响大小(绝对值) 同时表示影响方向和大小(正/负)
可加性 不满足 满足:预测 = 基准 + ΣSHAP
交互效应 无法区分 可通过 SHAP 交互值显式建模
模型无关性 部分方法依赖模型结构 完全模型无关(KernelSHAP)或模型特定加速(TreeSHAP)
常见误区:SHAP 值不等于特征对模型性能的贡献(如 AUC 提升)。它衡量的是特征对单个样本预测值的边际贡献。一个特征可能对预测值影响很大(高 SHAP 绝对值),但对模型整体精度贡献很小(如噪声特征被模型错误依赖)。

2.5 从 Shapley 值到 SHAP 的工程落地

直接计算 Shapley 值的复杂度为 O(2M),在特征数量较多时不可行。SHAP 通过以下方法实现高效近似:

  • KernelSHAP:模型无关方法,通过加权线性回归近似 Shapley 值,适用于任意模型
  • TreeSHAP:针对树模型的专用算法,利用树结构将复杂度降至 O(TL2M) 或更低(T=树数量,L=叶子数)
  • DeepSHAP:针对深度神经网络的近似方法,基于 DeepLIFT 与 Shapley 值的连接
SHAP 方法体系:从理论到工程 Shapley 值(博弈论) KernelSHAP TreeSHAP DeepSHAP 任意模型(黑箱) XGBoost / LightGBM / RF 神经网络 / 深度学习 速度:慢 | 精度:高 速度:极快 | 精度:精确 速度:快 | 精度:近似