

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 本番稼働用モデルの Feature Attribution ドリフト
<a name="clarify-model-monitor-feature-attribution-drift"></a>

本番稼働中のモデルのライブデータ分布がドリフトすると、バイアスメトリクスのモニタリングでバイアスドリフトが発生するのと同様に、特徴属性値でも対応するドリフトが発生する可能性があります。Amazon SageMaker Clarify 特徴属性モニタリングは、データサイエンティストと機械学習エンジニアが予測の特徴属性ドリフトを定期的にモニタリングするのに役立ちます。モデルのモニタリング中は、特徴属性を詳細に説明する、エクスポート可能なレポートとグラフを SageMaker Studio で表示できます。また、Amazon CloudWatch でアラートを設定して、特定のしきい値を超える属性値のドリフトが検出された場合に通知を送信するようにできます。

具体的な状況でこれを説明するために、大学入学のシナリオを仮定して考えてみましょう。トレーニングデータとライブデータで、次の (集約された) 特徴属性値を観察するとします。

仮定の大学入学シナリオ


| 機能 | トレーニングデータの属性 | ライブデータの属性 | 
| --- | --- | --- | 
| SAT の得点 | 0.70 | 0.10 | 
| GPA | 0.50 | 0.20 | 
| 学年順位 | 0.05 | 0.70 | 

トレーニングデータからライブデータへの変化は大きいようです。特徴の順位は完全に逆転しています。バイアスドリフトと同様に、特徴属性ドリフトは、ライブデータ分布の変化によって引き起こされ、ライブデータに基づいたモデルの動作を詳しく調べることが必要となります。繰り返しになりますが、このようなシナリオの最初のステップは、ドリフトが発生したことを示すアラームを発生させることです。

個々の特徴の順位がトレーニングデータからライブデータにどのように変化したかを比較することで、ドリフトを検出できます。順位の変化に加えて、特徴の未加工属性のスコアにも注意を向ける必要があります。例えば、トレーニングからライブデータに移行した際、同じだけ順位が下がった 2 つの特徴がある場合、トレーニングデータの属性スコアが高い特徴に対してより注意が必要です。これらの特性を念頭に置きながら、Normalized Discounted Cumulative Gain (NDCG) スコアを使用して、トレーニングデータとライブデータの特徴属性ランキングを比較します。

具体的には、次を仮定します。
+ *F=[f1,...,fm]* はトレーニングデータでの属性スコアを基準に並べられた特徴のリストです。*m*は、特徴の総数です。例えば、このシナリオでは、*F*=[SAT Score, GPA, Class Rank] となります。
+ *a(f)* は、特徴が *f* のときにトレーニングデータの特徴属性スコアを返す関数です。例えば、*a*(SAT Score) = 0.70 となります。
+ *F′=[f′​1​, …, f′​m​] *は、ライブデータでの属性スコアを基準に並べた特徴のリストです。例えば、*F*′= [Class Rank, GPA, SAT Score] となります。

NDCG は次のように計算されます。

        NDCG=DCG/iDCG​

デプロイに 
+ DCG = ∑1m*a*(*f'i*)/log2​(*i*\+1)
+ iDCG = ∑1m*a*(*fi*)/log2​(*i*\+1)

DCG の値は、トレーニングデータで属性が高順位の特徴が、ライブデータに基づいて計算された特徴属性においても上位になるかどうかを測定します。iDCG の数量は、*理想的なスコア*です。最終値が [0, 1] の範囲内に存在し、1 が最良値であることを保証する正規化係数に過ぎません。NDCG 値が 1 である場合、ライブデータの特徴属性順位がトレーニングデータの順位と同じであることを意味します。この例では順位がかなり変わったため、NDCG 値は 0.69 です。

SageMaker Clarify では、NDCG の値が 0.90 を下回ると、自動的にアラートが発行されます。

## Model Monitor のサンプルノートブック
<a name="clarify-model-monitor-sample-notebooks-feature-drift"></a>

SageMaker Clarify には、リアルタイムエンドポイントの推論データをキャプチャし、進化するバイアスをモニタリングするためのベースラインを作成し、結果を調べる方法を示す次のサンプルノートブックが用意されています。
+ [バイアスドリフトと特徴属性ドリフトのモニタリング (Amazon SageMaker Clarify)](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_model_monitor/fairness_and_explainability/SageMaker-Model-Monitor-Fairness-and-Explainability.html) — Amazon SageMaker Model Monitor を使用して、バイアスドリフトと特徴属性ドリフトを経時的にモニタリングします。

このノートブックが動作することが確認されているのは SageMaker Studio のみです。SageMaker Studio でノートブックを開く方法の手順については、「[Amazon SageMaker Studio Classic ノートブックを作成する、または開く](notebooks-create-open.md)」を参照してください。カーネルの選択を求めるメッセージが表示されたら、**[Python 3 (Data Science)]** (Python 3 (データサイエンス)) を選択します。次のトピックでは、最後の 2 つのステップの要点が説明されています。サンプルノートブックのコードサンプルも含まれています。

**Topics**
+ [Model Monitor のサンプルノートブック](#clarify-model-monitor-sample-notebooks-feature-drift)
+ [本稼働環境のモデルの SHAP ベースラインを作成する](clarify-model-monitor-shap-baseline.md)
+ [特徴量属性ドリフト違反をモニタリングする](clarify-model-monitor-model-attribution-drift-violations.md)
+ [Attribution ドリフトをモニタリングするためのパラメータ](clarify-config-json-monitor-model-explainability-parameters.md)
+ [特徴属性ドリフトのモニタリングジョブをスケジュールする](clarify-model-monitor-feature-attribute-drift-schedule.md)
+ [本番稼働モデルの特徴属性ドリフトのレポートを確認する](clarify-feature-attribute-drift-report.md)
+ [特徴量ドリフト分析のための CloudWatch メトリクス](clarify-feature-attribute-drift-cw.md)