

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

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

# 予測子のトレーニング
<a name="howitworks-predictor"></a>

予測子は、ターゲットの時系列、関連する時系列、アイテムメタデータ、および含める追加のデータセットを使用してトレーニングされた Amazon Forecast のモデルです。予測子を使用して、時系列データに基づいて予測を生成できます。

デフォルトでは、Amazon Forecast は AutoPredictor を作成します。Forecast はデータセット内の各時系列にアルゴリズムの最適な組み合わせを適用します。

**Topics**
+ [予測子の作成](#creating-predictors)
+ [AutoPredictor へのアップグレード](#upgrading-autopredictor)
+ [さまざまな予想頻度のデータ集計](data-aggregation.md)
+ [追加のデータセットの使用](#using-additional-datasets)
+ [レガシー予測子の使用](#legacy-predictors)
+ [予測精度の評価](metrics.md)
+ [予測子の再トレーニング](retrain-predictors.md)
+ [Weather Index](weather.md)
+ [Holidays の特徴量化](holidays.md)
+ [Predictor Explainability](predictor-explainability.md)
+ [予測子のモニタリング](predictor-monitoring.md)
+ [Amazon Forecast アルゴリズム](aws-forecast-choosing-recipes.md)

## 予測子の作成
<a name="creating-predictors"></a>

Amazon Forecast は、予測子をトレーニングするために次の入力を必要とします。
+ **データセットグループ** – ターゲット時系列データセットを含める必要があるデータセットグループ。ターゲット時系列データセットには、ターゲット属性 (`item_id`) とタイムスタンプ属性、および任意のディメンションが含まれます。関連する時系列とアイテムメタデータはオプションです。詳細については、「[データセットのインポート](howitworks-datasets-groups.md)」を参照してください。
+ **予測頻度** – 予測の粒度 (毎時、毎日、毎週など)。Amazon Forecast では、頻度の単位と値を指定することで、予想の正確な粒度を判断できます。整数値のみ指定できます。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/forecast/latest/dg/howitworks-predictor.html)

  例えば、隔週の予想が必要な場合、頻度の単位は週に、値は 2 です。または、四半期ごとの予想が必要な場合は、頻度の単位は 1 か月で、値は 3 です。

  予想頻度よりも高い頻度でデータが収集されると、そのデータは予想頻度に集約されます。これには、直近の時系列と関連する時系列データが含まれます。集計詳細については、「[さまざまな予想頻度のデータ集計](data-aggregation.md)」を参照してください。
+ **予測期間** – 予測されるタイムステップの数。

次のオプション入力の値を設定することもできます。
+  **時間調整境界** — Forecast がデータを集約し、指定した予想頻度に合わせた予想を生成するために使用する時間境界です。集計詳細については、「[さまざまな予想頻度のデータ集計](data-aggregation.md)」を参照してください。時間境界の指定について詳しくは、「[時間境界](data-aggregation.md#time-boundaries)」を参照してください。
+ **予測ディメンション** – ディメンションは、ターゲット時系列データセットのオプションの属性であり、ターゲット値 (`item_id`) と組み合わせて使用して個別の時系列を作成できます。
+ **予測タイプ** – 予測子の評価に使用される分位数。
+ **最適化メトリクス** – 予測子を最適化するために使用される精度メトリクス。
+ **追加のデータセット** – Weather Index や Holidays などのビルトインの Amazon Forecast データセット。

ソフトウェア開発キット (SDK) または Amazon Forecast コンソールを使用して、予測子を作成できます。

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

1. **[開始]** を選択します。

追加のデータセットについては、[Weather Index](weather.md) および [Holidays の特徴量化](holidays.md) を参照してください。予測タイプと最適化メトリクスのカスタマイズの詳細については、「[予測精度の評価](metrics.md)」を参照してください。

------
#### [ AWS CLI ]

で自動予測子を作成するには AWS CLI、 `create-predictor` コマンドを使用します。次のコードでは、今後 14 日 の予測を行う自動予測子を作成します。

予測子の名前と、トレーニングデータを含むデータセットグループの Amazon リソースネーム (ARN) を指定します。必要に応じて、予測期間と予想頻度を変更します。必要に応じて、予測子に任意のタグを追加します。詳細については、「[Amazon Forecast のリソースのタグ付け](tagging-forecast-resources.md)」を参照してください。

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

```
aws forecast create-predictor \
--predictor-name {{predictor_name}} \
--data-config DatasetGroupArn="arn:aws:forecast:{{region}}:{{account}}:dataset-group/{{datasetGroupName}}" \
--forecast-horizon 14 \
--forecast-frequency D \
--tags Key={{key1}},Value={{value1}} Key={{key2}},Value={{value2}}
```

予想タイプと最適化メトリクスのカスタマイズの詳細については、「[予測精度の評価](metrics.md)」を参照してください。`DataConfig` データ型内で Weather Index および Holidays の追加のデータセットが定義されています。追加のデータセットについては、[Weather Index](weather.md) および [Holidays の特徴量化](holidays.md) を参照してください。

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

SDK for Python (Boto3) を使用して自動予測子を作成するには、`create_auto_predictor` メソッドを使用します。次のコードでは、今後 14 日 の予測を行う自動予測子を作成します。

予測子の名前と、トレーニングデータを含むデータセットグループの Amazon リソースネーム (ARN) を指定します。必要に応じて、予測期間と予想頻度を変更します。必要に応じて、予測子に任意のタグを追加します。詳細については、「[Amazon Forecast のリソースのタグ付け](tagging-forecast-resources.md)」を参照してください。

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

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

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = '{{predictor_name}}',
    ForecastHorizon = 14,
    ForecastFrequency = 'D',
    DataConfig = {
      "DatasetGroupArn": "arn:aws:forecast:{{region}}:{{account}}:dataset-group/{{datasetGroupName}}"
    },
    Tags = [ 
      { 
         "Key": "{{key1}}",
         "Value": "{{value1}}"
      },
      { 
         "Key": "{{key2}}",
         "Value": "{{value2}}"
      }
    ]
)
print(create_predictor_response['PredictorArn'])
```

予想タイプと最適化メトリクスのカスタマイズの詳細については、「[予測精度の評価](metrics.md)」を参照してください。`DataConfig` データ型内で Weather Index および Holidays の追加のデータセットが定義されています。追加のデータセットについては、[Weather Index](weather.md) および [Holidays の特徴量化](holidays.md) を参照してください。

------

## AutoPredictor へのアップグレード
<a name="upgrading-autopredictor"></a>

**Python ノートブック**  
予測子を AutoPredictor にアップグレードするためのステップバイステップガイドについては、「[Upgrading a predictor to AutoPredictor](https://github.com/aws-samples/amazon-forecast-samples/blob/main/notebooks/basic/Upgrading_to_AutoPredictor/UpgradeToAutoPredictor.ipynb)」(予測子を AutoPredictor にアップグレードする) を参照してください。

AutoML または手動選択 (CreatePredictor) で作成された予測子は、AutoPredictor にアップグレードできます。既存の予測子を AutoPredictor にアップグレードすると、関連するすべての予測子構成設定が転送されます。

AutoPredictor にアップグレードした後も、元の予測子はアクティブなままで、アップグレードされた予測子には個別の Predictor ARN があります。これにより、2 つの予測子間の精度メトリクスを比較でき、元の予測子を使用して予測を生成できます。

ソフトウェア開発キット (SDK) または Amazon Forecast コンソールを使用して、予測子をアップグレードできます。

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

**予測子をアップグレードするには**

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

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

1. アップグレードする予測子を選択し、**[Upgrade]** (アップグレード) を選択します。

1. アップグレードされた予測子の一意の名前を設定します。

1. **[Upgrade to AutoPredictor]** (AutoPredictor にアップグレード) を選択します。

------
#### [ CLI ]

を使用して予測子をアップグレードするには AWS CLI、 `create-predictor`メソッドを使用しますが、予測子名と の値 `reference-predictor-arn` (アップグレードする予測子の ARN) *のみ*を指定します。

```
aws forecast create-predictor \
--predictor-name {{predictor_name}} \
--reference-predictor-arn arn:aws:forecast:{{region}}:{{account}}:predictor/{{predictorName}}
```

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

SDK for Python (Boto3) を使用して予測子をアップグレードするには、`create_auto_predictor` メソッドを使用します。ただし、予測子の名前と `ReferencePredictorArn` の値 (アップグレードする予測子の ARN) のみを指定します。

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

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = '{{predictor_name}}',
    ReferencePredictorArn = 'arn:aws:forecast:{{region}}:{{account}}:predictor/{{predictorName}}'
)
print(create_predictor_response['PredictorArn'])
```

------

## 追加のデータセットの使用
<a name="using-additional-datasets"></a>

Amazon Forecast には、予測子を作成するときに Weather Index と Holidays を含めることができます。Weather Index は気象情報をモデルに組み込み、Holidays は祝祭日に関する情報を組み込みます。

Weather Index には、ターゲット時系列データセットの「geolocation」属性と、タイムスタンプのタイムゾーンに関する情報が必要です。詳細については、「[Weather Index](weather.md)」を参照してください。

Holidays には、250 か国を超える祝祭日情報が含まれています。詳細については、「[Holidays の特徴量化](holidays.md)」を参照してください。

## レガシー予測子の使用
<a name="legacy-predictors"></a>

**注記**  
既存の予測子を AutoPredictor にアップグレードするには、「[AutoPredictor へのアップグレード](#upgrading-autopredictor)」を参照してください。

AutoPredictor は、Amazon Forecast で予測子を作成するために推奨されるデフォルトのメソッドです。AutoPredictor は、データセット内の各時系列に最適なアルゴリズムの組み合わせを適用することにより、予測子を作成します。

AutoPredictor で作成された予測子は、通常、AutoML または手動選択で作成された予測子よりも正確です。Forecast Explainability および予測子の再トレーニング機能は、AutoPredictor で作成された予測子でのみ使用できます。

Amazon Forecast は、次の方法でレガシー予測子を作成することもできます。

1. **AutoML** - Forecast は、最もパフォーマンスの高いアルゴリズムを見つけて、それをデータセット全体に適用します。

1. **手動選択** - データセット全体に適用される単一のアルゴリズムを手動で選択します。

Software Development Kit (SDK) を使用して、レガシー予測子を作成できる場合があります。

------
#### [ SDK ]

**AutoML を使用するには**

[`CreatePredictor`](API_CreatePredictor.md) オペレーションを使用して、`PerformAutoML` の値を `"true"` に設定します。

```
{
    ...
    "PerformAutoML": "true",
}
```

AutoML を使用する場合、`AlgorithmArn`、`HPOConfig`、`TrainingParameters` といった CreatePredictor パラメータに値を設定することはできません。

------