產生預測 - Amazon Forecast

Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用該服務。了解更多」

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

產生預測

建立 Amazon 預測預測值之後,您就可以建立預測了。根據預設,預測會包含資料集群組中用來訓練預測值之每個 item (item_id) 的預測。但是,您可以指定用於產生預測的料號子集。

在您建立預測後,您可以將其 Amazon Simple Simple Storage SerSimple Storage Service (Amazon S3)。

建立預測測測測

您可以使用 Forecast 控制台AWS CLI或AWS SDK 建立預測。您的預測值的狀態必須是「作用中」,然後才能產生預測。

Console
建立預測測測測測測
  1. 登入,AWS Management Console並在 https://console.aws.amazon.com/forecast/ 開啟位於 Amazon Forecast Service Forecast。

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

  3. 在資料集群組的儀表板的 [產生預測] 底下,選擇 [建立預測]。便會顯示「建立預測」頁面。

  4. 在「建立 Forec ast」頁面上,針對「預測」詳細資訊,提供預測的名稱,並選擇您要用來建立預測的預測值。

  5. 對於「Fo recast」分位數,選擇性地指定產生機率預測的分位數。預設分位數是您在建立預測值期間指定的分位數。

  6. 選擇性地選擇「選取料號」的圓鈕,以指定用於產生預測的時間序列子集。

  7. 選擇性地新增預測的任何標籤。如需詳細資訊,請參閱標記 Amazon Forecast

  8. 選擇 Start (啟動)。即會顯示「預測」頁面。

    狀態」欄位會列出預測的狀態。等待 Amazon Forecast 完成創建預測。此程序需要幾分鐘或更長的時間來完成。建立預測後,狀態會轉換為「使用中」。

    現在您的預測已建立,您可以匯出預測。請參閱 匯出預測測測測

CLI

若要使用建立預測AWS CLI,請使用create-forecast指令。針對預測和預測值的 Amazon Resource Name (ARN)。對於forecast-types,選擇性地指定產生機率預測的分位數。預設值是您在建立預測值時指定的分位數。選擇性地新增預測的任何標籤。如需詳細資訊,請參閱標記 Amazon Forecast

如需必要參數和選用參數的資訊,請參閱CreateForecast

aws forecast create-forecast \ --forecast-name forecast_name \ --forecast-types 0.1 0.5 0.9 \ --predictor-arn arn:aws:forecast:region:account_number:predictor/predictorName \ --tags Key=key1,Value=value1 Key=key2,Value=value2
Python

如要使用適用於 Python (Boto3) 的 SDK 來建立預測測測測測測測測測測測測測測測測測測測測create_forecast 針對預測和預測值的 Amazon Resource Name (ARN)。對於ForecastTypes,選擇性地指定產生機率預測的分位數。預設值是您在建立預測值時指定的分位數。選擇性地新增預測的任何標籤。如需詳細資訊,請參閱標記 Amazon Forecast

如需必要參數和選用參數的資訊,請參閱CreateForecast

