

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

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

# 予測子のモニタリング
<a name="predictor-monitoring"></a>

**注記**  
 予測子モニタリングを有効にすると、Amazon Forecast は、予想データを削除した後でも、予測子のパフォーマンス分析のために各予想のデータを保存します。このデータを削除するには、モニタリングリソースを削除します。

 予測子モニタリングにより、予測子のパフォーマンスが時間の経過とともにどのように変化するかを確認できます。経済発展や顧客行動の変化など、さまざまな要因が業績の変化を引き起こす可能性があります。

 例えば、ターゲットが `sales` であり、`price` および `color` といった関連する 2 つの属性がある予測シナリオについて考えてみます。最初の予測子を作成してから数か月以内に、特定の色が予想外に顧客の間で人気が高まる可能性があります。これにより、この属性を持つ商品の売り上げが伸びる可能性があります。この新しいデータは、予測子のパフォーマンスと、予測子が生成する予想の精度に影響を与える可能性があります。

 予測子モニタリングを有効にすると、予想を生成してより多くのデータをインポートするにつれて、予測子のパフォーマンスが Forecast によって分析されます。Forecast は、新しいデータを以前の予想と比較して、パフォーマンスの変化を検出します。Forecast コンソールでは、さまざまな精度メトリクスが時間の経過と共にどのように変化したかを示すグラフを表示できます。また、[ListMonitorEvaluations](API_ListMonitorEvaluations.md) オペレーションによってモニタリング結果を取得することもできます。

 予測子モニタリングは、予測子を再トレーニングする時期かどうかを判断するのに役立ちます。パフォーマンスが低下している場合は、より新しいデータで予測子を再トレーニングしたほうがいいかもしれません。予測子を再トレーニングすることを選択した場合、新しい予測子には前の予測子のモニタリングデータが含まれます。また、予測子モニタリングを使用して、実稼働環境に関するコンテキストデータを収集したり、さまざまな実験の比較を行ったりすることもできます。

