Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用服務。進一步了解"
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
處理遺失值
時間序列預測資料中有個常見問題,就是會出現遺失值。您的資料可能由於多種原因而包含遺失值,包括測量失敗、格式設定問題、人為錯誤或缺少要記錄的資訊。例如,如果您要預測零售商店的產品需求,而某個商品已售完或無法供應,則在該商品無庫存期間,不會有要記錄的銷售資料。如果遺失值夠普遍,則會顯著影響模型的準確性。
Amazon Forecast 提供多種填充方法,可處理目標時間序列和相關時間序列資料集中的遺失值。填入是將標準化值新增至資料集中的遺失項目的程序。
預測支援下列填充方法:
-
中間填入 – 填入資料集的項目開始與項目結束日期之間的任何遺失值。
-
回填 – 填入資料集上次記錄資料點與全域結束日期之間的任何遺失值。
-
未來填補 (僅限相關時間序列) – 填補全球結束日期到預測期限結束之間的任何遺失值。
下圖提供不同填入方法的視覺化呈現。
選擇填入邏輯
選擇填入邏輯時,您應考慮模型將會如何解讀邏輯。例如,在零售案例中,記錄供應商品的 0 銷售量會不同於記錄無法供應之商品的 0 銷售量,因為後者並不表示客戶對該商品缺乏興趣。因此,0
填入目標時間序列可能會導致預測器在預測中偏差不足,而NaN
填補可能會忽略實際銷售的 0 個可用項目,並導致預測器偏差過度。
下列時間序列圖表說明選擇錯誤的填入值會如何大幅影響模型的準確度。圖形 A 和 B 繪製部分 的項目需求 out-of-stock,黑線代表實際的銷售資料。A1 中的遺失值填入了 0
,導致 A2 的預測中發生相對的低估偏差 (以虛線表示)。同樣地,B1 中的遺失值填入了 NaN
,這在 B2 中導致了更準確的預測。
如需支援的填入邏輯清單,請參閱下一節。
目標時間序列和相關時間序列填入邏輯
您可以同時在目標時間序列和相關時間序列資料集上執行填入。每個資料集類型都有不同的填入指導方針和限制。
資料集類型 | 預設填入? | 支援的填入方法 | 預設的填入邏輯 | 可接受的填入邏輯 |
---|---|---|---|---|
目標時間序列 | 是 | 中間和往回填入 | 0 |
|
相關時間序列 | 否 | 中間、往回和未來填入 | 無預設值 |
|
重要
對於目標和相關時間序列資料集, min
、、 mean
median
和 max
是根據遺失值之前 64 個最近資料項目的滾動時段計算。
缺少值語法
若要執行遺失值填入,請指定呼叫 CreatePredictor 操作時要實作的填入類型。物件中指定了填充邏輯FeaturizationMethod。
下列摘錄針對目標時間序列屬性和相關時間序列屬性 (分別為 target_value
和 price
),示範了具有正確格式設定的 FeaturizationMethod
物件。
若要將填充方法設定為特定值,請將填充參數設定為 ,value
並在對應的_value
參數中定義該值。如下所示,相關時間序列的回填會設定為 2 的值,並具有下列項目: "backfill": "value"
和 "backfill_value":"2"
。
[ { "AttributeName": "target_value", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "aggregation": "sum", "middlefill": "zero", "backfill": "zero" } } ] }, { "AttributeName": "price", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "middlefill": "median", "backfill": "value", "backfill_value": "2", "futurefill": "max" } } ] } ]