大風極端天氣是一種突發性災害,往往在很短時間內會對人類的生產、生活造成較大傷害.風災會對配電網、電力設備等構成嚴重威脅.為降低風災對人類社會帶來的負面影響,需要采取必要的預測預警措施.研發極端天氣下的風速預測技術,提升風速預報的準確性和時效性,顯得尤為重要.風速的準確預測能給防災減災方面提供重要的指導作用.
風速預測主要可分為機理驅動法和模型驅動法兩種.機理驅動法基于空間相關性和數值天氣預報,主要是利用物理信息分析風速特性,通過動力學的方法對風速建立動力學方程從而對風速進行求解.此類方法解析式復雜,計算量大且缺乏對歷史數據的利用.而模型驅動法是利用概率模型、機器學習模型或深度學習模型,從歷史數據中學習并訓練模型,并將已訓練好的模型應用到未知數據上[1].隨著大數據時代的來臨,計算機算力的快速提升以及各種模型的出現,模型驅動法在生產中的應用越來越多.
在模型驅動法中,深度學習模型表現尤為亮眼.深度學習是一種廣泛的基于數據表示的機器學習方法,拓寬了機器學習的應用領域,延伸了人工智能的服務范圍,其中許多應用已成為行業研究熱點[2].鄭征等[3]將深度學習應用于電力行業中的電力負荷預測,提出一種基于多頭注意力(multi-headed attention)的卷積循環神經網絡深度學習模型,該模型能有效地對電力消耗進行預測;王朋等[4]將小波分解技術(Wavelet Transform,WT)與長短期記憶網絡(Long Short-Term Memory,LSTM)結合,提出基于小波長短期記憶網絡的風電功率超短期概率預測模型,結果表明,將小波分解與深度學習方法結合可以較好地提高預測的精度;吳香華等[5]將深度學習應用于降水預測模型中,提出一種基于注意力機制、卷積神經網絡(Convolutional Neural Network,CNN)和BP神經網絡的CNN-Attention-BP組合模型,對降水的預測準確率有較好效果.
眾多學者利用深度學習對風速預測模型開展了大量的研究工作,并取得了不錯的預測效果.丁仁強等[6]提出一種SSA-BiLSTM組合模型風速預測方法,對歷史風速進行奇異譜分析(Singular Spectrum Analysis,SSA)后利用雙向長短時記憶網絡(Bi-directional Long Short-Term Memory,BiLSTM)進行預測,預測結果優于LSTM、BiLSTM等單一模型;王俊等[7]建立了變分模態分解(Variational Mode Decomposition,VMD)和LSTM的組合模型對風速進行超短期預測,結果表明該模型的預測精度優于其他多種典型風速預測模型,該模型在超短期風速預測方面表現出較好的性能;Moreno等[8]建立了結合VMD-SSA和LSTM的風速預測模型,獲得了較高的預測精度;向玲等[9]利用自適應噪聲完備經驗模態分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)對風速進行二次分解,并結合LSTM組合模型對風速進行多步預測,結果表明該模型在多步風速預測方面表現出較好的性能;畢貴紅等[10]提出一種基于雙模式分解、雙通道卷積神經網絡和LSTM的組合預測模型,實驗結果表明該模型可以有效地提高短期的風速預測精度.
為了充分利用誤差序列,進一步提高風速預測準確度,一些研究者在模型預測結果的基礎上對其進行誤差修正,取得了一定的改善效果.黃元生等[11]用經驗模態分解(Empirical Mode Decomposition,EMD)對風速序列進行分解,利用高斯過程回歸(Gaussian Process Regression,GPR)進行風速預測,得到原始預測值和誤差序列,對誤差序列進行預測,將誤差預測值校正原始預測值得到最終預測值,算例表明該方法能提高風速的預測精度.
基于以上研究,針對極端大風天氣突發性強、風速變化大、難以準確預測的問題,本文提出一種基于時間卷積網絡(Temporal Convolutional Network,TCN)與BiLSTM和誤差修正的組合風速預測模型.對于風速、溫度等氣象因素,利用時間卷積網絡提取其特征,再使用BiLSTM模型對風速進行預測.風速預測的研究工作主要集中在提高模型預測精度上,在TCN-BiLSTM組合模型的基礎上增加基于變分模態分解(VMD)的誤差修正模型,能有效提高模型的預測精度.TCN-BiLSTM模型預測誤差包含著風速的信息,但直接對模型誤差進行利用預測,所得的誤差修正結果對原模型不能起到提升效果的作用.利用VMD對誤差序列進行分解后再建立誤差修正模型,能有效降低序列的復雜程度,充分利用到誤差的序列信息,以進一步改善風速預測精度.
所用天氣數據包括風速、溫度、濕度、雨量和風速等級5個類型,其中風速等級為非數值數據,不適用于訓練風速預測模型.選擇風速、溫度、濕度和雨量作為模型輸入特征,隨后構建新特征并對數據進行預處理.
構建新特征溫度差.溫度差為該時刻溫度與上一個時刻溫度的差值,定義為
Δt=t1-t0,
(1)
其中,t1為該時刻溫度,t0為上一個時刻溫度.
應用斯皮爾曼(Spearman)相關系數進行相關性程度分析.Spearman相關系數是度量兩個變量相關性程度的非參數指標[12],該系數計算時不需要考慮序列的分布規律以及是否線性等,因此適用范圍比皮爾遜相關系數更廣.變量x,y之間的Spearman相關系數計算公式如下:

