さまざまな予想頻度のデータ集計 - Amazon Forecast

Amazon Forecast は、新規顧客では利用できなくなりました。Amazon Forecast の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

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

さまざまな予想頻度のデータ集計

予測子を作成するときは、予想頻度を指定する必要があります。予想頻度によって、予想における予測頻度が決まります。例えば、月次売上予想などです。Amazon Forecast の予測子は、指定した予想頻度よりも高いデータ頻度の予想を生成できます。例えば、データが毎日記録されている場合でも、週ごとの予想を生成できます。トレーニング中、Forecast は日次データを集計し、週ごとの予想頻度で予想を生成します。

時間境界

時間境界は、週の開始日など、時間単位の開始点を指定します。データを集計する前に、Amazon Forecast は予想頻度の時間単位に基づいてデータを調整します。これは、データと時間的境界との関係に基づいて行われます。

例えば、日単位の予想頻度を指定し、独自の時間境界は指定しない場合、Forecast は各時間ごとのレコードをその日付に基づいて調整します。1 日の開始は 0 時間です。1 日の開始 (0 時間) の定義が時間境界です。次に、Forecast は時間単位のレコードをその日の 1 つのレコードに集約します。

Forecast は、予想頻度の時間単位に基づくデフォルトの時間境界を使用します。自動予測子を作成する場合、カスタムの時間境界を指定できます。

カスタム時間境界とカスタム予想頻度の両方を指定すると、Forecast は予想頻度内のデータを集計し、カスタム時間境界に合わせます。予想頻度によってデータが集計される頻度が決まり、カスタム時間境界によって調整が行われる場所が決まります。例えば、データを毎日収集していて、Amazon Forecast でその月の 15 日に 1 年間の四半期予想を生成させたいとします。そのためには、予想頻度を 3 か月ごとに、カスタム期間を 15 に設定します。次の AWS Command Line Interface の例を参照してください。

aws forecast create-predictor \ --predictor-name predictor_name \ --data-config DatasetGroupArn="arn:aws:forecast:region:account:dataset-group/datasetGroupName" \ --forecast-horizon 4 \ --forecast-frequency 3M \ --time-alignment-boundary DayOfMonth=15

この例では、すべての日次データが 3 か月ごとの 15 日に合計されます (デフォルトの集計)。

この集計では日次データは必要なく、データが毎月またはそれ以上の頻度で収集されることだけであることに注意してください。

デフォルトの時間境界

次の表は、Forecast がデータを集計するときに使用するデフォルトの時間調整の境界を示しています。

頻度 境界
分の末尾 (45:00、06:00)
時間 時間の末尾 (09:00:00、13:00:00)
1 日の最初の 1 時間 (0 時間)
直近の月曜日
毎月 1 日
年始 (1 月 1 日)

時間境界の指定

注記

自動予測子には時間境界のみを指定できます。

日次、週次、月次、または年次の予測頻度で自動予測子を作成する場合、Forecast がデータを集計するために使用する時間境界を指定できます。業務カレンダーがデフォルトの時間境界と一致しない場合は、時間境界を指定できます。例えば、各月にその 3 日目から始まる月次予想を生成したい場合があります。時間境界を指定しない場合、Forecast は デフォルトの時間境界 のセットを使用します。

指定する時間境界単位は、予想頻度より 1 単位小さくなければなりません。次の表は、指定できる時間境界の単位と値を予想頻度別にまとめたものです。

境界値が 28 以下の Monthly 時間境界のみを指定できます。

予想頻度単位 境界の単位 境界の値
1 日 1 回 時間 0~23
毎週 曜日 月曜日から日曜日
月別 1 から 28
年次 1 月から 12 月

予測子を作成するときは、次のように時間調整の境界を指定します。プログラムで指定できるさまざまな時間境界単位と境界値については、「TimeAlignmentBoundary」を参照してください。

Console

予測子の時間調整境界を指定するには
  1. AWS Management Console にサインインして、Amazon Forecast コンソール (https://console.aws.amazon.com/forecast/) を開きます。

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

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

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

  5. 必須の [名前][予想頻度]、および [予想] フィールドに値を入力します。

  6. [時間調整境界] には、予測子がデータを集計するときに使用する時間境界を指定します。このリストの値は、選択した予想頻度によって異なります。

  7. [Start] (開始) を選択します。Forecast は、予測子の作成時に指定した時間調整境界を使用してデータを集計します。

AWS CLI

AWS CLI で予測子の時間調整境界を指定するには、create-predictor コマンドを使用します。time-alignment-boundary パラメータには、時間単位と境界値を指定します。次のコードは、毎週火曜日から始まる先の 5 週間を予測する自動予測子を作成します。

DayOfWeekDayOfMonth 値はすべて大文字でなければなりません。指定できるさまざまな時間境界単位と境界値については、「TimeAlignmentBoundary」を参照してください。必須とオプションのパラメータの詳細については、「CreateAutoPredictor」を参照してください。

aws forecast create-predictor \ --predictor-name predictor_name \ --data-config DatasetGroupArn="arn:aws:forecast:region:account:dataset-group/datasetGroupName" \ --forecast-horizon 5 \ --forecast-frequency W \ --time-alignment-boundary DayOfWeek=TUESDAY
Python

SDK for Python (Boto3) で予測子のタイムアライメント境界を指定するには、create_auto_predictor メソッドを使用します。TimeAlignmentBoundary パラメータには、時間単位をキー、境界値を値とするディクショナリを指定します。次のコードは、毎週火曜日から始まる先の 5 週間を予測する自動予測子を作成します。

DayOfWeekDayOfMonth 値はすべて大文字でなければなりません。指定できるさまざまな時間境界単位と境界値については、「TimeAlignmentBoundary」を参照してください。必須とオプションのパラメータの詳細については、「CreateAutoPredictor」を参照してください。

import boto3 forecast = boto3.client('forecast') create_predictor_response = forecast.create_auto_predictor( PredictorName = 'predictor_name', ForecastHorizon = 5, ForecastFrequency = 'W', DataConfig = { "DatasetGroupArn": "arn:aws:forecast:region:account:dataset-group/datasetGroupName" }, TimeAlignmentBoundary = { "DayOfWeek": "TUESDAY" } ) print(create_predictor_response['PredictorArn'])