import boto3 forecast = boto3.client('forecast') create_forecast_response = forecast.create_forecast( ForecastName = "Forecast_Name", ForecastTypes = ["0.1", "0.5", "0.9"], # optional, the default types/quantiles are what you specified for the predictor PredictorArn = "arn:aws:forecast:region:accountNumber:predictor/predictorName", Tags = [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ] ) forecast_arn = create_forecast_response['ForecastArn'] print(forecast_arn)

指定時間序列

注意

時間序列是項目 (item_id) 和資料集中所有維度的組合。

若要指定時間序列清單,請將 CSV 檔案上傳按 item_id 和維度值識別時間序列到 S3 儲存貯體。您也必須定義結構描述中時間序列的屬性和屬性類型。

舉例來說,零售商可能想知道廣告活動如何影響特定商品 (item_id) 在特定商店位置的銷售 (store_location)。在這個使用案例中,您需要指定時間序列,即項目識別碼和儲存位置的組合。

下列 CSV 檔案會選取下列五個時間序列:

  1. 物品編號:001,商店位置:西雅圖

  2. 物品編號:001,商店位置:紐約

  3. 商品編號:002,商店位置:西雅圖

  4. 物品編號:002,商店位置:紐約

  5. 物品編號:003,商店位置:丹佛

001, Seattle 001, New York 002, Seattle 002, New York 003, Denver

結構描述將第一個資料行定義為item_id,第二欄定義為store_location

系統會針對您指定的任何時間序列 (不在輸入資料集中) 略過 Forecast 建立。預測匯出檔案不會包含這些時間序列或其預測值。

匯出預測測測測

在您建立預測後,您可以將其 Amazon S3 儲存貯體。匯出預測會將預測作為 CSV 檔案複製到 Amazon S3 儲存貯體,匯出的資料除了項目預測之外,還包括任何項目中繼資料資料集的所有屬性。您可以在匯出預測時指定 Parquet 檔案格式。

匯出預測的精細度 (例如每小時、每日或每週) 是您在建立預測值時指定的預測頻率。您可以選擇性地指定在資料寫入值區之前加密資料的AWS Key Management Service金鑰。

注意

匯出檔案可以直接從資料集匯入傳回資訊。如果匯入的資料包含公式或命令,這會使檔案容易受到 CSV 插入的影響。因此,匯出的檔案可能會提示安全性警告。若要避免惡意活動,請在讀取匯出檔案時停用連結和巨集。

Console
若要匯出預測
  1. 在導覽窗格中的資料集群組下,選擇 Forecasts (預測)

  2. 選擇預測的選項按鈕,然後選擇「建立預測匯出」。Create forecast export (建立預測匯出) 頁面隨即顯示。

  3. Create forecast export (建立預測匯出) 頁面上,針對 Export details (匯出詳細資訊),提供下列資訊。

    • 匯出名稱 — 輸入預測匯出工作的名稱。

    • 產生預測 — 從下拉式選單中,選擇您在中建立的預測測測測測測測測測測Step 3: Create a Forecast

    • IAM 角色 — 保留預設的 [輸入自訂 IAM 角色 ARN],或選擇 [建立新角色],讓 Amazon Forecast 為您建立角色。

    • 自訂 IAM 角色 ARN — 如果您要輸入其 Amazon Resource Name (ARN)為 Amazon Forecast(IAM 控制台)創建 IAM 角色

    • KMS 金鑰 ARN — 如果您使AWS Key Management Service用儲存貯體加密,請提供金AWS KMS鑰的 Amazon Resource Name (ARN)。

    • S3 預測匯出位置 — 使用下列格式輸入儲存貯體中 Amazon Simple Storage Service (Amazon S3) 儲存貯體或資料夾的位置:

      s3://<name of your S3 bucket>/<folder path>/

  4. 選擇 Create forecast export (建立預測匯出)。此時將會顯示 my_forecast 頁面。

    等待 Amazon Forecast 完成導出預測。此程序需要幾分鐘或更長的時間來完成。匯出預測後,狀態會轉換為作用中,您可以在 Amazon S3 儲存貯體中找到預測檔案。

CLI

若要使用export-forecast-job指令匯出預測。AWS CLI為預測匯出工作指定名稱、指定要匯出之預測的 ARN,以及選擇性地新增任何標籤。對於destination,請指定輸出 Amazon S3 儲存貯體的路徑、您在其中建立的 IAM 角色的 ARN為 Amazon Forecast(IAM 控制台)創建 IAM 角色,以及如果您使用AWS KMS金鑰進行儲存貯體加密,請指定金鑰的 ARN。

如需有關必要參數和選用參數的詳細資訊,請參閱CreateForecastExportJob作業。

forecast create-forecast-export-job \ --forecast-export-job-name exportJobName \ --forecast-arn arn:aws:forecast:region:acctNumber:forecast/forecastName \ --destination S3Config="{Path='s3://bucket/folderName',RoleArn='arn:aws:iam::acctNumber:role/Role, KMSKeyArn='arn:aws:kms:region:accountNumber:key/keyID'}" --tags Key=key1,Value=value1 Key=key2,Value=value2
Python

如要使用適用 SDK for Python (Boto3) 匯出預測測測測測測測測測測測測測測測測測測測測測測測export_forecast_job 為預測匯出工作指定名稱、指定要匯出之預測的 ARN,以及選擇性地新增任何標籤。對於Destination,請指定輸出 Amazon S3 儲存貯體的路徑、您在其中建立的 IAM 角色的 ARN為 Amazon Forecast(IAM 控制台)創建 IAM 角色,以及如果您使用AWS KMS金鑰進行儲存貯體加密,請指定金鑰的 ARN。

如需有關必要參數和選用參數的詳細資訊,請參閱CreateForecastExportJob作業。

import boto3 forecast = boto3.client('forecast') export_forecast_response = forecast.create_forecast_export_job( Destination = { "S3Config": { "Path": "s3://bucketName/folderName/", "RoleArn": "arn:aws:iam::accountNumber:role/roleName", "KMSKeyArn": "arn:aws:kms:region:accountNumber:key/keyID" } }, ForecastArn = "arn:aws:forecast:region:accountNumber:forecast/forecastName", ForecastExportJobName = "export_job_name", Tags = [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ] ) forecast_export_job_arn = export_forecast_response["ForecastExportJobArn"] print(forecast_export_job_arn)

查測測測測測

您可以使用QueryForecast作業查詢預測。根據預設,會傳回預測的完整範圍。您可以在完整預測中請求特定的日期範圍。

查詢預測時,您必須指定篩選條件。篩選條件是索引鍵/值組。索引鍵是來自建立預測的資料集之一的結構描述屬性名稱 (包括預測維度)。是所指定索引鍵的有效值。您可以指定多個索引鍵/值組。傳回的預測只會包含滿足所有條件的項目。

冷啟 Forecast

零售、製造業或消費品包裝等產業客戶面臨的一個共同挑戰,就是針對沒有歷史資料的料號產生預測。這種情況被稱為冷啟動預測,通常在企業將新產品引入市場,車上品牌或目錄,或在新地區交叉銷售產品時遇到。

Amazon Forecast 需要項目中繼資料才能執行冷啟動預測。利用項目中繼資料中找到的項目特性,Forecast 可明確識別項目中繼資料中與沒有歷史資料的項目類似的項目。「Forecast」會使用現有料號的需求特性來產生新料號的開始預測。

Amazon Forecast 會將冷啟動項目識別為包含在項目中繼資料檔案中但不包含在目標時間序列檔案中的項目。若要正確識別 coldstart 項目,請確定 coldstart 項目的項目 ID 已在項目中繼資料檔案中輸入為列,且未在目標時間序列檔案中輸入該項目。對於多個 coldstart 項目,請在項目中繼資料檔案中輸入每個項目 ID 作為單獨的列。如果 coldstart 項目沒有項目 ID,您可以使用任何小於 64 個字元且資料集中其他項目尚未使用的英數組合。

冷啟動預測需要項目中繼資料資料集和 AutoPredictor.