(2)

新特征溫度差與風速的Spearman相關系數計算結果為0.259 2,呈現出一定的相關性,可作為模型的輸入特征之一.
歸一化可以提升預測模型的精度,使得到的結果更可靠,同時利于模型收斂,提高模型的訓練速度,優化了模型效率.歸一化處理后,每個數據都被縮放到[0,1]這個區間.將風速、溫度、濕度、雨量和溫度差分別采用最大最小值歸一化方法進行歸一化,如式(3)所示:

(3)
式中,x為需要進行歸一化的變量,x′表示歸一化后數據,xmax和xmin分別表示輸入變量的最大值和最小值.
利用TCN提取氣象因素的特征,再應用BiLSTM進一步建立特征與風速之間的關系,同時為了進一步改善風速預測效果,提出一種誤差修正模型.誤差修正模型使用VMD對誤差序列進行分解,得到若干個子序列后對其分別構建BiLSTM模型預測得到誤差預測結果,誤差修正模型有助于提高精度和增強模型的泛化性能.
時間卷積網絡[13]是一種能夠有效處理時間序列數據的網絡結構,在特定條件下效果優于傳統的神經網絡,如CNN和RNN等.時間卷積網絡的基本結構可以表示為一維全卷積網絡(FCN)和因果卷積,前者用于保持網絡輸入與輸出的長度相同,后者用于保證歷史數據沒有泄露.TCN殘差塊的基本結構如圖1所示,主要包括兩個擴張因果卷積層,每層擴張因果卷積層后采用權重歸一化,將整流線性單元(ReLU)作為激活函數,加入Dropout層,同時使用跳躍連接.TCN結構具有并行性、靈活的感受野、可變的輸入長度、梯度較為穩定和更小的內存訓練等特點[14].

圖1 殘差塊結構Fig.1 Residual block structure
TCN中使用的卷積為擴張因果卷積,如圖2所示.其中:因果卷積較普通卷積有嚴格的時間約束,滿足了時間順序上的前后依賴原則;擴張卷積引入了擴張因子,相當于在每兩個相鄰卷積核之間間隔固定步長,能夠用更少的層數獲得更長的感受野.因此擴張卷積能夠緩解模型太深,難以訓練的問題.

圖2 TCN擴張卷積結構Fig.2 Structure of TCN extended convolution
擴張卷積運算F在時刻t的定義為

