1行定義
SHAPとは、協力ゲーム理論のシャープレイ値を使い、1件の予測値と平均的な予測値との差を、各特徴量の貢献度として公平に分け合う説明手法のことです。
くわしく
SHAPは、2017年にLundbergとLeeが発表した、予測の根拠を特徴量ごとの貢献度で示す手法です。名前は「SHapley Additive exPlanations」に由来します。
シャープレイ値とは
土台は、協力ゲーム理論のシャープレイ値です。複数の人が協力して得た報酬を、各人の貢献に応じて公平に分ける方法です。ある人が加わる前と後の報酬の差を、加わる順番のあらゆる並びについて求め、平均します。
SHAPでは、特徴量を「参加者」、予測値を「報酬」とみなします。
計算例
融資の審査モデルが、データ全体では平均0.70の確率で「返済できる」と予測するとします。この0.70が基準値です。ある申込者の予測は0.85でした。差の0.15が、次のように分けられたとします。
- 年収:+0.10
- 勤続年数:+0.08
- 借入額:−0.03
合計は 0.10 + 0.08 - 0.03 = 0.15 で、基準値に足すと 0.70 + 0.15 = 0.85 となり、予測値に一致します。このように、貢献度の合計が予測値と基準値の差に必ず一致する点が、SHAPの大きな特徴です。正の値は予測を押し上げ、負の値は押し下げた向きを表します。
計算の工夫と使い方
厳密な計算では特徴量のあらゆる組み合わせを考えるため、特徴量が多いと計算量が膨大になります。そこで、モデルの種類を問わない近似法(Kernel SHAP)や、決定木を組み合わせたモデル向けに厳密な値を速く求める方法が使われます。多数のデータのSHAP値を集計すれば、モデル全体の傾向も読み取れます。
LIMEとの違い
LIMEも1件の周辺を単純なモデルで近似しますが、近さの重み付けなどの決め方は経験的です。SHAPは、局所的な正確さや一貫性などの望ましい性質を満たす唯一の配分として、理論的な裏付けを持ちます。
覚え方
「予測と平均の差を、特徴量で山分け」と覚えます。
G検定での出題
出題のされ方
協力ゲーム理論のシャープレイ値にもとづくこと、貢献度の合計が予測値と基準値の差に一致する性質、1件ごとの説明を集めて全体の傾向も見られる点、LIMEとの違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| SHAPこのページの用語 | 協力ゲーム理論のシャープレイ値を使い、1件の予測値と平均的な予測値との差を、各特徴量の貢献度として公平に分け合う説明手法 |
| LIME | 説明したい1件の予測の周辺だけで、複雑なモデルの振る舞いを線形モデルなどの単純なモデルで近似し、判断に効いた特徴量を示す手法 |
| Permutation Importance | 1つの特徴量の値をデータ間で並べ替えたときの予測性能の低下から、その特徴量の重要度を測る手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ある1件について、全特徴量のSHAP値を合計し、基準値(データ全体での平均的な予測値)に足すと、その1件の予測値に一致する。
答えを見る
答え ◯ 正しい
SHAPは、予測値と基準値の差を各特徴量に配分します。配分の合計が差にぴったり一致するため、説明に過不足が生じません。
-
SHAPで1件の予測を説明するには、そのデータの正解ラベルが必要である。
答えを見る
答え × 誤り
SHAPが分け合うのは、モデルの予測値です。正解ラベルは使わないため、結果がまだわからない新しいデータの予測も説明できます。予測の当たり外れを使うPermutation Importanceとの違いです。
-
多数のデータについてSHAP値の絶対値を平均すると、モデル全体でどの特徴量が予測に大きく効いているかの目安になる。
答えを見る
答え ◯ 正しい
SHAPは1件ごとの説明が基本ですが、集計すれば大域的な重要度としても使えます。各データのSHAP値を並べた図では、影響の向きも確認できます。