予測子モニタリングは AutoPredictors でのみ使用できます。既存のレガシー予測子を AutoPredictor にアップグレードできます。「[Upgrading to AutoPredictor](howitworks-predictor.md#upgrading-autopredictor)」(AutoPredictor へのアップグレード) を参照してください。

**Topics**
+ [予測子モニタリングワークフロー](#predictor-monitoring-workflow)
+ [予測子モニタリングを有効にする](enabling-predictor-monitoring.md)
+ [モニタリング結果の表示](predictor-monitoring-results.md)
+ [制約事項とベストプラクティス](#predictor-monitoring-best-practices)

## 予測子モニタリングワークフロー
<a name="predictor-monitoring-workflow"></a>

予測子のモニタリング結果を得るには、まず予測子を使用して予測を生成し、さらにデータをインポートする必要があります。モニタリングワークフローは次のとおりです。

1. 自動予測子の予測子モニタリングを有効にします。
   + モニタリングを有効にして新しい予測子を作成します。「[新しい予測子の予測子モニタリングを有効にする](enabling-predictor-monitoring.md#enabling-predictor-monitoring-new)」を参照してください。
   + または、既存の予測子のモニタリングを有効にします。「[既存の予測子の予測子モニタリングを有効にする](enabling-predictor-monitoring.md#enabling-predictor-monitoring-existing)」を参照してください。

1. 予測子を使用して 1 つ以上の予想を生成します。

1. 追加のデータをインポートする。Forecast へのデータのインポートの詳細については、「[データセットのインポート](howitworks-datasets-groups.md)」を参照してください。

1. 予測子のモニタリング結果を表示する:
   + 予測子の **[モニタリング]** タブで結果を表示できます。
   + また、[ListMonitorEvaluations](API_ListMonitorEvaluations.md) オペレーションによってモニタリング結果を取得することもできます。

   詳細については、「[モニタリング結果の表示](predictor-monitoring-results.md)」を参照してください。

# 予測子モニタリングを有効にする
<a name="enabling-predictor-monitoring"></a>

予測子を作成するとき、または既存の予測子に対して予測子モニタリングを有効にすることができます。

**注記**  
予測子モニタリングは AutoPredictors でのみ使用できます。既存のレガシー予測子を AutoPredictor にアップグレードできます。「[Upgrading to AutoPredictor](howitworks-predictor.md#upgrading-autopredictor)」(AutoPredictor へのアップグレード) を参照してください。

**Topics**
+ [新しい予測子の予測子モニタリングを有効にする](#enabling-predictor-monitoring-new)
+ [既存の予測子の予測子モニタリングを有効にする](#enabling-predictor-monitoring-existing)

## 新しい予測子の予測子モニタリングを有効にする
<a name="enabling-predictor-monitoring-new"></a>

コンソール、、SDK AWS CLI、および [CreateAutoPredictor](API_CreateAutoPredictor.md)オペレーションを使用して、新しい予測子の予測子モニタリングを有効にできます。 AWS SDKs

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

**予測子モニタリングを有効にするには**

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. **[予測子の設定]** のセクションで、**[モニタリングを有効化]** を選択します。

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

1. **[開始]** を選択して、モニタリングを有効にした自動予測子を作成します。予測子を使用して予測を生成し、さらにデータをインポートすると、モニタリング結果が表示されます。

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

SDK for Python (Boto3) で新しい予測子の予測子モニタリングを有効にするには、`create_auto_predictor` メソッドを使用し、`MonitoringConfig` にモニター名を指定します。

次のコードでは、今後 24 (`ForecastHorizon`) 日 (`ForecastFrequency`) の予測を行う自動予測子を作成し、`MyPredictorMonitor` が `MonitorName` として指定されています。予想を生成し、さらにデータをインポートすると、予測子モニタリング結果が表示されます。結果の取得の詳細については、「[モニタリング結果の表示](predictor-monitoring-results.md)」を参照してください。

 予測子作成の必須とオプションのパラメータの詳細については、「[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"
    },
    MonitorConifg = {
        "MonitorName": "MyMonitorName"
    }
)
```

------

## 既存の予測子の予測子モニタリングを有効にする
<a name="enabling-predictor-monitoring-existing"></a>

コンソール、、および AWS SDKs を使用して AWS CLI、既存の予測子の予測子モニタリングを有効にできます。

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

**予測子モニタリングを有効にするには**

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

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

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

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

1. **[モニタリング]** タブに移動します。

1. **[モニタリングの詳細]** セクションで、**[モニタリングを開始]** を選択します。

   **[モニタリングステータス]** が [アクティブ] の場合、予測子モニタリングが有効です。予想を生成し、さらにデータをインポートすると、予測子モニタリング結果が表示されます。詳細については「[モニタリング結果の表示](predictor-monitoring-results.md)」を参照してください。

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

SDK for Python (Boto3) で既存の予測子の予測子モニタリングを有効にするには、`create_monitor` メソッドを使用します。モニタリングの名前を指定し、`ResourceArn` にモニタリングする予測子の Amazon リソースネーム (ARN) を指定します。`describe_monitor` メソッドを使用してモニター ARN を指定し、モニターのステータスを取得します。予想を生成し、さらにデータをインポートすると、予測子モニタリング結果が表示されます。詳細については、「[モニタリング結果の表示](predictor-monitoring-results.md)」を参照してください。

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

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

create_monitor_response = forecast.create_monitor(
    MonitorName = 'monitor_name',
    ResourceArn = 'arn:aws:forecast:region:accountNumber:predictor/predictorName'
)

monitor_arn = create_monitor_response['MonitorArn']

describe_monitor_response = forecast.describe_monitor(
    MonitorArn = monitor_arn
)
print("Monitor status: " + describe_monitor_response['Status'])
```

------

# モニタリング結果の表示
<a name="predictor-monitoring-results"></a>

予想を生成し、さらにデータをインポートすると、予測子モニタリング結果が表示されます。Forecast コンソールを使用して結果を可視化することも、[ListMonitorEvaluations](API_ListMonitorEvaluations.md) オペレーションを使用して結果をプログラム的に取得することもできます。

 Forecast コンソールには、各[予測子メトリクス](metrics.md)の結果のグラフが表示されます。グラフには、予測子と予測子のイベント (再トレーニングなど) の存続期間における各メトリクスの変化が含まれます。

 [ListMonitorEvaluations](API_ListMonitorEvaluations.md) オペレーションでは、さまざまな期間のメトリクス結果と予測イベントが返されます。

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

**予測子のモニタリング結果を表示するには**

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

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

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

1. 予測子を選び、**[モニタリング]** タブを選択します。
   +  **[モニタリング結果]** セクションには、さまざまな精度メトリクスが時間の経過とともにどのように変化したかが示されます。ドロップダウンリストを使用して、グラフが追跡する指標を変更します。
   + **[モニタリング履歴]** セクションには、結果で追跡されたさまざまなイベントの詳細が一覧表示されます。

    以下は、予測子の `Avg wQL` スコアが時間の経過とともにどのように変化したかを示すグラフの例です。このグラフでは、`Avg wQL` 値が時間とともに増加していることがわかります。この増加は、予測子の精度が低下していることを示しています。この情報を使用して、モデルを再検証して対策を講じる必要があるかどうかを判断します。  
![\[Graph showing increasing Avg wQL score over time, indicating decreasing predictor accuracy.\]](http://docs.aws.amazon.com/ja_jp/forecast/latest/dg/images/predictor-drift.png)

------
#### [ SDK for Python (Boto3) ]

 SDK for Python (Boto3) でモニタリング結果を取得するには、`list_monitor_evaluations` メソッドを使用します。モニターの Amazon リソースネーム (ARN) を指定し、オプションで取得する結果の最大数を `MaxResults` パラメータで指定します。オプションで `Filter` を指定して結果をフィルタリングします。`SUCCESS` または `FAILURE` のいずれかの `EvaluationState` で評価をフィルタリングできます。次のコードでは、モニタリング評価が最大 20 回成功します。

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

monitor_results = forecast.list_monitor_evaluations(
    MonitorArn = 'monitor_arn',
    MaxResults = 20,
    Filters = [ 
      { 
         "Condition": "IS",
         "Key": "EvaluationState",
         "Value": "SUCCESS"
      }
   ]
)
print(monitor_results)
```

 以下に、JSON レスポンスの例を示します。

```
{
  "NextToken": "string",
  "PredictorMonitorEvaluations": [
    {
      "MonitorArn": "MonitorARN",
      "ResourceArn": "PredictorARN",
      "EvaluationTime": "2020-01-02T00:00:00Z",
      "EvaluationState": "SUCCESS",
      "WindowStartDatetime": "2019-01-01T00:00:00Z",
      "WindowEndDatetime": "2019-01-03T00:00:00Z",
      "PredictorEvent": {
        "Detail": "Retrain",
        "Datetime": "2020-01-01T00:00:00Z"
      },
      "MonitorDataSource": {
        "DatasetImportJobArn": "arn:aws:forecast:region:accountNumber:dataset-import-job/*",
        "ForecastArn": "arn:aws:forecast:region:accountNumber:forecast/*",
        "PredictorArn": "arn:aws:forecast:region:accountNumber:predictor/*",
      
      },
      "MetricResults": [
        {
          "MetricName": "AverageWeightedQuantileLoss",
          "MetricValue": 0.17009070456599376
        },
        {
          "MetricName": "MAPE",
          "MetricValue": 0.250711322309796
        },
        {
          "MetricName": "MASE",
          "MetricValue": 1.6275608734888485
        },
        {
          "MetricName": "RMSE",
          "MetricValue": 3100.7125081405547
        },
        {
          "MetricName": "WAPE",
          "MetricValue": 0.17101159704738722}
      ]
    }
  ]
}
```

------

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

予測子モニタリングを使用する場合は、次の制約事項とベストプラクティスを考慮してください。
+ **予測子モニタリングは自動予測子でのみ使用可能** - AutoML で、または手動選択を通じて作成されたレガシー予測子のモニタリングを有効にすることはできません。「[Upgrading to AutoPredictor](howitworks-predictor.md#upgrading-autopredictor)」(AutoPredictor へのアップグレード) を参照してください。
+ **予測子モニタリングは自動予測子ごとに異なる** - 自動予測子ごとに作成できるモニターは 1 つだけです。
+ **予測子モニタリングには新しいデータと予測の生成が必要** — 新しい予測の生成に使用される新しいデータをインポートすると、予測子モニタリングの結果が利用可能になります。新しいデータをインポートしない場合や、新しくインポートしたデータが予測期間全体を網羅していない場合、モニタリング結果は表示されません。
+ **予測子モニタリングには新しい予測が必要** — モニタリング結果を生成するには、新しい予測を継続的に生成する必要があります。新しい予測を生成しなければ、モニタリング結果は表示されません。
+  **Amazon Forecast は、予測子のパフォーマンス分析のために各予想のデータを保存** - 予測を削除しても、Forecast でこれらのデータは保存されます。これらのデータを削除するには、関連するモニターを削除します。
+ [StopResource](API_StopResource.md) オペレーションにより、現在の評価と将来の評価がすべて停止されます。
+ avgWQL メトリクスは、平均以外の分位数の予想を生成する場合にのみ使用できます。
+ 進行中のモニター評価は [ListMonitorEvaluations](API_ListMonitorEvaluations.md) オペレーションには表示されません。