(4)
式中,k為卷積核大小,*表示卷積,d為擴張因子,通常其值的大小隨卷積層數的增加呈2的指數遞增.
為解決RNN中存在的梯度爆炸和梯度消失的問題,長短期記憶網絡(LSTM)[15]被提出.LSTM引入了“門”的概念,由輸入門、輸出門和遺忘門來更新網絡,更新過程如下:
ft=σ(Wf·[ht-1,xt]+bf),
(5)
it=σ(Wi·[ht-1,xt]+bi),
(6)

(7)

(8)
ot=σ(Wo·[ht-1,xt]+bo),
(9)
ht=ot*tanh(Ct),
(10)

LSTM 模型只能順序獲取序列的信息,但無法編碼從后到前的信息.據此,雙向長短期記憶網絡作為LSTM的改進形式被提出.BiLSTM由一組正向和后向的LSTM構成,在處理時間序列數據時能同時處理正向和逆向的數據,從而獲取更多的數據信息.
BiLSTM模型如圖3所示,由正向LSTM和后向LSTM組合而成.X=[x1,x2,x3,…,xn]為網絡輸入數據,Y=[y1,y2,y3,…,yn]為網絡輸出數據,其中af表示數據正向傳播時上一個神經元的輸出,而ab表示數據反向傳播時上一個神經元的輸出,最終輸出由正向LSTM和后向LSTM輸出結合獲得.

圖3 BiLSTM模型的結構Fig.3 Structure of BiLSTM model
變分模態分解(VMD)是Dragomiretskiy等[16]在2014年提出的一種自適應、完全非遞歸的信號處理方法,該方法可以將原始輸入信號自適應地分解為根據實際情況預設的k個具有不同中心頻率和有限帶寬的模態分量.VMD算法可以有效避免模態混疊現象且有較強的魯棒性,在故障診斷、時間序列分析、信號降噪等許多領域得到了應用[17-19].VMD實質是對變分問題的構建和求解,計算過程如下:
1) 通過Hilbert變換求解出k個本征模態函數uk(t)的信號及其單邊頻譜:

(11)
2)對k個模態函數對應的中心頻率ωk的指數項進行堆疊,將模態函數的頻譜調制到基頻帶:

(12)
3)通過運用高斯平滑法確定k個模態函數的帶寬,將目標問題轉成求解帶約束的變分問題,目標函數為
(13)
式中,uk(t)表示分解獲得的k個模態函數分量,ωk表示k個模態函數的中心頻率.
2.3.2 求解變分問題
他目送一個個“女學生”登上卡車尾部的梯子,消失在卡車篷布后面,從她們的身材、動作他基本能辨認出誰是誰,但叫不出她們的名字。他有點后悔沒問一聲她們的名字——是父母給的真名字,不是青樓上的花名。他只記得一個名字,就是趙玉墨。這大概也不是她父母給她的名字。他永遠也不會知道,趙玉墨寧可忘掉親生父母給她取的名字。
1)求解變分約束模型最優解時引入了拉格朗日乘子l和二次罰函數α,把約束性變分問題轉化為非約束性變分問題,轉換后的拉格朗日函數為
(14)


(15)

(16)
利用VMD分解誤差序列,可有效降低誤差序列的復雜性,提取誤差序列的有效信息,提高誤差修正模型的預測精度.
本文所提的風速預測方法流程如下:
1)構建新特征溫度差.溫度差與風速之間有一定的相關性,為模型提供重要的特征.
2)對風速、溫度和濕度等特征進行歸一化處理,將數據按7∶1∶2的比例分別劃分為訓練集、驗證集和測試集.
3)用TCN提取氣象數據的特征,BiLSTM對所提取的特征進行訓練和預測,得到風速的初步預測值.
4)風速真實值y減去風速預測值y1得到誤差值,對誤差序列進行VMD分解,得到k個誤差子序列.
5)對k個誤差子序列分別建立BiLSTM模型進行誤差預測,將k個預測值疊加得總誤差預測值.
6)風速初步預測值和誤差預測值對應相加得到風速的最終預測值.
綜上所述,基于誤差修正的風速預測模型流程如圖4所示.

