不同預測頻率的資料彙總 - Amazon Forecast

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

不同預測頻率的資料彙總

建立預測值時,您必須指定預測頻率。預測頻率決定預測中預測的頻率。例如,每月銷售預測。Amazon Forecast 值可針對高於您指定的預測頻率的資料頻率產生預測。例如,即使每天記錄資料,您也可以產生每週預測。在訓練期間,「Forecast」會彙總每日資料,以每週預測頻率產生預測。

時間邊界

時間界限指定一個時間單位的開始,例如一周開始的哪一天。在彙總資料之前,Amazon Forecast 會根據預測頻率的時間單位對齊資料。它會根據資料與時間邊界的關係來執行此作業。

例如,如果您指定每日 Forecast 頻率,但不指定自己的時間界限,則「預測」會根據每小時記錄所屬的日期對齊每小時記錄。每天從 0 小時開始。當天開始時間的定義,0 小時,是時間邊界。然後「Forecast」會將每小時記錄彙總至當天的單一記錄。

「Forecast」會根據預測頻率的時間單位使用預設時間界限。如果您建立自 auto 預測值,則您可以指定自訂時間邊界。

如果您同時指定自訂時間邊界和自訂 Forecast 頻率,則預測會在預測頻率內彙總您的資料,並將其與自訂時間邊界對齊。預測頻率會決定資料彙總的頻率,而自訂時間邊界則決定對齊的位置。例如,假設您的資料是每天收集的,而您希望 Amazon Forecast 測在該月 15 日產生一年的季度預測。若要這樣做,請將預測頻率設定為每 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

在此範例中,所有每日資料都會加總 (預設彙總) 到每三個月的 15 日。

請注意,此彙總不需要每日資料,只需要每月或更頻繁地收集資料。

預設時間界限

下表列出彙總資料時,列出 Forecast 所述的預設時間對齊邊界限。

頻率 邊界
分鐘 一分鐘的最後一個整點 (45:00、06:00)
小時 一小時的最後一個整點 (09:00:00、13:00:00)
一天中的第一個小時(小時 0)
最近的星期一
一個月的第一天
一年的第一天 (1 月 1 日)

指定時間界限

注意

您只能指定 auto 預測值的時間邊界。

當您建立具有每日、每週、每月或每年 Forecast 頻率的 auto 預測值時,您可以指定預測用於彙總資料的時間界限。如果您的商務日曆不符合預設時間界限,您可以指定時間界限。例如,您可能想要產生每個月從該月的第三天開始的每月預測。如果未指定時間邊界,則 Forecast 將使用一組預設時間界限

您指定的時間界限單位必須比預測頻率更精細一個單位。下表列出時間界限單位以及您可以指定的值,並依預測頻率組織。

您只能指定邊界值為28或小於的Monthly時間邊界。

Forecast 頻率單位 邊界單位 邊界值
每日 小時 0–23
每週 週中的日 週一至週日
每月 月中的日 1 至 28
每年 一月至十二月

您可以在建立預測值時指定時間對齊邊界,如下所示。如需有關可以透過程式設計方式指定的不同時間界限單位和邊界值的資訊,請參閱TimeAlignmentBoundary

Console

指定預測值的時間對齊邊界
  1. 登入,AWS Management Console並在 https://console.aws.amazon.com/forecast/ 開啟 Amazon Forecast 主控台。

  2. 在資料集群組中,選擇您的資料集群組。

  3. 在導覽窗格中,選擇預測值

  4. 選擇訓練新的預測值

  5. 提供必要「名稱」、「Fo recast 頻率」及「Fo recast 總時程」欄位的值。

  6. 對於時間對齊邊界,指定預測值在彙總資料時將使用的時間界限。此清單中的值取決於您選擇的「Fo recast 頻率」。

  7. 選擇 Start (啟動)。Forecast 將使用您在建立預測值時指定的時間對齊邊界來彙總資料。

AWS CLI

若要使用指定預測值的時間對齊邊界AWS CLI,請使用指create-predictor令。對於time-alignment-boundary參數,請提供時間和邊界值的單位。下面的代碼創建一個 auto 預測器,對 future 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參數,請提供以時間單位作為索引鍵和邊界值做為值的字典。下面的代碼創建一個 auto 預測器,對 future 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'])