聊聊組合模型、注意力機制在單步、多步、單變量、多變量預測中的應用
模型整體介紹:
1. 時空卷積網絡(TCN):
TCN是一種卷積神經網絡結構,用于捕捉時序數據中的時序關系。它由一系列的1D卷積層組成,每個卷積層都具有相同的卷積核大小和步長。TCN中的殘差連接(Residual Connections)和空洞卷積(Dilated Convolutions)用于增加網絡的感受野,以便更好地捕捉時序數據中的長期依賴關系。TCN可以同時處理多個時間步的輸入,這使得模型能夠在多個時間步上進行并行預測。
2.短期和長期依賴關系的捕捉:
- TCN:通過卷積操作,能夠有效捕捉時間序列中的短期依賴關系,同時由于其因果卷積和擴展卷積,能夠處理較長的序列依賴關系。
- BiLSTM:雙向 LSTM 能夠同時處理序列的前向和后向信息,捕捉序列中的長期和雙向依賴關系。
- 并行計算:TCN:卷積操作可以并行處理,相較于 RNN 的串行計算,TCN 在處理長序列時具有計算效率上的優勢。
3.信息選擇和權重分配:
Attention 機制:通過注意力機制,模型能夠為輸入序列中的不同部分分配不同的權重,從而更好地關注對預測結果有重要貢獻的時間步。這有助于提高模型的預測精度和解釋性。
4.穩定性和長序列處理能力:
TCN:由于使用了殘差連接和擴展卷積,TCN 在處理長序列時更穩定,能夠避免梯度消失和梯度爆炸問題。結合了 TCN、BiLSTM 和 Attention 的模型具有強大的表達能力,能夠處理復雜的時間序列數據,并且提高預測的準確性和魯棒性。
配有代碼、文件介紹:
模型介紹和調參教程:
導入數據
1、單變量單步預測任務
1.1 任務描述
單變量單步預測,就是只有(用)一個變量 ,用已有的數據去預測未來的數據,每次預測一步
- 輸入訓練集 變量:變量var-OT
- 對應y值標簽為: 變量var-OT
1.2 單變量單步預測預處理
1.3 模型定義-基于TCN-BiLSTM-Attention的單變量單步預測
1.4 設置參數,訓練模型
1.5 預測結果可視化
1.6 模型評估
1.7 加載模型進行預測
2、單變量多步預測任務
2.1 任務描述
單變量多步預測,就是只有(用)一個變量 ,用已有的數據去預測未來的數據,每次預測多步
- 輸入數據的形狀應該是 (batch_size, window_size, input_dim)
- 輸出數據的形狀應該是 (batch_size, num_steps, output_dim)
解釋:
- batch_size就是批次
- input_dim 和 output_dim 就是對應輸入維度,和輸出維度(如果單變量預測任務的話,就是輸入輸出都為1維)
- window_size 就是輸入樣本序列的長度
- num_steps 是需要預測的步長(比如:用過去 12 個步長 ,預測未來 3 個步長)
2.2 單變量多步預測預處理
2.3 模型定義-基于TCN-BiLSTM-Attention的單變量多步預測
2.4 設置參數,訓練模型
2.5 預測結果可視化
每步預測單獨可視化:
2.6 模型評估
2.7 加載模型進行預測
3、多變量單步預測任務
3.1 任務描述
多變量單步預測,就是有(用)多個變量的數據去預測某個目標變量未來的數據,每次預測一步;
- 輸入訓練集 變量:所有特征變量(多個)
- 對應y值標簽為: 目標變量var-OT
3.2 單變量單步預測預處理
3.3 模型定義、訓練過程、評估、可視化、向外預測不再贅述
多變量單步預測效果明顯優于單變量單步預測效果,考慮到其他特征帶來對目標變量預測更多的信息,其預測性能更顯著!
4、多變量多步預測任務
4.1 任務描述
多變量多步預測,就是有(用)多個變量的數據去預測某個目標變量未來的數據,每次預測多步
- 輸入數據的形狀應該是 (batch_size, window_size, input_dim)
- 輸出數據的形狀應該是 (batch_size, num_steps, output_dim)
解釋:
- batch_size就是批次
- input_dim 和 output_dim 就是對應輸入維度,和輸出維度(如果多變量預測任務的話,就是輸入多維,輸出為1維)
- window_size 就是輸入樣本序列的長度
- num_steps 是需要預測的步長(比如:用過去 12 個步長 ,預測未來 3 個步長)
4.2 多變量多步預測預處理
4.3 模型定義、訓練過程、評估、可視化、向外預測不再贅述
點擊下載:原文完整數據、Python代碼?
贊
收藏
回復
分享
微博
QQ
微信
舉報

回復
相關推薦