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