預測器解釋 - Amazon Forecast

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

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

預測器解釋

預測器解釋功能可協助您更好地瞭解資料集中的屬性如何影響您的目標變數。「Forecast」使用稱為「影響分數」的量度來量化每個屬性的相對影響,並判斷它們是否增加或減少預測值。

例如,假設目標所為 sales 且有兩個相關屬性的預測案例:pricecolor。Forecast 可能會發現項目的價格會對銷售產生重大影響(高影響力分數),而該項目的顏色效果可以忽略不計(低影響分數)。

若要啟用預測器解釋功能,您的預測值必須至少包含下列其中一項:相關時間序列、項目中繼資料或其他資料集,例如假日和天氣索引。如需詳細資訊,請參閱限制和最佳做法

若要為特定時間序列和時間點建立影響評分,請使用「Forecast 解釋性」而非「預測器解釋性」。請參閱 Forecast 解釋性。

解譯影響分數

影響分數會衡量屬性對預測值的相對影響。例如,如果「價格」屬性的影響分數是「商店位置」屬性的兩倍,則可以得出結論,商品價格對預測值的影響是商店位置的兩倍。

影響分數也會提供屬性是否增加或減少預測值的相關資訊。在控制台中,這是由兩個圖表表示。具有藍色長條的屬性會增加預測值,而具有紅色長條的屬性則會減少預測值。

Bar graphs showing Price and Promo increasing impact scores, StoreLocation decreasing impact score.

在主控台中,影響分數範圍從 0 到 1,其中分數 0 表示沒有影響,而接近 1 的分數表示有重大影響。在 SDK 中,影響分數範圍從 -1 到 1,其中符號表示影響的方向。

值得注意的是,影響力分數衡量的是屬性的相對影響,而不是絕對影響。因此,影響分數無法用於確定特定屬性是否可以改善模型的準確性。如果某個屬性的影響分數較低,不一定表示它對預測值的影響較低; 這表示與它對預測值的影響比預測器使用的其他屬性要小。

建立預測器可解釋性

注意

您最多可以為每個預測值建立一個預測器可解釋性

啟用預測器解釋功能時,Amazon Forecast 會計算資料集中所有屬性的影響分數。影響評分可解譯為影響屬性對整體預測值的影響。您可以在建立預測值時啟用預測器說明功能,也可以在建立預測值之後啟用此功能。

為新的預測值啟用預測值解釋功能

在建立新的預測值時啟用預測值解釋功能將同時建立預測值資源和可解釋性資源。您可以使用軟體開發套件 (SDK) 或 Amazon 預測主控台為新預測器啟用預測器解釋功能。

Console

若要啟用預測程式說明

  1. 登錄到 AWS Management Console 並打開 Amazon Forecast 控制台 https://console.aws.amazon.com/forecast/.

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

  3. 在功能窗格中,選擇 [預測值]。

  4. 選擇訓練新的預測值

  5. 在 [預測值組態] 區段中,選擇 [啟用解釋功能]

  6. 提供下列必要欄位的值:

    • 名稱-唯一的預測值名稱。

    • Fo@@ recast 頻率-預測的粒度。

    • Forecast 總時程-要預測的時間步長數。

  7. 選擇 Start (啟動)

Python

若要使用適用於 Python (Boto3) 的 SDK 啟用新預測值的解釋功能,請使用該create_auto_predictor方法並設定為 true。 ExplainPredictor

下列程式碼會建立 auto 預測值,在 future 對 24 (ForecastHorizon) days (ForecastFrequency) 進行預測,並ExplainPredictor設定為 true。如需必要參數和選用參數的資訊,請參閱CreateAutoPredictor

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" }, ExplainPredictor = True )

啟用現有預測值的預測值解釋功能

為現有預測器啟用預測器解釋功能將為該資源建立無法解釋的資源。您只能為尚未包含可解釋資源的預測值建立可解釋資源。若要檢視更新資料集的影響分數,請使用更新的資料重新訓練或重新建立預測值。

您可以使用軟體開發套件 (SDK) 或 Amazon 預測主控台為新預測器啟用預測器解釋功能。

Console

