活用テクニック2026年3月5日

SHAPで機械学習モデルを「説明」する — 特徴量の影響を可視化するガイド

「なぜこの予測結果になったのか?」——SHAP(SHapley Additive exPlanations)を使ったモデルの説明可能性と、Qastでの活用方法をやさしく解説します。

Qast の SHAP 特徴量重要度グラフ

機械学習モデルが高い精度で予測できても、「なぜその結果になったのか」が分からなければ、ビジネスの意思決定に活用しづらいものです。SHAP(SHapley Additive exPlanations)は、ゲーム理論のシャープレイ値に基づいて各特徴量の貢献度を計算し、モデルの予測を「説明」する手法です。この記事では、SHAPの基本的な考え方からQastでの活用方法まで解説します。

なぜ「説明可能性」が重要なのか

機械学習モデル、特に勾配ブースティングやニューラルネットワークのような高性能モデルは、内部構造が複雑で予測の根拠が見えにくい「ブラックボックス」になりがちです。しかし実務では、「なぜ顧客Aは離脱リスクが高いのか」「なぜこの物件の価格予測が高いのか」といった理由の説明が求められます。金融・医療・保険などの規制産業では、モデルの判断根拠の提示が法的に求められることもあります。

  1. 1

    ビジネス上の信頼構築

    予測の根拠を示すことで、経営層やクライアントの納得感を高め、モデルの導入・活用を促進できます。

  2. 2

    モデルのデバッグ

    意図しない特徴量(データリーク等)に依存していないかを確認し、モデルの健全性を検証できます。

  3. 3

    知見の発見

    どの要因が予測に大きく影響しているかを把握し、業務改善や施策立案のヒントを得られます。

  4. 4

    コンプライアンス対応

    EU の AI 規制(AI Act)や金融庁ガイドラインなど、モデルの説明責任を求める規制への対応が可能になります。

シャープレイ値 — ゲーム理論から生まれた公平な配分法

SHAP の理論的基盤は、1953年にロイド・シャープレイが提唱した「シャープレイ値」です。これは協力ゲームにおいて、各プレイヤーの貢献度を公平に評価する手法です。機械学習に当てはめると、「プレイヤー」が各特徴量、「ゲームの成果」がモデルの予測値に対応します。

シャープレイ値の計算では、ある特徴量がモデルに加わったときの予測値の変化を、すべての特徴量の組み合わせで平均します。例えば、「面積」「築年数」「駅距離」の3特徴量がある物件価格予測モデルで「面積」のシャープレイ値を求めるには、面積がない場合とある場合の予測差を、築年数・駅距離のあり/なしの全パターンで計算し、加重平均を取ります。

シャープレイ値は「効率性」「対称性」「ダミー性」「加法性」の4つの公理を満たす唯一の配分方法であることが数学的に証明されています。つまり、特徴量の貢献度を公平に測る方法として理論的に最も優れた手法です。

SHAP値の読み方

SHAP値は各特徴量が予測値をどれだけ押し上げ/押し下げたかを数値で表します。重要なポイントは、SHAP値の合計が「ベース値(全データの平均予測値)」と「個別の予測値」の差に一致することです。つまり、「平均的な予測に対して、各特徴量がどれだけ寄与したか」を分解して示しているのです。

  1. 1

    正のSHAP値

    その特徴量が予測値を押し上げる方向に寄与していることを示します。例:物件価格予測で「面積」のSHAP値が +500万円 → 面積がこのサンプルの価格を平均より500万円上げている。

  2. 2

    負のSHAP値

    その特徴量が予測値を押し下げる方向に寄与していることを示します。例:「築年数」のSHAP値が -200万円 → 築年数がこのサンプルの価格を平均より200万円下げている。

  3. 3

    ゼロに近いSHAP値

    その特徴量が予測にほとんど影響していないことを示します。特徴量の選別やモデルの簡素化の判断材料になります。

SHAPの計算手法 — Explainer の使い分け

シャープレイ値を愚直に計算すると、特徴量の数が増えるにつれて組み合わせ数が指数的に増大し、現実的な時間では計算できません。SHAPライブラリでは、モデルの種類に応じた高速な近似アルゴリズム(Explainer)を提供しています。

  1. 1

    TreeExplainer(ツリー系モデル用)

    XGBoost、LightGBM、ランダムフォレストなどの木構造モデル専用の高速アルゴリズムです。木の構造を直接利用して厳密なSHAP値を多項式時間で計算できます。Qastでは勾配ブースティング系モデルに自動適用されます。

  2. 2

    KernelExplainer(モデル非依存)

    任意のモデルに適用できるモデル非依存の手法です。局所線形回帰を用いてSHAP値を近似します。汎用的ですが計算に時間がかかるため、サンプル数を制限して使用します。Qastでは線形モデルやニューラルネットワークに適用されます。

  3. 3

    PermutationExplainer(置換ベース)

    特徴量の値をランダムに置き換えて予測への影響を測定する手法です。モデルの種類を選ばず、KernelExplainerでうまくいかないケースのフォールバックとして使用されます。

