AutoML 中時間序列預測的延遲功能
本文說明 Azure 中的自動化機器學習 (AutoML) 機器學習 如何建立延遲和滾動視窗匯總功能,以協助您預測時間序列回歸模型。 AutoML 功能會使用歷史模型數據,藉由協助模型及時學習相互關聯模式,大幅提升模型精確度。
如果您想要深入瞭解 AutoML 中的預測方法,請參閱 AutoML 中的預測方法概觀。 若要探索 AutoML 中預測模型的定型範例,請參閱 使用 SDK 和 CLI 設定 AutoML 來定型時間序列預測模型。
AutoML 中的延隔特徵化
AutoML 會產生對應至預測地平線的延隔時間特徵。 本節探討 AutoML 中的延隔時間特徵化,此模型具有三個預測地平線,且目標延遲順序為一。 下表顯示每月時間序列的模型數據和延隔功能。
表 1:原始時間序列
Date | $y_t$ |
---|---|
1/1/2001 | 0 |
2/1/2001 | 10 |
3/1/2001 | 20 |
4/1/2001 | 30 |
5/1/2001 | 40 |
6/1/2001 | 50 |
第一個步驟只會產生地平線$h=1$ 的延隔功能。 後續數據表會示範此程序為何使用個別地平線來完成延隔特徵化。
表 2:水平線的延遲特徵化$h=1$
Date | $y_t$ | 原始來源 | $y_{t-1}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 12/1/2000 | - | 1 |
2/1/2001 | 10 | 1/1/2001 | 0 | 1 |
3/1/2001 | 20 | 2/1/2001 | 10 | 1 |
4/1/2001 | 30 | 3/1/2001 | 20 | 1 |
5/1/2001 | 40 | 4/1/2001 | 30 | 1 |
6/1/2001 | 50 | 5/1/2001 | 40 | 1 |
AutoML 會藉由單一觀察將 $y_t$ 數據行向下移,從數據表 1 中的數據產生數據表 2 中的數據。 數據表 2 到 5 包含 Origin 資料行,以顯示延隔特徵的來源日期。
下一個步驟只會針對預測地平線產生延遲功能,$h=2$。
表 3:預測地平線的延遲特徵化$h=2$
Date | $y_t$ | 原始來源 | $y_{t-2}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 11/1/2000 | - | 2 |
2/1/2001 | 10 | 12/1/2000 | - | 2 |
3/1/2001 | 20 | 1/1/2001 | 0 | 2 |
4/1/2001 | 30 | 2/1/2001 | 10 | 2 |
5/1/2001 | 40 | 3/1/2001 | 20 | 2 |
6/1/2001 | 50 | 4/1/2001 | 30 | 2 |
AutoML 會藉由將 $y_t$ 資料行向下移位兩個觀察,以從數據表 1 中的數據產生數據表 3 中的數據。
下一個步驟只會針對預測地平線產生延遲功能,$h=3$。
表 4:預測地平線的延遲特徵化$h=3$
Date | $y_t$ | 原始來源 | $y_{t-3}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 10/1/2000 | - | 3 |
2/1/2001 | 10 | 11/1/2000 | - | 3 |
3/1/2001 | 20 | 12/1/2000 | - | 3 |
4/1/2001 | 30 | 1/1/2001 | 0 | 3 |
5/1/2001 | 40 | 2/1/2001 | 10 | 3 |
6/1/2001 | 50 | 3/1/2001 | 20 | 3 |
最後一個步驟會串連數據表 1、2 和 3 中的數據,然後重新排列數據列。
表 5:延隔特徵化完成
Date | $y_t$ | 原始來源 | $y_{t-1}^{(h)}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 12/1/2000 | - | 1 |
1/1/2001 | 0 | 11/1/2000 | - | 2 |
1/1/2001 | 0 | 10/1/2000 | - | 3 |
2/1/2001 | 10 | 1/1/2001 | 0 | 1 |
2/1/2001 | 10 | 12/1/2000 | - | 2 |
2/1/2001 | 10 | 11/1/2000 | - | 3 |
3/1/2001 | 20 | 2/1/2001 | 10 | 1 |
3/1/2001 | 20 | 1/1/2001 | 0 | 2 |
3/1/2001 | 20 | 12/1/2000 | - | 3 |
4/1/2001 | 30 | 3/1/2001 | 20 | 1 |
4/1/2001 | 30 | 2/1/2001 | 10 | 2 |
4/1/2001 | 30 | 1/1/2001 | 0 | 3 |
5/1/2001 | 40 | 4/1/2001 | 30 | 1 |
5/1/2001 | 40 | 3/1/2001 | 20 | 2 |
5/1/2001 | 40 | 2/1/2001 | 10 | 3 |
6/1/2001 | 50 | 4/1/2001 | 40 | 1 |
6/1/2001 | 50 | 4/1/2001 | 30 | 2 |
6/1/2001 | 50 | 3/1/2001 | 20 | 3 |
在表格 5 中,延隔數據行會重新命名為 $y_{t-1}^{(h)}$ 以反映延遲是針對特定地平線所產生的。 表 5 顯示相對於地平線所產生的延隔時間如何對應至上一個數據表中產生延遲的傳統方式。
表 5 是資料增強範例,AutoML 套用至定型資料,以便從迴歸模型直接進行預測。 當設定包含延隔功能時,AutoML 會建立地平線相依延遲以及整數值地平線功能。 AutoML 預測回歸模型可以在地平線$h$ 進行預測,而不考慮$h-1$ 的預測,與遞歸定義的模型相反,例如 ARIMA。
延隔特徵化的考慮
有一些與模型延隔特徵化相關的考慮。 檢閱下列各節,以識別您案例的潛在動作。
數據集大小成長
當 AutoML 產生地平線相依延遲功能時,它會將新的 數據列 新增至模型數據集。 新數據列的數目會與預測範圍成正比。
數據集大小的成長可能會導致較小的計算節點上或數據集大小已經很大時發生記憶體不足錯誤。 您可以在 AutoML 預測的常見問題 (FAQ) 中找到解決此問題的解決方案。
延遲順序和預測地平線分離
AutoML 滯後策略會分離延遲順序和預測地平線。 假設預測範圍是 7,而您想要 AutoML 使用延隔功能。 在此案例中,您不需要將延隔順序設定為 7,以確保在完整的預測範圍上預測。 由於 AutoML 會產生地平線的延隔時間,因此您可以將延隔順序設定為一個。 AutoML 會增強數據,因此任何訂單的延隔時間都有效到預測地平線。