若要啟用預測程式說明

  1. 登錄到 AWS Management Console 並打開 Amazon Forecast 控制台 https://console.aws.amazon.com/forecast/.

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

  3. 在功能窗格中,選擇 [預測值]。

  4. 選擇您的預測值。

  5. 在「預測程式說明」區段中,選擇「啟用可解釋性」。

  6. 為「預測器可解釋性」提供唯一的名稱。

  7. 選擇 Start (啟動)

Python

若要使用適用於 SDK for Python (Boto3) 現有預測值啟用預測器解釋功能,請使用方法。create_explainability指定解釋性的名稱,ARN 用於預測值,並為ExplainabilityConfig,同時設定TimePointGranularityTimeSeriesGranularity ALL。若要建立可在主控台內檢視的「說明」視覺效果,EnableVisualization請設定為 True

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

import boto3 forecast = boto3.client('forecast') create_explainability_response = forecast.create_explainability( ExplainabilityName = 'explainability_name', ResourceArn = 'arn:aws:forecast:region:accountNumber:predictor/predictorName', ExplainabilityConfig = { "TimePointGranularity": "ALL", "TimeSeriesGranularity": "ALL" }, EnableVisualization = True )

匯出預測器說明

注意

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

Forecast 可讓您將影響分數的 CSV 或實木複合地板檔案匯出至 S3 位置。影響分數範圍從 -1 到 1,其中符號表示影響的方向。您可以使用 Amazon Forecast 軟體開發套件 (SDK) 和 Amazon Forecast 主控台匯出影響分數。

Table showing normalized impact scores for price, promotion, weather index, and US holidays.
Console

若要匯出預測程式說明

  1. 登錄到 AWS Management Console 並打開 Amazon Forecast 控制台 https://console.aws.amazon.com/forecast/.

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

  3. 在功能窗格中,選擇 [預測值]。

  4. 選擇您的預測值。

  5. 在「預測程式說明」區段中,選擇「匯出」。

  6. 對於「匯出名稱」欄位,請提供匯出的唯一名稱。

  7. 對於 S3 無法解釋匯出位置欄位,請提供 S3 位置以匯出 CSV 檔案。

  8. 對於 IAM 角色欄位,提供可存取指定 S3 位置的角色。

  9. 選擇 [建立匯出]。

Python

若要使用適用於 Python (Boto3) 的 SDK 匯出預測器解釋功能,請使用此方法。create_explainability_export為任務命名、指定可解釋性的 ARN,然後在Destination物件中指定您的 Amazon S3 目標位置和 IAM 服務角色。

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

import boto3 forecast = boto3.client('forecast') export_response = forecast.create_explainability_export( Destination = { "S3Config": { "Path": "s3://bucketName/filename.csv", "RoleArn": "arn:aws:iam::accountNumber:role/roleName" } }, ExplainabilityArn = 'arn:aws:forecast:region:accountNumber:explainability/explainabilityName', ExplainabilityExportName = 'job_name' )

限制和最佳做法

使用預測器解釋功能時,請考慮下列限制和最佳作法。

  • 預測器說明功能僅適用於使用建立的某些預測值 AutoPredictor-您無法針對使用 AutoML 或透過手動選取建立的舊式預測值啟用「解釋性」。請參閱升級到 AutoPredictor

  • 非所有型號都可以使用預測器解釋功能-ARIMA(AutoRegressive 整合移動平均線)、ETS(指數平滑狀態空間模型)和 NPTS(非參數時間序列)模型不包含外部時間序列資料。因此,即使您包含額外的資料集,這些模型也不會建立無法解釋的報表。

  • 無法解釋需要屬性-您的預測值必須至少包含下列其中一項:相關時間序列、項目中繼資料、假日或天氣指數。

  • 預測值僅限於一個可解釋性資源-您無法為預測值建立多個可解釋性資源。如果您對更新資料集的影響分數感興趣,請重新訓練您的預測值。

  • 影響評分為零表示沒有影響-如果屬性的影響評分為 0,則該屬性對預測值沒有重大影響。

  • 重試失敗的「Forecast 器解釋性」工作-如果「預測」成功建立「預測值」,但「預測器解釋性」工作失敗,您可以在主控台或使用作業重試建立「預測器可解釋性」。 CreateExplainability

  • 您無法建立特定時間點與時間序列的影響評分-若要檢視特定時間點和時間序列的影響評分,請參閱 Forecast 解釋性。

  • 預測器說明性視覺效果可在建立後 90 天內使用-若要在 90 天後檢視視覺效果,請重新訓練預測值。