圖4 風速預測流程Fig.4 Flow chart for wind speed prediction
為定量分析風速預測結果的準確性,利用誤差評價指標對模型預測效果進行評估.選定的評價指標為平均絕對誤差(MAE)、均方根誤差(RMSE)和對稱平均絕對百分比誤差(SMAPE),以上三個指標值越小說明預測效果越好.三個誤差指標計算公式如下所示:

(17)

(18)

(19)

2021年11月6—8日,河南省全省出現大范圍降溫過程,期間大部分地區伴有大風天氣,其中駐馬店市某縣遭遇惡劣的寒潮大風天氣.該地6—8日連續3 d的溫度和風速變化如圖5所示,在紅色部分氣溫急劇下降,且風速不斷上升,該氣象變化符合寒潮大風天氣的物理變化過程,證實該地遭遇惡劣的寒潮大風天氣.據此選擇該地為研究對象,進行極端天氣下的短時風速預測.

圖5 溫度、風速變化曲線Fig.5 Variation curves of temperature and wind speed
本文風速預報時長為1 h,即進行提前1 h預測.預測模式為滾動預測,滾動循環預測3 d,共72個數據點,并對這72個數據進行可視化對比,來驗證模型的準確性.
使用河南省駐馬店市某縣的實測天氣歷史數據進行實驗,時間跨度為2020年7月18日至2022年7月18日.所采集的氣象數據包括溫度、濕度、雨量、風向和風速等,采樣周期為1 h,2年合計16 972個樣本點.選取溫度、濕度、風速、雨量和新構建的特征溫度差為模型輸入特征,對風速進行小時級別的短時預測.
將全部數據分別劃分為訓練集、驗證集和測試集進行算例實驗,其中訓練集的比例為70%,用于對模型進行訓練,驗證集的比例為10%,用于訓練過程中選取最優參數模型,測試集的比例為20%,用于對模型進行測試.
風速時間序列如圖6所示,從圖6中可以看出風速波動性大、隨機性強,用深度學習的方法對數據構建非線性的模型映射關系,對風速預測能取到較好的預測效果.

圖6 風速時間序列Fig.6 Time series for wind speed
深度學習需要足量的數據支持,駐馬店市某縣記錄的氣象數據可利用的數據因素有風速、溫度、濕度和雨量.據此,可構建新特征溫度差,給模型提供更多的數據.
模型采用滑動時間窗口的預測方式,如圖7所示,即輸入16 h的氣象數據,輸出1 h的風速預測值.采用滑動時間窗口的方式,能把整個數據集劃分為若干個5×16的矩陣向量(溫度、濕度、風速、雨量和溫度差5個輸入特征,16 h的氣象數據),對這個矩陣進行歸一化后輸入到模型中進行訓練預測.
多維氣象數據直接輸入BiLSTM神經網絡進行預測時,由于網絡不能有效地提取多維數據特征信息,會導致預測效果欠佳.而時間卷積網絡針對多維信息可以有效提取特征,通過擴張因果卷積對多維數據進行卷積運算,提取最關鍵的特征.初始化的卷積核在一次次的反向傳播迭代過程中,參數會不斷得到更新,進而逼近所期望的真實解.通過這種方式,可以實現多維數據到一維數據的映射,即氣象數據經過TCN提取特征之后會生成一個特征向量,該向量包含著原始數據的關鍵信息.
通過TCN提取氣象因素和變量之間的相關特征,BiLSTM進一步建立提取的特征與風速之間的關系,即將提取到的特征張量處理成一維向量輸入到全連接層,全連接層直接輸出下一時刻風速預測值.TCN-BiLSTM模型以下一時刻即下一小時的風速為預測目標.
所搭建的TCN-BiLSTM模型主要結構包括三個TCN殘差塊、一個BiLSTM層以及一個全連接層.根據經驗、文獻及試驗,模型的各層網絡超參數設置如下:每個殘差塊的卷積層包含16個卷積核,卷積核的大小為3,三個殘差塊的擴張因子分別為1、2、4,Dropout值設置為0.4,時間步數為16,處理數據的批次大小為128,模型訓練的epoch數為100.
TCN-BiLSTM模型流程如圖8所示,其中帶底色部分(虛線框內)為模型主要結構,殘差塊即為TCN.將數據分別劃分為訓練集、驗證集和測試集進行算例實驗,其中訓練集的比例為70%,用于對模型進行訓練,驗證集的比例為10%,用于訓練過程中選取最優參數模型,測試集的比例為20%,用于對模型進行測試,獲得風速初始預測值.

