Shapley 值
一、直观理解:按“平均边际贡献”公平分蛋糕
Shapley 值是合作博弈中的经典分配方案:在所有可能的加盟顺序上,计算某参与人对联盟的边际贡献,再取平均。谁在更多情景下带来增量价值,谁分得更多。
它满足有效性、对称性、哑元性与可加性等公理,常被评价为“公平且唯一”的分配(在这些公理下)。建模中用于成本分摊、利润分配、特征贡献(甚至 SHAP 的名字来源)。
二、适用场景与优缺点
| 类型 | 说明 |
|---|---|
| 适用场景 | 可定义联盟特征函数 ;需要公平分摊成本/收益;参与人不多(精确计算 );或可用抽样近似。 |
| 核心优点 | 公理化公平;解释清晰(平均边际贡献);与“贡献”叙事契合。 |
| 局限与缺点 | 精确计算随 指数爆炸;特征函数设定主观;不保证在核中(可能不稳定于某些反驳)。 |
三、核心原理
对参与人集合 ,,特征函数 ,。参与人 的 Shapley 值
等价于所有排列 上边际贡献的平均。
性质:(有效性)。
四、建模步骤
- 定义 与 (成本节约、利润、评分等);
- 可精确枚举;更大则蒙特卡洛排列抽样;
- 报告 并解释排序;
- 做 的敏感性分析。
五、MATLAB 示例
%% 3 人合作博弈 Shapley 值(排列平均)
% v({})=0, v({1})=1,v({2})=2,v({3})=3
% v({1,2})=4,v({1,3})=5,v({2,3})=6, v(N)=8
vfun = @(S) shapley_v(S);
n = 3;
phi = zeros(n, 1);
P = perms(1:n);
for r = 1:size(P, 1)
S = false(1, n);
for k = 1:n
i = P(r, k);
before = vfun(S);
S(i) = true;
phi(i) = phi(i) + (vfun(S) - before);
end
end
phi = phi / factorial(n);
fprintf("Shapley 值 = [%s], 和=%.4f (v(N)=8)\n", ...
num2str(phi', '%.4f '), sum(phi));
function val = shapley_v(S)
key = sprintf('%d', find(S));
switch key
case '', val = 0;
case '1', val = 1;
case '2', val = 2;
case '3', val = 3;
case '12', val = 4;
case '13', val = 5;
case '23', val = 6;
case '123', val = 8;
otherwise, val = 0;
end
end
抽样近似(大 思路):
rng(1); n=8;
% 假设 v(S)=|S|^2 的玩具特征
v = @(S) sum(S)^2;
R=5000; phi=zeros(n,1);
for r=1:R
seq=randperm(n); S=false(1,n);
for k=1:n
i=seq(k); before=v(S); S(i)=true; phi(i)=phi(i)+v(S)-before;
end
end
phi=phi/R;
fprintf("抽样 Shapley 和=%.3f, v(N)=%.1f\n", sum(phi), v(true(1,n)));
六、如何解释结果
说明 定义、计算是精确还是抽样、各参与人 与排序、总和是否等于 。把“边际贡献高”翻译成管理建议(谁应获得更高分成/补贴)。
七、常见误区
1. 随意指定
分配再公平,输入不成立则结论空。
2. 很大还硬枚举
应抽样并报告标准误。
3. 把 Shapley 当非合作均衡
它是合作分配,不描述策略对抗过程。
4. 与核、核仁混淆
不同解概念侧重点不同。
附:建模流程中的落地清单(Shapley 值)
要把方法真正写进论文,建议补齐以下模块,而不是只贴一个最终数字。
1. 问题对齐与假设
说明题目中的输入/输出如何映射到本方法,并显式列出关键假设。假设越清楚,后面的敏感性分析越有对象。
2. 关键关系
为所有加盟顺序上边际贡献的平均,满足有效性等公理。
3. 补充实现片段
n=3; v=@(S) sum(S)^2; phi=zeros(n,1); R=2000; for r=1:R, seq=randperm(n); S=false(1,n); for k=1:n,i=seq(k);b=v(S);S(i)=true;phi(i)=phi(i)+v(S)-b; end, end; disp(phi/R);
4. 报告要素
定义、精确/抽样、分配向量、敏感性。
5. 不适用情形
很大硬枚举; 拍脑袋。
6. 与验证章节的衔接
至少做一项:参数扰动、与基线方法对照、极限情形检查。把“方法正文”和“全局方法论(第15门类)”连起来,结论才站得住。
八、小结
Shapley 值按所有加盟顺序的平均边际贡献分配合作收益,公理清晰、解释友好。建模关键是合理定义特征函数,并在计算上对症选择精确枚举或随机近似。