予測の説明の概要¶
予測の説明は、行ごとに予測を左右する要素を示します。予測の説明は、特徴量が予測に及ぼす影響の定量的指標を提供し、特定のモデルが特定の予測を行った理由を示します。 モデルが特定の予測を行った理由を理解して、予測が意味があるかどうかを検定することが可能になります。 これは、人間のオペレーターがモデルの決定を評価する必要がある場合や、モデルビルダーがモデルが期待どおりに機能することを確認する必要がある場合に特に重要です。 たとえば、「なぜモデルは94.2%の再入院の可能性を示すのか?」 (その他の例を以下に示します。)
DataRobotは、予測の説明を計算するための2つの方法を提供します。SHAP(SHapley値)およびXEMP(eXemplar-based Explanations of Model Predictions)。
備考
同じインサイトが生成されても、異なる結果が返される可能性がある場合の混乱を避けるには、プロジェクトを開始する前に高度なオプションでSHAPを有効にする必要があります。
DataRobotはテキスト特徴量に固有の テキスト予測の説明も提供します。これは、単語レベルでテキストとそのモデルへの影響を理解するのに役立ちます。 テキスト予測の説明は、XEMPとSHAPの両方の方法をサポートしています。
予測の説明にアクセスして有効化するには、リーダーボードでモデルを選択し、解釈 >予測の説明をクリックします。
予測の説明を使用する際の 考慮事項を参照してください。
SHAPベースまたはXEMPベースの選択¶
SHAPとXEMPの両方は、特定の行のターゲットにどの機能が強くまたは弱く影響するかを推定します。 通常、2つの方法では同様の結果を得られますが、説明の値は異なります(方法が異なるため)。 以下のリストは、いくつかの違いを示しています。
特性 | SHAP | XEMP |
---|---|---|
オープンソース | オープンソースアルゴリズムは、容易な監査パスを規制当局に提供します。 | 十分にサポートされているDataRobot独自のアルゴリズムを使用します。 |
モデルサポート | NextGen: すべてのモデル DataRobot Classic: 線形モデル、Kerasディープラーニングモデル、木型モデル(ツリーアンサンブルなど)に対応しています。 |
XEMPはすべてのモデルで機能します。 |
列/値の制限 | 列または値の制限はありません。 | 上位50列までの最大10個の値。 |
速度 | XEMPよりも5~20倍高速です。 | — |
測定 | 多変量は、複数の特徴量を一度に変換させる効果を測定します。 加法性は、変換した個々の特徴量全体に総合効果を割り当てます。 | 単変量は、一度に1つの特徴量を変換させる効果を測定します。 |
最適なユースケース | 平均的な結果から特定の予測量に至るまでを具体的に説明します。 | 平均入力値に対して、どの個々の特徴量が結果に最も大きな影響を与えるか(つまり、平均データ行に対して、どの特徴量が予測を最も変えた値を持っているか)を説明します。 |
その他の備考 | SHAPは付加的であり、予測に貢献する上位N個の機能の量を簡単に確認できます。 | — |
備考
予測の説明は予測が作成された理由に関する数量的なインジケーターを提供しますが、計算では予測が計算された方法は完全に説明されません。 詳細については、係数と前処理情報を係数タブから使用します。
予測の説明の使用と解釈に関する方法ごとの説明については、XEMPまたはSHAPのページを参照してください。
例¶
データを評価する際の一般的な質問は、「あるイベントで特定のデータポイントが高リスク(または低リスク)と見なされるのは何故か」です。
予測の説明のサンプルケース:
大規模製造会社のビジネスアナリストのケースを考えてみます。データサイエンスの経験が浅いビジネスアナリストですが、DataRobotを使用して、製造工場で発生する可能性のある製品不具合を予測する実績を挙げていました。上司が、これらの予測に基づいて不具合率を低下させる推奨案を尋ねてきました。このビジネスアナリストは、説明の高レベルの集計に基づいて製品不具合の主要な要因を特定するために、DataRobotを使用して予期される製品不具合の予測の説明を生成します。ビジネスアナリストのビジネスチームは、このレポートを使用して不具合の原因に対処することができます。
その他の一般的なユースケースと考えられる理由を以下に示します。
-
取引において詐欺のリスクが高いことを示すインジケーターは何でしょうか? 可能性としては、カード所有者が住んでいる地域以外での取引、「不自然」な時間の取引、額が多き過ぎる(少なすぎる)取引などが考えられます。
-
自動車保険が高額になる理由は何でしょうか? 申込者が30才以下の独身の男性で、酒気帯び運転などの交通違反を犯したであることが考えられます。 既婚の住宅所有者の保険料は低くなる傾向があります。
_SHAP_は、特定の予測が平均と異なる予測において各特徴量の責任の割合を推定します。 2つの特徴量(クレジットカードの数と雇用状況)のあるシンプルなモデルを構築する信用リスクの例を考えてみます。 このモデルでは、10枚のクレジットカードを持つ無職の申込者の債務不履行の確率は50%であるのに対し、平均の債務不履行率は5%であると予測されています。 SHAPは、各特徴量が50%の債務不履行リスク予測にどのように貢献したかを推定し、25%がカードの数に起因し、20%のリスクが顧客が無職であることに起因すると判断します。
機能に関する注意事項¶
予測の説明を使用する際は、以下の点に注意してください。 時系列固有の注意事項も参照してください。
-
Prediction Explanations are only generated on datasets that are 1GB or less.
-
実際の速度はモデルによって異なりますが、予測の説明で要求された予測は、通常、説明のない予測よりも生成に時間がかかります。 計算の実行時間は、特徴量、アンサンブル(XEMPでのみサポート)、およびテキスト特徴量の数の影響を受けます。 使用する特徴量の数を減らすか、アンサンブルとテキスト特徴量を回避すると、速度が向上することがあります。
-
画像の説明、画像の予測の説明は、デプロイからは利用できません(たとえば、バッチ予測または予測API)。 以下の SHAPの考慮事項も参照してください。
-
説明メソッド(XEMPまたはSHAP)を設定すると、その方法でのみ利用できるインサイトが得られます。 (たとえば、XEMPでビルドしてからAPI経由でSHAPエンドポイントを要求することはできません。)
-
DataRobotブループリントからトレーニングされた異常検知モデルは、常にSHAPを使用して特徴量のインパクトを計算します。 ユーザーブループリントからの異常検知モデルの場合、特徴量のインパクトは、Permutationベースのアプローチを使用して計算されます。
-
デプロイの データ探索タブでは、そのデプロイから予測を行っているときに予測の説明がリクエストされても、エクスポート用に予測の説明が保存されることはありません。
予測の説明と特徴量のインパクトの方法¶
予測の説明と特徴量のインパクトは、プロジェクトとターゲットの種類に応じて複数の方法で計算されます。
備考
SHAPによる影響度は、SHAPの説明の集合体です。 詳細については、 SHAPベースの特徴量のインパクトを参照してください。
ターゲットタイプ | 特徴量のインパクトの方法 | 予測の説明の方法 |
---|---|---|
連続値 | PermutationベースのインパクトまたはSHAPベースのインパクト | XEMPまたは SHAP(オプトイン) |
二値 | PermutationベースのインパクトまたはSHAPベースのインパクト | XEMPまたは SHAP(オプトイン) |
多クラス | Permutationベースのインパクト | XEMP |
教師なし異常検知 | SHAPインパクト | XEMP |
教師なしクラスタリング | Permutationベースのインパクト | XEMP |
ターゲットタイプ | 特徴量のインパクトの方法 | 予測の説明の方法 |
---|---|---|
連続値 | Permutationベースのインパクト | XEMP |
二値 | Permutationベースのインパクト | XEMP |
多クラス | N/A* | N/A* |
教師なし異常検知 | SHAPインパクト | XEMP** |
教師なしクラスタリング | N/A* | N/A* |
* このプロジェクトタイプは利用できません。
** 時系列の教師なし異常検知の視覚化では、 異常評価チャートはSHAPを使用して異常ポイントの説明を計算します。
XEMP¶
XEMP(Permutationベースの特徴量の有用性スコアに基づく)を使用する場合は、次の点を考慮してください。
-
予測の説明には、特徴量が導入される前にトレーニングされたモデルとの互換性があります。
-
予測の説明を計算するには、検定セットに100行以上が必要です。
-
予測の説明は、地理空間を除くすべての特徴量の型(数値、分類、テキスト、日付、時刻、画像など)で機能します。
-
DataRobotでは予測の説明の計算に最大50の特徴量が使用され、計算の複雑さが制限され、応答時間が短縮されます。 特徴量のインパクトのランキングの順に特徴量が選択されます。
-
有用性が極めて低い、またはまったくない特徴量については、予測の説明は返されません。 これは、インパクトがほとんどまたはまったくない特徴量について、インパクトがあることを示唆しないようにするためです。
-
UIでの予測の説明の最大数は10、予測APIでの予測の説明の最大数は50です。
SHAP¶
-
多クラス分類予測の説明は、SHAPではサポートされていません(ただし、XEMPでは使用できます)。
-
検定とホールドアウトにトレーニングされたモデルのSHAPベースの予測の説明はサンプルであり、スタックされていません。
-
AutoMLの場合、SHAPは線形、ツリーベース、Kerasディープラーニングのブループリントでのみサポートされます。 リーダーボードの上部に表示される非アンサンブルAutoML BPのほとんどがサポートされています(互換表を参照してください)。
-
SHAPは以下ではサポートされていません。
- 時系列プロジェクト。
- スライスされたインサイト
- スコアリングコードでの予測の説明
- アンサンブルモデル
-
SHAPは画像型特徴量をサポートしていません。 結果として、画像の説明は利用できません。
-
リンク機能を使用する場合、SHAPは余裕空間で加法性です(
sum(shap) = link(p)-link(p0)
)。 推奨事項を以下に示します。- SHAPの付加的品質が必要な場合は、リンク関数を使用しないブループリント(一部のツリーベースのブループリントなど)を使用します。
- ログをリンク関数として使用する場合は、
exp(shap)
を使用して予測を説明することもできます。
-
利用可能な説明数に関する制限:
- バックエンド/API:すべての特徴量のSHAP値を取得できます(
shapMatrices
APIを使用)。 - UI:予測の説明のプレビューは5つの説明に制限されていますが、CSV経由で最大100の説明をダウンロードできます。100以上の説明にアクセスする必要がある場合は、APIを使用してください。 特徴量のインパクトのプレビューは25の機能に制限されていますが、最大1000の特徴量のインパクトをCSVにエクスポートできます。
- バックエンド/API:すべての特徴量のSHAP値を取得できます(
-
教師なしの異常検知モデル:
- 特徴量のインパクトは、SHAPを使用して計算されます。
- 予測の説明は、XEMPを使用して計算されます。
- 教師ありモードと同様に、アンサンブルのSHAPは計算されません。
- SHAPは、1000以上の特徴量を含む特徴量セット上に構築されたモデルでは使用できません。