step1:使用滑動窗口重構數據集
給定時間序列數據集的數字序列,我們可以將數據重構為看起來像監督學習問題。
我們可以通過使用以前的時間步作為輸入變量并使用下一個時間步作為輸出變量來做到這一點。
通過觀察重構后的數據集與原本的時間序列,我們可以總結出如下幾點:
使用先前的時間步來預測下一個時間步的方法稱為滑動窗口法。在統計和時間序列分析中,這稱為滯后或滯后方法。
下面將著重關注一下幾點:
step2:多元時間序列如何重構?
- 單變量時間序列:這些數據集每次僅觀察到一個變量,例如每小時的溫度。上一節中的示例是一個單變量時間序列數據集。
- 多變量時間序列:這些是每次觀察到兩個或多個變量的數據集。
這里給出一個二元時間序列
每個時間步有兩個觀察值。我們還假設我們只關心預測measure2。
我們可以將這個時間序列數據集重新構建為一個窗口寬度為 1 的監督學習問題。
這意味著我們將使用 measure1 和 measure2 的前一個時間步長值。我們還將獲得measure1的下一個時間步長值。然后我們將預測measure2的下一個時間步長值。
這將為我們提供 3 個輸入特征和一個輸出值來預測每種訓練模式。
我們可以看到,就像上面的單變量時間序列示例一樣,我們可能需要刪除第一行和最后一行來訓練我們的監督學習模型。
這個例子提出了一個問題,如果我們想預測下一個時間步的measure1和measure2怎么辦?
使用上面相同的時間序列數據集,我們可以將其表述為一個監督學習問題,我們預測measure1和measure2的窗口寬度相同,如下所示。
step3:單元時間序列預測多個時間步長如何重構?
我們可以看到,第一行和最后兩行不能用于訓練監督模型。
這也是一個很好的例子來展示輸入變量的負擔。具體來說,監督模型只有X1可用于預測y1和y2。
需要對您的問題進行仔細的思考和實驗,以找到能夠產生可接受的模型性能的窗口寬度。
翻譯自
https://machinelearningmastery.com/time-series-forecasting-supervised-learning/