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

SHAP で機械学習モデルの判断根拠を可視化する — 説明可能AI入門

「なぜこの予測結果になったのか?」——SHAP(SHapley Additive exPlanations)を使ったモデルの説明手法と、Qast の説明可能AI機能を解説します。

Qast の SHAP 説明可能AI画面

機械学習モデルが「どの特徴量がどれだけ予測に影響したか」を理解することは、モデルの信頼性を担保し、ビジネス上の意思決定に活用するために不可欠です。SHAP(SHapley Additive exPlanations)は、ゲーム理論のシャプレイ値をベースにした、モデル非依存の説明手法です。この記事では、SHAP の基本概念から Qast での活用方法まで解説します。

なぜモデルの説明が必要なのか

ビジネスにおいて、予測結果だけでなく「なぜその予測になったか」の説明が求められる場面は数多くあります。融資審査で申請が却下された理由、医療診断で特定の疾患と判定された根拠、顧客が離脱すると予測された要因——これらの説明なしにモデルの出力を信頼することは困難です。

EU の GDPR(一般データ保護規則)では「自動化された意思決定に対する説明を受ける権利」が規定されています。モデルの説明可能性は、法規制対応の観点からも重要性が増しています。

SHAP の基本原理 — シャプレイ値とは

SHAP はゲーム理論の「シャプレイ値」を機械学習に応用した手法です。シャプレイ値は「各プレイヤー(特徴量)が全体の成果(予測値)にどれだけ貢献したか」を公平に配分する方法で、4つの数学的な公理(効率性、対称性、ダミー、加法性)を満たす唯一の配分方法です。

  1. 1

    効率性(Efficiency)

    すべての特徴量のSHAP値の合計は、予測値と期待値(平均予測)の差に等しくなります。つまり、予測結果を過不足なく分解できます。

  2. 2

    対称性(Symmetry)

    同じ貢献をする2つの特徴量には、同じ SHAP 値が割り当てられます。

  3. 3

    ダミー(Null Player)

    予測に影響しない特徴量の SHAP 値は 0 になります。

  4. 4

    加法性(Additivity)

    複数モデルの SHAP 値は、個々のモデルの SHAP 値の和になります。アンサンブルモデルでも一貫した説明が可能です。

SHAP 値の計算方法

厳密なシャプレイ値の計算は、すべての特徴量の組み合わせ(2のn乗パターン)を評価する必要があり、特徴量数が多いと現実的な時間では計算できません。そこで SHAP ライブラリでは、モデルの種類に応じた高速な近似アルゴリズムを提供しています。

  1. 1

    TreeSHAP

    決定木ベースのモデル(XGBoost、LightGBM、ランダムフォレスト等)に特化した高速アルゴリズムです。木構造を直接利用して正確なSHAP値を多項式時間で計算します。Qast ではこれがメインで使用されます。

  2. 2

    KernelSHAP

    モデル非依存の近似アルゴリズムです。任意のモデルに適用できますが、TreeSHAP より計算コストが高くなります。ニューラルネットワークやSVM等に使用します。

  3. 3

    DeepSHAP

    ディープラーニングモデルに特化した手法です。DeepLIFT と SHAP を組み合わせ、ニューラルネットワークの各層を通じた貢献度を計算します。

SHAP の可視化手法

SHAP ライブラリは、計算された SHAP 値を直感的に理解するための豊富な可視化機能を備えています。目的に応じて使い分けることで、モデルの振る舞いを多角的に把握できます。

  1. 1

    Waterfall Plot(ウォーターフォールプロット)

    1件の予測について、各特徴量が予測値をどれだけ押し上げ/押し下げたかを棒グラフで表示します。個別の予測結果を説明する際に最も直感的です。

  2. 2

    Summary Plot(サマリープロット)

    全データの SHAP 値を特徴量ごとにプロットし、各特徴量の重要度と影響の方向を同時に把握できます。ドットの色は特徴量の値の大小を表します。

  3. 3

    Dependence Plot(依存性プロット)

    1つの特徴量の値と SHAP 値の関係を散布図で表示します。特徴量と予測の非線形な関係や、他の特徴量との相互作用を発見できます。

  4. 4

    Force Plot(フォースプロット)

    複数の予測を水平に並べ、各特徴量の貢献を赤(正の影響)と青(負の影響)で表示します。クラスタ内の傾向やパターンを発見するのに有用です。

  5. 5

    Bar Plot(バープロット)

    特徴量の平均 SHAP 値(絶対値)をランキング形式で表示します。グローバルな特徴量重要度を素早く把握する最もシンプルな可視化です。

Summary Plot は「どの特徴量が重要か」と「その特徴量の値が高い/低いときに予測にどう影響するか」を1つのチャートで表現できるため、最初に確認すべき可視化として推奨されます。

グローバル説明とローカル説明

SHAP による説明は「グローバル説明」と「ローカル説明」の2つのレベルがあります。グローバル説明は「モデル全体としてどの特徴量が重要か」を示し、ローカル説明は「この1件の予測において各特徴量がどう影響したか」を示します。両方を組み合わせることで、モデルの全体像と個別ケースの両方を理解できます。

  1. 1

    グローバル説明

    Summary Plot や Bar Plot を使い、全データにわたる特徴量の重要度を俯瞰します。モデルの全体的な振る舞いの理解、特徴量選択の根拠づけに使います。

  2. 2

    ローカル説明

    Waterfall Plot や Force Plot を使い、個別の予測ごとに「なぜこの予測値になったか」を分解します。顧客への説明、異常ケースの分析に使います。

SHAP を使う際の注意点

SHAP は強力な説明手法ですが、いくつかの注意点があります。相関の高い特徴量がある場合、SHAP 値が分散して個々の特徴量の重要度が過小評価される可能性があります。また、SHAP 値は「相関」を示すものであり「因果関係」を証明するものではありません。

SHAP 値が高い特徴量を変更しても、必ずしも予測が変わるとは限りません。SHAP はあくまで「モデルの内部ロジック」を説明するものであり、現実世界の因果メカニズムとは異なる場合があります。

LIME との比較

LIME(Local Interpretable Model-agnostic Explanations)も代表的な説明手法ですが、SHAP とはアプローチが異なります。LIME はデータポイントの周辺を局所的な線形モデルで近似するのに対し、SHAP はゲーム理論の公理に基づいた数学的に一貫した配分を行います。SHAP は一貫性と理論的な裏付けの点で LIME より優れており、現在の主流となっています。

Qast の説明可能AI機能

Qast では、学習済みモデルに対して自動的に SHAP 分析を実行し、結果をインタラクティブなダッシュボードで提供します。特徴量重要度のランキング、個別予測の説明、依存性プロットなどをGUIで操作でき、コードを書くことなくモデルの判断根拠を把握できます。

  1. 1

    自動SHAP計算

    学習完了後、TreeSHAPまたはKernelSHAPが自動的に実行されます。ユーザーは結果を待つだけです。

  2. 2

    インタラクティブダッシュボード

    Summary Plot、Waterfall Plot、Dependence Plot などをGUI上で操作・フィルタリングできます。

  3. 3

    レポートエクスポート

    SHAP の分析結果を PDF や CSV 形式でエクスポートし、ステークホルダーとの共有に活用できます。

Qast のリーダーボードから任意のモデルを選択し、「説明」タブをクリックするだけで SHAP 分析結果を確認できます。複数モデルの SHAP 結果を比較することで、どのモデルがどの特徴量に依存しているかを横断的に把握できます。

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

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