圖8 TCN-BiLSTM模型預測流程Fig.8 Flow chart for wind speed prediction based on TCN-BiLSTM
誤差序列由訓練集、測試集和驗證集得到,隨著TCN-BiLSTM預測模型不斷輸出風速預測值,誤差序列也在不斷更新.誤差序列計算公式如下:

(20)

由式(20)計算獲得誤差序列,利用VMD分解誤差序列,其中分解時通過歸一化中心頻率觀察法[20]確定合適的分解子序列個數.分別取k為3到7,對誤差序列進行分解,分解后得到的各個模態分量的歸一化中心頻率如表1所示.可觀察發現,中心頻率最小值逐漸減小且趨于穩定,中心頻率最大值逐漸變大且趨于穩定.當k=6時,中心頻率最大值和最小值都保持相對穩定,考慮當k>7時會出現過分解的情況,因此,將序列分解個數選擇為k=6.其他參數如懲罰因子α、保真度系數τ和收斂停止條件ε使用默認值即α=2 000,τ=0,ω=1×10-7.VMD算法分解后的子序列如圖9所示.為了便于觀察,可視化每一個子序列的前2 000個點,可以看到低頻部分的IMF1分量是誤差序列的趨勢項,顯示了誤差的總體變化趨勢.

表1 不同k值時VMD分解后的歸一化中心頻率

圖9 誤差子序列Fig.9 Error subsequences
將誤差子序列歸一化后分別輸入到BiLSTM模型中進行訓練并預測,獲得最終誤差預測值.根據試驗,BiLSTM模型的超參數設置如表2所示.最后將誤差序列預測結果與TCN-BiLSTM模型風速預測結果進行加法運算,即將t時刻的風速預測結果與t時刻的誤差預測值相加,得到原風速預測結果基礎上優化的預測結果即為最終風速預測結果.

表2 BiLSTM超參數及取值
圖10為駐馬店市某縣2021年11月6—8日的風速預測曲線,預測時間范圍為00:00—23:00,風速短時預測的時間尺度為1 h,滾動預測72 h.結合圖10和歷史天氣數據可知,在用于實驗的3 d天氣數據中,平均風速超過10.8 m/s的點有5個.根據天氣預報業務規范,預報業務中一般以平均風力達到6級(≥10.8 m/s)作為大風標準(除臺風和雷暴大風外),數據證實該縣遭遇大風極端天氣.

圖10 對比模型預測曲線Fig.10 Wind speed prediction result comparison between the proposed method and deep learning models
為驗證TCN-BiLSTM組合模型預測性能,分別建立了LSTM、BiLSTM、TCN三個深度學習模型作為對比.計算各模型的誤差指標,如表3所示.

表3 各模型的誤差指標結果
由表3可以看出,TCN和LSTM模型預測效果相近.LSTM模型的RMSE為1.782 8,MAE為1.265 2,SMAPE為32.71%,而BiLSTM模型的RMSE、MAE、SMAPE分別為1.692 6、1.229 5和32.87%,BiLSTM模型比LSTM模型的RMSE減少了5.06%,MAE降低了2.82%,SMAPE基本一致,說明雙向長短期記憶網絡較于長短期網絡能提取更多的信息,預測效果要略好.組合模型TCN-BiLSTM三個誤差指標相較三個單一模型有了較大提升,TCN-BiLSTM的RMSE、MAE和SMAPE相比BiLSTM分別減少了11.03%、18.95%和11.86%,說明TCN對氣象數據起到了特征提取的作用,提高了預測精度.
為驗證所提誤差修正模型的有效性,選擇模型1、模型2與所提誤差修正模型進行對比分析.模型1將未經過分解的原始誤差序列輸入到BiLSTM模型中進行訓練預測;模型2先用CEEMDAN方法對誤差序列進行分解,隨后分別構建BiLSTM模型進行訓練預測;本文方法為基于VMD分解的誤差修正模型.將三個模型分別訓練預測得到誤差預測結果,疊加誤差預測結果與原模型預測結果得到最終風速預測結果,各模型的誤差指標如表4所示、預測效果如圖11所示.

