

 Amazon Forecast は新規顧客には利用できなくなりました。Amazon Forecast の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

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

# Predictor Explainability
<a name="predictor-explainability"></a>

Predictor Explainability は、データセット内の属性がターゲット変数にどのように影響するかをよりよく理解するのに役立ちます。Forecast は、Impact スコアと呼ばれるメトリクスを使用して、各属性の相対的な影響を定量化し、それらが予測値を増加させるか減少させるかを決定します。

例えば、ターゲットが `sales` であり、`price` および `color` といった関連する 2 つの属性がある予測シナリオについて考えてみます。Forecast では、商品の価格が売上に大きく影響する (Impact スコアが高い) が、アイテムの色による影響はごくわずか (Impact スコアが低い) であることが判明する場合があります。

Predictor Explainability を有効にするには、関連する時系列、項目メタデータ、または祝祭日や Weather Index などの追加のデータセットの少なくとも 1 つを予測子に含める必要があります。詳細については「[制約事項とベストプラクティス](#predictor-explainability-best-practices)」を参照してください。

特定の時系列および時間ポイントの Impact スコアを作成するには、Predictor Explainability ではなく Forecast Explainability を使用します。「[Forecast Explainability](forecast-explainability.md)」を参照してください。

**Topics**
+ [影響スコアの解釈](#predictor-explainability-impact-scores)
+ [Predictor Explainability の作成](#creating-predictor-explainability)
+ [Predictor Explainability のエクスポート](#exporting-predictor-explainability)
+ [制約事項とベストプラクティス](#predictor-explainability-best-practices)

## 影響スコアの解釈
<a name="predictor-explainability-impact-scores"></a>

影響スコアは、予測値に対する相対的な影響属性を測定します。例えば、「price」属性の影響スコアが「store location」属性の 2 倍である場合、商品の料金は、予測値に対して、店舗の場所の 2 倍の影響を及ぼすと結論付けることができます。

 影響スコアは、属性が予測値を増加させるか減少させるかに関する情報も提供します。コンソールでは、これは 2 つのグラフで示されます。青いバーのある属性は予測値を増やし、赤いバーのある属性は予測値を減らします。

![\[Bar graphs showing Price and Promo increasing impact scores, StoreLocation decreasing impact score.\]](http://docs.aws.amazon.com/ja_jp/forecast/latest/dg/images/quicksight-unfiltered.png)


コンソールでは、Impact スコアの範囲は 0 から 1 です。ここで、スコア 0 は影響がないことを示し、スコアが 1 に近づくほど、その影響が重大であることを示します。SDK では、Impact スコアの範囲は -1 から 1 で、記号は影響の方向を示します。

Impact スコアは、絶対的な影響ではなく、属性の相対的な影響を測定することに注意することが重要です。したがって、Impact スコアで、特定の属性がモデルの精度が向上するかどうかを判断することはできません。属性の Impact スコアが低い場合、それは必ずしも予測値への影響が少ないことを意味するわけではありません。これは、予測子が使用する他の属性よりも予測値への影響が少ないことを意味します。

## Predictor Explainability の作成
<a name="creating-predictor-explainability"></a>

**注記**  
予測子ごとに最大 1 つの Predictor Explainability を作成できます

Predictor Explainability を有効にすると、Amazon Forecast は、データセット内のすべての属性の Impact スコアを計算します。Impact スコアは、影響属性が全体的な予測値に与える影響として解釈できます。予測子を作成するときに Predictor Explainability を有効にするか、予測子を作成した後に特徴を有効にすることができます。

### 新しい予測子向けの Predictor Explainability の有効化
<a name="creating-predictor-explainability-new"></a>

新しい予測子を作成するときに Predictor Explainability を有効にすると、Predictor のリソースと Explainability のリソースの両方が作成されます。ソフトウェア開発キット (SDK) または Amazon Forecast コンソールを使用して、新しい予測子の Predictor Explainability を有効にできます。

------
#### [ Console ]

**Predictor Explainability を有効にするには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) で Amazon Forecast コンソールを開きます。

1. **[Dataset groups]** (データセットグループ) から、データセットグループを選択します。

1. ナビゲーションペインで、**[Predictors]** (予測子) を選択します。

1. **[Train new predictor]** (新しい予測子のトレーニング) を選択します。

1. **[Predictor configuration]** (予測子の設定) のセクションで、**[Enable Explainability]** (Explainability を有効化) を選択します。

1. 以下の必須フィールドに値を入力します。
   + **名前** - 一意の予測子名。
   + **予測頻度** - 予測の粒度。
   + **[Forecast horizon]** (予測期間) - 予測するタイムステップの数。

1. [**Start (開始)**] を選択

------
#### [ Python ]

SDK for Python (Boto3) で新しい予測子の Explainability を有効にするには、`create_auto_predictor` メソッドを使用して、ExplainPredictor を true に設定します。

次のコードでは、今後 24 (`ForecastHorizon`) 日 (`ForecastFrequency`) の予測を行う自動予測子を作成し、`ExplainPredictor` が true に設定されています。必須とオプションのパラメータの詳細については、「[CreateAutoPredictor](API_CreateAutoPredictor.md)」を参照してください。

```
import boto3
                            
forecast = boto3.client('forecast')

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = 'predictor_name',
    ForecastHorizon = 24,
    ForecastFrequency = 'D',
    DataConfig = {
        "DatasetGroupArn": "arn:aws:forecast:region:account:dataset-group/datasetGroupName"
    },
    ExplainPredictor = True
)
```

------

### 既存の予測子向けの Predictor Explainability の有効化
<a name="creating-predictor-explainability-old"></a>

既存の予測子向けに Predictor Explainability を有効にすると、そのリソース用に Explainability のリソースが作成されます。Explainability リソースがまだ含まれていない予測子についてのみ Explainability リソースを作成できます。更新されたデータセットの Impact スコアを表示するには、更新されたデータを使用して予測子を再トレーニングまたは再作成します。

ソフトウェア開発キット (SDK) または Amazon Forecast コンソールを使用して、新しい予測子の Predictor Explainability を有効にできます。

------
#### [ Console ]

**Predictor Explainability を有効にするには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) で Amazon Forecast コンソールを開きます。

1. **[Dataset groups]** (データセットグループ) から、データセットグループを選択します。

1. ナビゲーションペインで、**[Predictors]** (予測子) を選択します。

1. 予測子を選択します。

1. **[Predictor Explainability]** のセクションで、**[Enable Explainability]** (Explainability を有効化) を選択します。

1. Predictor Explainability の一意の名前を指定します。

1. [**Start (開始)**] を選択

------
#### [ Python ]

SDK for Python (Boto3) で既存の予測子の Predictor Explainability を有効にするには、`create_explainability` メソッドを使用します。Explainability の名前と予測子の ARN を指定し、`ExplainabilityConfig` は `TimePointGranularity` と `TimeSeriesGranularity` の両方を **ALL** に設定します。コンソール内で表示できる Explainability ビジュアライゼーションを作成するには、`EnableVisualization` を **True** に設定します。

必須とオプションのパラメータの詳細については、「[CreateExplainability](API_CreateExplainability.md)」を参照してください。

```
import boto3
                            
forecast = boto3.client('forecast')

create_explainability_response = forecast.create_explainability(
    ExplainabilityName = 'explainability_name',
    ResourceArn = 'arn:aws:forecast:region:accountNumber:predictor/predictorName',
    ExplainabilityConfig = { 
      "TimePointGranularity": "ALL",
      "TimeSeriesGranularity": "ALL"
    },
    EnableVisualization = True
)
```

------

## Predictor Explainability のエクスポート
<a name="exporting-predictor-explainability"></a>

**注記**  
エクスポートファイルは、[Dataset Import] (データセットのインポート) から直接情報を返すことができます。これにより、インポートされたデータに式またはコマンドが含まれている場合、ファイルは CSV インジェクションに対して脆弱になります。このため、エクスポートされたファイルはセキュリティ警告を表示する可能性があります。悪意のあるアクティビティを回避するには、エクスポートされたファイルを読み取るときにリンクとマクロを無効にします。

Forecast を使用すると、Impact スコアの CSV または Parquet ファイルを S3 の場所にエクスポートできます。Impact スコアの範囲は -1 から 1 で、記号は影響の方向を示します。Amazon Forecast のソフトウェア開発キット (SDK) および Amazon Forecast コンソールを使用して、Impact スコアをエクスポートできます。

![\[Table showing normalized impact scores for price, promotion, weather index, and US holidays.\]](http://docs.aws.amazon.com/ja_jp/forecast/latest/dg/images/explainability-global.png)


------
#### [ Console ]

**Predictor Explainability をエクスポートするには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) で Amazon Forecast コンソールを開きます。

1. **[Dataset groups]** (データセットグループ) から、データセットグループを選択します。

1. ナビゲーションペインで、**[Predictors]** (予測子) を選択します。

1. 予測子を選択します。

1. **[Predictor Explainability]** のセクションで、**[Export]** (エクスポート) を選択します。

1. **[Export name]** (エクスポート名) のフィールドで、エクスポートの一意の名前を入力します。

1. **[S3 explainability export location]** (S3 の Explainability のエクスポート場所) のフィールドで、CSV ファイルをエクスポートするための S3 の場所を指定します。

1. **[IAM Role]** (IAM ロール) のフィールドで、指定された S3 の場所へのアクセス権を持つロールを提供します。

1. **[Create Export]** (エクスポートを作成) を選択します。

------
#### [ Python ]

SDK for Python (Boto3) で Predictor Explainability をエクスポートするには、`create_explainability_export` メソッドを使用します。ジョブに名前を付け、Explainability の ARN を指定し、`Destination` オブジェクトに Amazon S3 の宛先ロケーションと IAM サービスロールを指定します。

必須とオプションのパラメータの詳細については、「[CreateExplainabilityExport](API_CreateExplainabilityExport.md)」を参照してください。

```
import boto3
                        
forecast = boto3.client('forecast')

export_response = forecast.create_explainability_export(
    Destination = {
        "S3Config": {
            "Path": "s3://bucketName/filename.csv",
            "RoleArn": "arn:aws:iam::accountNumber:role/roleName"
        }
    },
    ExplainabilityArn = 'arn:aws:forecast:region:accountNumber:explainability/explainabilityName',
    ExplainabilityExportName = 'job_name'
)
```

------

## 制約事項とベストプラクティス
<a name="predictor-explainability-best-practices"></a>

Predictor Explainability を使用する場合は、次の制約事項とベストプラクティスを考慮してください。
+ **Predictor Explainability は、AutoPredictor で作成された一部の予測子でのみ使用できます**。AutoML または手動選択で作成されたレガシー予測子に対して Explainability を有効にすることはできません。「[Upgrading to AutoPredictor](howitworks-predictor.md#upgrading-autopredictor)」(AutoPredictor へのアップグレード) を参照してください。
+ **Predictor Explainability はすべてのモデルで利用できるわけではありません** - ARIMA (AutoRegressive Integrated Moving Average)、ETS (Exponential Smoothing State Space Model)、および NPTS (Non-Parametric Time Series) モデルには、外部時系列データが組み込まれていません。したがって、これらのモデルは、追加のデータセットを含めていても、説明可能性レポートを作成しません。
+ **Explainability には属性が必要** - 予測子には、関連する時系列、項目メタデータ、Holidays、または Weather Index の少なくとも 1 つを含める必要があります。
+ **予測子は 1 つの Explainability リソースに制限されている** - 1 つの予測子のために複数の Explainability リソースを作成することはできません。更新されたデータセットの Impact スコアに関心がある場合は、予測子を再トレーニングします。
+ **影響スコアがゼロの場合は影響がないことが示唆されている** - 属性の影響スコアが 0 の場合、その属性は予測値に大きな影響を与えません。
+ **失敗した Predictor Explainability ジョブの再試行** - Forecast が Predictor を正常に作成したが、Predictor Explainability ジョブが失敗した場合は、コンソールまたは CreateExplainability オペレーションで Predictor Explainability の作成を再試行できます。
+ **特定の時間ポイントおよび時系列の Impact スコアの作成不可** - 特定の時間ポイントおよび時系列の Impact スコアを表示するには、「[Forecast Explainability](forecast-explainability.md)」を参照してください。
+ **予測子の Explainability のビジュアライゼーションが作成後 90 日間利用可能** - 90 日後にビジュアライゼーションを表示するには、予測子を再トレーニングします。