2. SHAP理论基础:博弈论中的Shapley值,边际贡献与公平分配

SHAP(SHapley Additive exPlanations)值的核心思想源自博弈论中的Shapley值。要理解SHAP如何解释风控模型的预测,必须先理解Shapley值如何解决“公平分配”问题。

2.1 博弈论中的Shapley值:公平分配问题

Shapley值由诺贝尔经济学奖得主Lloyd Shapley于1953年提出,用于解决合作博弈中的收益分配问题。核心场景是:多个参与者组成联盟,共同创造了一个总收益,如何根据每个参与者对联盟的边际贡献来公平分配收益?

核心概念:边际贡献

一个参与者的边际贡献,是指该参与者加入联盟时,为联盟带来的额外收益。例如,三个风控特征(A、B、C)共同预测违约风险,特征A的边际贡献就是它加入已有特征集合时,模型性能的提升量。

Shapley值的计算公式

Shapley值通过计算一个参与者在所有可能的联盟顺序下的平均边际贡献,来分配总收益。公式如下:

φᵢ(v) = Σ_{S ⊆ N \ {i}} [ |S|! * (|N| - |S| - 1)! / |N|! ] * [ v(S ∪ {i}) - v(S) ]

其中:

  • N:所有参与者的集合(如所有特征)
  • S:不包含参与者i的任意子集(联盟)
  • v(S):联盟S的总收益(如模型预测值)
  • v(S ∪ {i}) - v(S):参与者i加入联盟S时的边际贡献
  • 权重项:对所有可能的联盟顺序进行加权平均

Shapley值的四大公理

Shapley值是唯一满足以下四个公理的分配方案,这保证了其公平性:

公理 含义 风控场景解释
有效性 所有参与者的Shapley值之和等于总收益 所有特征的贡献之和等于模型预测值减去基线值
对称性 如果两个参与者对所有联盟的贡献相同,则分配相同 两个对模型预测影响完全相同的特征,获得相同的贡献值
虚拟性 如果参与者对任何联盟都没有贡献,则分配为0 对模型预测毫无影响的特征,其SHAP值为0
可加性 两个独立博弈的Shapley值可以相加 可以将多个模型的预测贡献相加,得到总贡献
💡 关键理解: Shapley值的本质是公平分配。它不依赖于参与者的加入顺序,而是对所有可能的顺序取平均,从而消除了顺序带来的偏差。

2.2 从Shapley值到SHAP值:模型预测的边际贡献

SHAP值将Shapley值的博弈论框架引入机器学习模型解释。在SHAP中:

  • 参与者 → 模型的输入特征
  • 联盟 → 特征的子集
  • 总收益 → 模型对某个样本的预测值
  • 基线值 → 所有特征的平均预测值(通常为训练集预测均值)

SHAP值的核心思想:每个特征的SHAP值表示,在考虑所有可能的特征组合顺序下,该特征对模型预测的平均边际贡献。所有特征的SHAP值之和加上基线值,等于该样本的模型预测值。

模型预测值 = 基线值 + Σ(每个特征的SHAP值)

SHAP值 vs. 传统Shapley值的关键区别

维度 传统Shapley值 SHAP值
应用场景 合作博弈收益分配 机器学习模型预测解释
参与者 博弈玩家 模型特征
收益函数v(S) 联盟S的总收益 基于特征子集S的模型期望预测
计算复杂度 指数级(2^N种组合) 通过近似算法(如Kernel SHAP、Tree SHAP)优化
输出形式 单一数值(总收益分配) 每个样本每个特征的贡献值(可正可负)
📌 风控实践要点: SHAP值保留了Shapley值的公平性公理,同时通过局部解释(每个样本一个解释)和加性特征归因(预测值 = 基线 + 各特征贡献之和),使其成为风控模型可解释性的黄金标准。

2.3 SHAP值的演化:从理论到工程实现

SHAP值由Scott Lundberg和Su-In Lee在2017年提出,其核心贡献在于:

  1. 统一了多种解释方法:证明了LIME、DeepLIFT、Layer-wise Relevance Propagation等方法都是SHAP值的线性近似。
  2. 提出了高效的近似算法:针对树模型(Tree SHAP)和线性模型(Linear SHAP)的精确求解,以及通用的Kernel SHAP近似。
  3. 建立了加性特征归因框架:所有特征贡献之和等于预测值与基线值的差值。

SHAP值的数学定义:

SHAPᵢ(x) = Σ_{S ⊆ N \ {i}} [ |S|! * (|N| - |S| - 1)! / |N|! ] * [ fₓ(S ∪ {i}) - fₓ(S) ]

其中 fₓ(S) 表示在特征子集S条件下的模型期望预测值。

⚠️ 计算挑战: 精确计算SHAP值需要遍历所有2^N种特征子集,在特征数量较多时计算量巨大。风控模型通常使用Tree SHAP(针对XGBoost、LightGBM等)或Kernel SHAP(通用近似)来高效求解。
从Shapley值到SHAP值的演化 博弈论Shapley值 公平分配收益 边际贡献计算 所有联盟顺序平均 SHAP值 模型预测解释 核心演化:从“收益分配”到“特征归因” • 参与者 → 特征 • 联盟收益 → 模型预测值 • 公平分配 → 每个特征对预测的边际贡献

2.4 SHAP值的加性特征归因结构

SHAP值属于加性特征归因方法(Additive Feature Attribution),其模型解释形式为:

g(z') = φ₀ + Σᵢ φᵢ * z'ᵢ

其中:

  • g(z'):解释模型对简化输入z'的预测
  • φ₀:基线值(所有样本的平均预测)
  • φᵢ:特征i的SHAP值(边际贡献)
  • z'ᵢ:简化输入,表示特征i是否存在(1或0)

风控模型中的实际含义:

  • 对于某个贷款申请样本,模型预测违约概率为0.8
  • 基线违约概率(所有样本平均)为0.1
  • 特征“收入负债比”的SHAP值为+0.3,表示该特征使违约概率增加了0.3
  • 特征“信用评分”的SHAP值为-0.2,表示该特征使违约概率降低了0.2
  • 其他特征贡献之和为+0.6
  • 验证:0.1(基线)+ 0.3 + (-0.2) + 0.6 = 0.8(预测值)
✅ 加性结构的优势: 这种线性加性结构使得SHAP值具有可分解性和可解释性。风控分析师可以直观地看到每个特征对单个样本预测的“推高”或“拉低”作用,从而理解模型决策的逻辑。
SHAP值加性特征归因结构 基线值 φ₀ 平均预测 + 特征1 φ₁ +0.3 + 特征2 φ₂ -0.2 + 其他特征 +0.6 = 预测值 0.8 加性特征归因公式 g(z') = φ₀ + φ₁·z'₁ + φ₂·z'₂ + ... + φₙ·z'ₙ 其中 φ₀ 为基线值,φᵢ 为特征i的SHAP值,z'ᵢ 表示特征是否存在 所有特征SHAP值之和 + 基线值 = 模型预测值

2.5 本章小结

SHAP值将博弈论中经典的Shapley值公平分配思想,成功迁移到机器学习模型解释领域。通过计算每个特征在所有可能特征组合下的平均边际贡献,SHAP值提供了唯一满足公平性公理的特征归因方案。其加性结构使得模型预测可以分解为基线值与各特征贡献之和,为风控模型提供了局部可解释性和全局一致性。