表4 誤差指標結果

圖11 誤差模型對比Fig.11 Wind speed prediction result comparison between error correction models
模型1的誤差序列未經分解處理,疊加誤差預測結果后風速預測效果反而降低,模型2以及本文誤差修正模型均對誤差原始序列進行分解,降低了誤差序列的復雜程度.根據誤差指標可以看出模型2的RMSE、MAE和SMAPE分別為1.132 6、0.867 4和25.14%,較原始模型分別降低了24.79%、15.64%和13.22%;基于誤差修正的風速預測模型的RMSE為0.632 9,MAE為0.447 4,SMAPE為13.46%,分別比未經誤差修正的TCN-BiLSTM組合模型降低了57.97%、56.48%和53.55%.對比上述3個模型可以得出:對誤差序列進行分解預測,誤差模型對風速預測的精度有提升;分解方法中VMD效果優于CEEMDAN,本文方法對原模型的預測結果起到了較好的校正作用,能有效擬合極端天氣下的大風風速,體現了方法的有效性.
本文預測方法在TCN-BiLSTM組合模型的基礎上加入了誤差修正模型,由圖11可以看出,該方法的風速曲線相比于組合模型TCN-BiLSTM更貼近真實風速.在第1~15個時間點以及第50~72個時間點時,該地為正常天氣,風速較小,風速變化趨勢較為平緩,此時構建的LSTM、BiLSTM、TCN和TCN-BiLSTM以及誤差修正模型均能有效預測出風速,預測精度較高.而在第16~49個時間點時,該地遭遇了極端天氣,風速有一個急劇上升的過程,風速變化劇烈.由圖10可以看出LSTM、TCN和TCN-BiLSTM等模型此時預測的風速僅能部分擬合真實風速的變化趨勢,且預測值與真實值相差較大;對比圖11 中TCN-BiLSTM組合模型和誤差修正預測模型,可知誤差修正模型在極端天氣下能有效擬合風速急劇的變化趨勢,且能較為準確地預測出風速,相比TCN-BiLSTM模型有了較大的性能提升,極端天氣下的風速預測結果與真實數據更加吻合.
為了進一步評價模型的預測性能,添加了兩種最新風速預測算法進行對比分析.CEEMDAN-Res-GRU是一種基于模式分解、殘差網絡和門控循環單元網絡(Gated Recurrent Unit,GRU)的風速預測模型,Transformer為當前熱門的預測模型.由表5可得,本文方法的三種誤差評價指標均優于CEEMDAN-Res-GRU模型和Transformer模型.圖12預測曲線也可以看出本文方法預測曲線更貼近真實風速,基于誤差修正的風速預測模型具有更好的預測效果和模型魯棒性.

表5 模型誤差指標對比結果

圖12 模型預測對比Fig.12 Wind speed prediction result comparison between the proposed method and novel models
由于大風極端天氣具有突發性,且風速變化急劇,難以對風速進行準確預測.針對此問題,本文提出一種基于TCN-BiLSTM和誤差修正的風速預測模型,通過算例和模型對比得到以下結論:
1)TCN能有效提取時間序列數據的特征,經TCN提取特征后再構建BiLSTM模型對風速進行預測,能使模型的預測精度更高.
2)誤差序列帶有風速的信息,對誤差序列進行VMD分解后構建誤差修正模型,誤差修正機制能進一步提高極端天氣下的風速預測精度.
3)極端天氣下風速急劇變化時,本文模型更能追蹤風速的變化趨勢,預測值較其他模型更加準確.