Qast では、モデルの種類を自動判別して最適な Explainer を選択します。ユーザーが Explainer の種類を意識する必要はありません。モデルカードの「説明可能AI」セクションで、どの Explainer が使用されたかを確認できます。

SHAP可視化チャートの種類と活用法

SHAPの結果は、目的に応じて複数のチャートで可視化できます。Qast のモデルカードでは、以下の3種類のチャートを提供しています。

  1. 1

    バーチャート(特徴量重要度)

    各特徴量のSHAP値の絶対値の平均を棒グラフで表示します。「どの特徴量がモデル全体で最も影響力が大きいか」を一目で把握できます。まず最初に確認すべきチャートです。

  2. 2

    ウォーターフォールチャート(個別予測の分解)

    特定のサンプルの予測がベース値(平均)からどのように積み上がって最終予測値に到達したかを示します。「なぜこの顧客の離脱確率が80%なのか」のように、個別予測の根拠を説明する場面で威力を発揮します。

  3. 3

    ビースウォームチャート(全体分布)

    全サンプルのSHAP値を散布図で表示し、特徴量の値(高い/低い)とSHAP値の関係を可視化します。「面積が大きいほど価格を押し上げる」のような特徴量の方向性を把握できます。

SHAP vs. Permutation Importance — 2つの特徴量重要度

モデルの特徴量重要度を測る方法はSHAPだけではありません。Qast では Permutation Importance(置換重要度)も併せて表示し、2つの視点から特徴量の影響を評価できます。

  1. 1

    SHAP重要度

    各特徴量が予測値をどの方向にどれだけ動かしたかを示します。符号付きの情報を持つため、「この特徴量は予測を上げるのか下げるのか」まで分かります。

  2. 2

    Permutation Importance

    特徴量の値をランダムにシャッフルしたときのモデル精度の低下度で重要度を測ります。モデルの「性能」に対する貢献度を直接測定する手法で、SHAPとは異なる視点を提供します。

両者の結果が一致していれば、その特徴量は確実に重要です。結果に乖離がある場合は、特徴量間の相関やモデル構造の影響が考えられるため、より慎重な分析が必要です。Qast ではタブ切り替えで両方の結果を比較できます。

加法性の検証 — SHAP値の信頼性を確認する

SHAP値の重要な性質の一つが「加法性」です。すべての特徴量のSHAP値を合計すると、ベース値(平均予測値)と個別予測値の差に一致するはずです。Qast ではこの加法性を自動検証し、モデルカードにバッジとして表示します。

分類タスクでは、モデルの出力がリンク関数(シグモイド等)で確率に変換されるため、加法性が確率空間ではなく対数オッズ空間で成立します。Qast はこうした技術的な注意点も自動的に注釈として表示するため、誤解なく結果を解釈できます。

Qast でのSHAP活用ステップ

Qast で SHAP による説明可能性分析を利用するには、特別な設定は不要です。学習ジョブが完了すると、各モデルに対して自動的に SHAP 分析が実行されます。

  1. 1

    モデルを学習する

    CSVをアップロードして学習ジョブを実行するだけで、全モデルに対してSHAP値が自動計算されます。

  2. 2

    モデルカードを開く

    リーダーボードからモデルを選択し、モデルカードの「説明可能AI」セクションを確認します。

  3. 3

    特徴量重要度を把握する

    バーチャートで全体像を掴み、ビースウォームチャートで各特徴量の影響パターンを分析します。

  4. 4

    個別予測を説明する

    ウォーターフォールチャートで特定のサンプルの予測根拠を確認し、レポートや報告資料に活用します。

SHAPを活用した実践的なユースケース

  1. 1

    顧客離脱分析

    離脱リスクが高い顧客の予測をウォーターフォールで分解し、「契約期間の短さ」「サポート問い合わせ回数の多さ」など離脱要因を特定。個別の顧客に対して適切なリテンション施策を打てます。

  2. 2

    与信審査の説明

    審査結果の根拠をSHAPで分解し、「年収」「勤続年数」「既存借入額」それぞれの影響度を申請者に説明。規制対応と顧客満足の両立が可能です。

  3. 3

    製造品質改善

    不良品予測モデルのSHAP分析から、「温度」「湿度」「原材料ロット」など品質に影響する要因を特定。製造プロセスの改善ポイントを定量的に把握できます。

  4. 4

    不動産価格の要因分析

    物件価格予測のSHAP値から「面積」「駅距離」「築年数」の影響度を可視化。査定の透明性向上と、物件の強み・弱みの定量的な把握に活用できます。

まとめ

SHAPは、ゲーム理論に裏打ちされた理論的に堅固な手法で、機械学習モデルの予測を「なぜそうなったか」まで分解して説明できます。Qast では学習ジョブの完了と同時にSHAP値が自動計算され、バーチャート・ウォーターフォール・ビースウォームの3種類のチャートで直感的に結果を把握できます。モデルの精度だけでなく「説明可能性」も重視することで、信頼性の高いAI活用を実現しましょう。

Qast を導入してみませんか?

導入のご相談やデモのご依頼は、お気軽にお問い合わせください。