步驟 5:產生並使用預測進行決策
一旦有模型達到您特定使用案例所需的準確性閾值 (由回測判定),即可執行最後一個步驟:部署模型並產生預測。若要在 Amazon Forecast 中部署模型,您必須執行 Create_Forecast API。此動作會託管藉由對整個歷史資料集進行訓練而建立的模型 (不同於 Create_Predictor
只會將資料分割到訓練集和測試集中)。在預測期間內產生的模型預測隨後將有兩種運用方式:
-
您可以從 AWS CLI
或直接透過 AWS Management Console 使用 Query_Forecast
API,來查詢特定項目的預測 (藉由指定項目,或指定項目/維度的組合)。 -
您可以使用
Create_Forecast_Export_Job
API,對所有分位數的所有項目/維度組合產生預測。此 API 會產生一個 CSV 檔案,並安全地存放在您選擇的 Amazon Simple Storage Service(Amazon S3) 位置。然後,您可以使用 CSV 文件中的資料,並將其導入您用於決策的下游系統中。例如,您現有的供應鏈系統可以直接從 Amazon Forecast 擷取輸出,以協助您對特定 SKU 的製造做出相關決策。
機率預測
Amazon Forecast 可就不同的分位數產生預測,這在預測不足和過度預測的成本不同時尤有效用。與預測器訓練階段類似,同樣可對 p1 與 p99 之間的分位數產生機率預測。
根據預設,Amazon Forecast 會就預測器訓練期間使用的相同分位數產生預測。如果在預測器訓練期間未指定分位數,依預設將會在 p10、p50 和 p90 產生預測。
就 p10 預測而言,預期真正的值有 10% 的時間會低於預測值,並且可使用 wQL[0.1] 指標來評估其準確性。這表示 P10 預測有 90% 的時間是預測不足的,且若用於庫存時,品項將有 90% 的時間處於售罄狀態。沒有大量儲存空間,或投入資金的成本過高時,P10 預測可能有其效用。
注意
分位數預測的正式定義是 Pr(實際值 <= 分位數 q 的預測) = q。就技術上而言,分位數就是百分位數/100。統計學家傾向於表述為「P90 分位數層級」,因為比「分位數 0.9」容易表述。例如,P90 分位數層級預測表示可以預期實際值將有 90% 的時間小於預測。具體來說,如果時間為 t1,分位數層級為 0.9,預測值為 30,這表示如果您模擬了 1,000 次,時間 t1 的實際值預期將小於 30 (模擬 900 次),若模擬 100 次,實際值預期會超過 30。
另一方面,P90 預測是指有 90% 的時間過度預測,這在不銷售某個品項的機會成本極高或投入資金的成本較低時,將有其效用。就雜貨店來說,P90 預測可用在牛奶或衛生紙之類的商品上,因為店家絕不樂見這類商品售罄,也不會介意架上總是有些存貨。
就 p50 預測 (通常也稱為中位數預測) 而言,預期真正的值有 50% 的時間會低於預測值,並且可使用 wQL[0.5] 指標來評估其準確性。若無庫存過多的顧慮,且對特定品項有適量的需求,p50 分位數預測可能有其效用。
視覺效果
Amazon Forecast 支援直接在 AWS Management Console 中繪製預測。此外,您還可以利用完整的 Python 資料科學堆疊 (請參閱 Amazon Forecast 範例ExportForecastJob
API 將預測匯出為 CSV 檔案,讓使用者可在自己選擇的分析工具中呈現預測。

Amazon Forecast 控制台針對不同的分位數提供的視覺效果