程杰, 陳鼎, 李春, 鐘偉東, 嚴婷, 竇春霞*
(1. 南京郵電大學, 碳中和先進技術研究院, 南京 210023; 2. 南京郵電大學自動化學院、人工智能學院, 南京 210023; 3. 國網浙江省電力有限公司嘉興供電公司, 嘉興 314000)
如今,全球經濟迅速發展的同時,環境污染和能源危機引發的供需不平衡等問題日益嚴峻。為解決上述問題,在過去的幾十年中,可再生能源如風電得到了迅速發展。“2022全球海上風電大會”提出,為實現全球氣溫下降1.5 ℃的目標, 2050年全球海上風電累計裝機容量至少達到20億千瓦[1]。為積極響應全球環保目標的號召,到“十四五”末,中國風電累計裝機容量須達到1億千瓦以上。然而,風電因其典型的波動性、隨機性、間歇性等特點對電力系統的運行、調度造成了巨大的挑戰,因此,針對風電功率的超短期預測研究尤為重要[2-3]。
目前,國內外學者對超短期風電功率預測方面做了大量研究。在預測方法上面可分為物理建模法、統計建模法和人工智能算法[4]。物理建模預測方法在歐美等國家應用廣泛,文獻[5]基于穩定的計算流體力學模型,建立包括進風條件、流場和風機的相應風功率等重要參數在內的數據庫,通過數據庫,以數值天氣預報為輸入數據來預測風電輸出功率。由于物理信息收集起來難度較大,且相關環節過于復雜,預測效果并不理想。統計建模法主要通過風電歷史數據,構建出風電歷史數據與風電功率的非線性對應關系,以此對風電功率進行預測,文獻[6]對差分自回歸移動平均模型(autoregressive integrated moving average model,ARIMA)進行改進,提出了一種確定不同出力特性的風電場風功率時間序列轉化為平穩序列所需的最優差分次數的方法。但ARIMA難以實現對波動性較強數據的精準預測。為了改善預測精度,人工智能算法如時序卷積,長短時記憶神經網絡等被應用于風電功率預測[7-8]。此外,越來越多的研究聚焦于組合不同機器學習方算法以提升預測精度,如文獻[9]中應用包括極度隨機樹、輕度梯度增強機、集成方法和基于卷積神經網絡(convolutional neural network,CNN)與長短期記憶神經網絡(long short term memory, LSTM)的組合模型(CNN-LSTM)預測風機功率。文獻[10]利用完全集合經驗模式分解自適應噪聲和支持向量機的非線性擬合特性建立了一個短期功率預測模型,實現風電功率的準確預測。考慮風電功率區間預測問題,文獻[11]提出了基于改進型鯨魚優化算法和快速學習網的區間預測模型,對區間覆蓋率的提高具有實際意義。文獻[12]提出考慮風電預測誤差時序性及風電可信度的雙層優化模型,結果表明所提模型能降低系統風險成本。
雙向長短期記憶(bidirectional long short term memory,BiLSTM)神經網絡,在參考過去信息值的同時,應用未來的信息,以實現時序信息在預測中的效益最大化。文獻[13-14]同時利用過去與未來的天氣預報信息,提高了風電功率預測的精度。文獻[15]基于時間模式注意力(temporal pattern attention, TPA)機制,從BiLSTM網絡得到的隱藏行向量中提取多風機間的復雜聯系,從而降低預測誤差。文獻[16]建立了遺傳算法改進的雙向長短期記憶人工神經網絡,用于微電網中不同時間尺度的光伏功率預測。BiLSTM利用時序數據的雙向信息值來聯系預測關系已經被證明能夠有效提高風電功率的預測精度[17-18]。
以上方法均通過信息處理、權重分配、深度學習和模型優化來研究風電預測過程。但是,在利用人工智能算法時,均未深入挖掘智能算法與風電預測的深層聯系,算法設參后固定不變,在風電功率與數據的相關性研究方面探討地不夠深入,使得預測精度有一定的局限性。現考慮智能算法主動適應風電數據變化,利用深度學習方法進行預測。
考慮風電場數據與風電功率之間的相關性,現采用CNN與BiLSTM 相結合的神經網絡,充分挖掘風電功率的時序特征,并通過灰狼優化算法(grey wolf optimizer, GWO)對神經網絡參數進行優化。主要工作包括:
(1)對風電場歷史數據進行相關性分析,明確風電參數特征與風電功率的關系,選取相關性較強的風電參數特征投入后續模型訓練。
(2)提出CNN-BiLSTM組合深度學習模型,將CNN與BiLSTM結合起來,先對處理后的風電數據利用CNN快速提取數據特征,再通過BiLSTM獲取其過去與未來的時序特性,以進行風電功率預測。
(3)為充分挖掘風電特征間深層次聯系,進一步提高預測精度,提出GWO-CNN-BiLSTM組合模型,采用GWO對CNN-BiLSTM模型進一步優化,使所提模型的網絡參數能夠實時地適應風電歷史數據,最后將GWO-CNN-BiLSTM模型與CNN-BiLSTM模型在較長時間風況劇烈波動場景下進行風電功率預測對比,結果分析表明本文所提模型能夠達到更優的預測性能。
在實際的風電預測數據中,風電功率往往與風速與風向等特征具有較強的線性相關特性,而與溫度、氣壓以及濕度等特征關系并不明顯。在深度學習過程中,呈現極弱相關性的大量數據投入算法訓練中,往往會降低預測精度,且使得預測時間過于漫長。原因在于弱相關性特征彼此之間存在深層次的相關性,冗雜的數據輸入不僅干擾訓練過程,更會影響模型的穩定性。因此,選取合適的風電數據特征進行相關性分析。
在自然科學領域中,皮爾遜相關系數r廣泛應用于度量兩個變量之間的相關程度,其值介于-1~1之間。皮爾遜相關系數表達式為
(1)

當計算結果為正值時,表示該特征與預測功率呈正相關,其值越大,線性相關程度則越高。通常情況通過表1取值范圍判斷變量的相關程度。
當計算結果為負值時,則為負相關。判斷情況參照正相關。
選取某小型風電場2017年1—2月歷史數據進行分析,包括70 m高度風向、70 m高度風速、溫度、氣壓、濕度、空氣密度、云量、降水量以及風電場平均發電功率,取樣時間間隔為5 min。根據皮爾遜相關系數公式,計算可得各個特征值與風電功率之間的相關系數如表2所示。

表1 相關系數與相關程度表Table 1 Correlation coefficient and correlation degree

表2 各特征值之間的相關系數Table 2 Correlation coefficient between characteristic values
由表2可以看出,對風電預測功率影響最大的參數特征是風速,其相關系數為0.92,表現出極強相關特性;其次依次為風向、氣壓、溫度、濕度,空氣密度、降水量及云量,其特征均表現出弱相關或極弱相關性。為避免數據冗雜堆積影響預測精度,不宜考慮呈現極弱相關性特征,所以在下文的模型訓練中將風向、風速、氣壓、溫度及濕度五個特征設置為變量投入模型進行訓練。
1.2.1 卷積神經網絡
卷積神經網絡(CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡,經常被用來處理空間信息丟失、效率低下以及過擬合等問題[19]。CNN結構包括輸入層、卷積層、激活層、池化層、全連接層及輸出層。
CNN主要結構為卷積層,其內部包含多個卷積核,組成卷積核的每個元素均對應一個權重系數與一個偏差量,來完成特征提取。其原理如圖1所示。
CNN卷積層中濾波器可以看作由多個卷積核堆疊形成,其維度小于輸入數據維度。通過濾波器在輸入數據上滑動完成卷積運算,從而提取特征完成降維。

圖1 CNN卷積層原理圖Fig.1 Schematic diagram of CNN convolution layer
1.2.2 雙向長短期記憶神經網絡
為處理長時間序列,研究人員提出了LSTM結構。區別于RNN的重復神經網絡模塊的鏈式結構,LSTM重復的模塊擁有一個不同的結構,LSTM神經網絡層以一種特殊的方式交互,其核心思想是細胞狀態[20]。其結構圖如圖2所示。

圖2 LSTM結構Fig.2 Structure of LSTM
遺忘門f(t)是LSTM工作的第一步,它決定哪些內容從上一個細胞狀態中丟棄。遺忘門通過讀取上一個細胞狀態的輸出H(t-1)與當前細胞狀態輸入x(t),通過sig函數層,對應上一時刻細胞狀態的信息C(t-1),決定哪些內容保留,以避免梯度消失與爆炸問題。
輸入門通過更新重要信息,即決定哪些新信息保留在細胞狀態中。輸入門中H(t-1)與x(t)通過sig函數得到輸入門i(t)來確定需要保留的值,通過tanh層得到中間細胞狀態信息C*(t),并更新細胞狀態由C(t-1)到當前細胞狀態信息C(t)。
輸出門基于細胞狀態來確定輸出值,H(t-1)與x(t)通過sig函數得到的記憶細胞的輸出O(t)來決定哪部分細胞狀態需要被輸出,而后與C(t) 通過tanh層得到的值相乘,其值作為輸出H(t)。各個變量之間的計算公式為
f(t)=sig{Wf[H(t-1),x(t)]+bf}
(2)
i(t)=sig{Wi[H(t-1),x(t)]+bi}
(3)
C*(t)=tanh{Wc[H(t-1),x(t)]+bc}
(4)
C(t)=f(t)C(t-1)+i(t)C*(t)
(5)
O(t)=sig{Wo[H(t-1),x(t)]+bo}
(6)
H(t)=O(t)tanh[C(t)]
(7)
式中:Wf、Wi、Wc、Wo分別為遺忘門、輸入門、t時刻細胞狀態更新與輸出門中各模塊對應的權重矩陣;bf、bi、bc、bo為上述各模塊偏置項。
單向的LSTM雖具有處理長時間序列的特點,但它只能通過歷史數據進行預測。在其基礎上,衍生出了雙向的LSTM即BiLSTM,BiLSTM具有能夠利用歷史數據以及未來信息進行預測的能力,參照歷史風電數據與未來的天氣預報信息,BiLSTM更適合應用于風電預測來推導出風電功率。其結構如圖3所示。
BiLSTM神經網絡結構模型分為2條LSTM網絡,其思想是將同一個輸入序列分別接入前向和后向的兩個LSTM中,然后將兩個網絡的隱藏層連在一起,共同接入輸出層。
1.2.3 CNN-BiLSTM網絡
CNN具有良好的特征提取能力,但隨著輸入序列的增加,CNN捕獲序列之間依賴關系的能力就會變差,而BiLSTM可以綜合考慮歷史風電數據以及未來天氣情況,能夠捕獲長序列間的依賴性關系,可以很好地克服CNN的不足,因此將CNN與BiLSTM結合起來[21-22]。CNN-BiLSTM結構如圖4所示。

圖3 BiLSTM結構圖Fig.3 Structure of BiLSTM

圖4 CNN-BiLSTM結構圖Fig.4 Structure of CNN-BiLSTM
灰狼優化算法(GWO)是一種模擬自然界中灰狼的等級制度與狩獵行為的群智能算法。其獨特之處在于一小部分擁有絕對話語權的灰狼帶領一群灰狼向獵物前進[23]。在一個狼群中,灰狼分為α、β、δ和ω四個等級,上級灰狼對下級灰狼有絕對支配權,如圖5所示。

圖5 灰狼等級圖Fig.5 Gray wolf level chart
第一層:α層狼群。狼群領導者——優化算法最優解。
第二層:β層狼群。狼群次領導者,協助α層狼群——優化算法次優解。
第三層:δ層狼群。服從α和β的決策——適應度差的α和β會降為δ。
第四層:ω層狼群。負責執行上級決策,圍繞α、β和δ進行位置更新。
優化過程分為包圍、追捕和攻擊三個階段。在GWO中,灰狼包圍階段位置更新為
X(t+1)=XP(t+1)-AD
(8)
D=|CXP(t)-X(t)|
(9)
A=2ar1-a
(10)
C=2r2
(11)
式中:X表示灰狼位置;t為迭代次數;X(t+1)表示以獵物為參考更新后的灰狼位置;XP表示獵物位置;D為灰狼與獵物的距離向量;r1與r2是在[0,1]內隨機數;A和C為向量系數,A表示模擬灰狼對獵物的攻擊,取值受收斂因子a的影響,而a的取值隨著迭代次數從2到0線性遞減。
在追捕過程中,獵物(最優解)位置是未知的,因此在GWO中假設α、β和δ對最優解更為了解與接近。迭代過程中α、β和δ來指引ω移動,從而實現全局最優化,位置更新為
Dα=|C1Xα(t)-X(t)|
(12)
Dβ=|C2Xβ(t)-X(t)|
(13)
Dδ=|C3Xδ(t)-X(t)|
(14)
X1=Xα(t)-A1Dα
(15)
X2=Xβ(t)-A2Dβ
(16)
X3=Xδ(t)-A3Dδ
(17)
式中:X1、X2和X3分別為ω與α、β和δ的距離向量;X(t+1)為ω受α、β和δ影響調整的位置。取平均值,即得
(18)
當獵物停止移動,灰狼通過攻擊完成狩獵。在優化過程中,當a的值從2線性下降到0時,A的值也在區間[-a,a]內變化,當A>1時,狼群進行全局搜索,當A<1時,進行局部搜索。
風電功率作為一種時間序列,受到自然風的影響,具有強烈隨機性、波動性,為準確預測風電功率,所使用的基于GWO-CNN-BiLSTM的預測模型的流程如圖6所示。其主要改進是在傳統CNN-BiLSTM模型基礎上,將GWO優化模塊添加到BiLSTM訓練模塊中,對學習率、隱藏層神經元個數和正則化參數進行優化,增加數據相關性,增強特征的表現能力,使得后續的CNN-BiLSTM預測模塊可以學習到風電特征間更深層次的非線性關系,增強擬合程度,使預測精度更高。
首先風電數據輸入CNN模塊,CNN在減少空間信息損失的前提下,對輸入的數據特征進行提取與降維;其次生成訓練集與測試集,在BiLSTM模塊中訓練,在訓練過程中應用GWO模塊不斷對其網絡參數進行優化,得出最優值后完成訓練;最后通過測試集輸出風電預測功率,建立起風電特征與功率之間的模型,完成基于GWO-CNN-BiLSTM的風電預測。

圖6 基于GWO-CNN-BiLSTM的預測模型流程圖Fig.6 Flow chart of prediction model based on GWO-CNN-BiLSTM
以美國愛荷華州艾奧瓦城風力發電場2017年檢測數據集進行仿真驗證,該數據集間隔時長為5 min,取2—3月部分數據(10 071條),取前9 571條數據用作訓練,后500條數據用作測試。數據特征包括該風力發電場風速、風向、溫度、氣壓和濕度,一共5個特征。分別使用CNN、BiLSTM、CNN-BiLSTM以及GWO-CNN-BiLSTM四種模型進行仿真對比,仿真環境為MatlabR2022b,CPU AMD R7 5800H,RAM 16.0GB。
模型參數分別設置為:最大訓練次數10、梯度閾值1、全局學習率0.001、在訓練過程中選擇降低學習率、學習率降低因子0.1、小批量處理大小128、BiLSTM隱藏層層數2,GWO-CNN-BiLSTM模型中選擇GWO優化目標為學習率、隱藏層神經元個數和正則化參數,GWO設置狼群數量5、最大迭代次數5。所有模型(CNN、BiLSTM、CNN-BiLSTM、GWO-CNN-BiLSTM)輸入均為上述所選5種特征,輸出為預測功率。
本算例采用平均絕對誤差(mean absolute error,MAE)、均方根誤差(root mean squared error,RMSE)與回歸評測指標(R2)作為性能指標,計算公式為
(19)
(20)
(21)

圖7為各模型對測試集數據的預測結果,可以發現GWO-CNN-BiLSTM模型與CNN-BiLSTM在整個預測過程中更加貼近實際功率曲線,且GWO-CNN-BiLSTM的偏離程度更小,更貼切于實際功率。
根據表3中各模型性能指標表明,CNN-BiLSTM模型MAE、RMSE和R2較CNN模型與BiLSTM模型分別下降了與上升了51.50%、47.26%、13.92%與38.86%、30.42%、7.15%;而GWO-CNN-BiLSTM模型MAE、RMSE和R2較CNN模型與BiLSTM模型分別下降了與上升了54.40%、60.25%、18.45%與49.39%、47.56%、11.42%;而GWO-CNN-BiLSTM模型各評價指標較CNN-BiLSTM模型分別上升與下降了17.22%、24.63%與3.97%,預測精度有了明顯的提升,充分說明了在本文中GWO-CNN-BiLSTM模型相較于其他模型的優越性。

圖7 各模型預測結果Fig.7 Prediction results of various models

表3 各模型預測性能指標Table 3 Prediction performance indicators of each model
在3.3節中已經分析了在風電預測中采用GWO-CNN-BiLSTM模型的有效性和優越性,但以上分析是基于一般風況情況下。當風電場在某一段時間內因氣象等因素存在風況變化劇烈且波動時間較長時,如何對此時的風電功率進行準確預測是一大重點問題。為體現本文GWO-CNN-BiLSTM模型的劇烈風況適應性,選取風電場歷史數據中功率變化劇烈的一段,時間間隔為5 min,共1 539條測試數據,分別選取上文預測特性良好的CNN-BiLSTM模型與GWO-CNN-BiLSTM模型在功率變化劇烈階段進行預測分析對比,驗證兩種模型的魯棒性。為使預測結果更為精確,調整相應模型的參數設置。其中CNN-BiLSTM模型在此階段的功率預測圖如圖8所示。

圖8 風況波動劇烈時段CNN-BiLSTM模型預測結果圖Fig.8 The prediction results of CNN-BiLSTM model in the period of severe wind fluctuation
由圖8可以看出,CNN-BiLSTM模型在風況波動劇烈的場景下,功率較大階段,例如時序數據為0~50與 250~300的時間序列,變化幅度比較緩慢,適應實際輸出功率快速變化的能力較差,且預測值在功率高峰期均與實際功率有出入;而在實際功率快速下降階段,如時序數據為700~850與1 200~1 400的時間序列,預測功率變化雖比較頻繁,但跟蹤效果不是特別好,預測值與實際值差別較大,變化趨勢也不是特別吻合;在風電實際功率接近0的階段,甚至出現了預測功率為負值的情況,且波動幅度較大。
如圖9所示為同等風況條件下采用GWO-CNN-BiLSTM模型預測圖。由圖9可以清楚地看出,GWO-CNN-BiLSTM模型更貼近實際風電輸出功率曲線,在功率較大階段,例如時序數據為150~250與450~500的時間序列,變化幅度較大,且均未超出實際功率,曲線更為貼合;而在實際功率快速下降階段,如時序數據為250~300的時間序列,幾乎準確地吻合了實際輸出功率曲線,誤差比較小,其他低功率階段精度也較高;在風電功率接近0的階段,采用GWO-CNN-BiLSTM模型的預測功率比實際功率稍偏小,同樣出現負值的情況,但波動幅度較小。
兩張預測模型性能指標對比可以參照表4,通過表4可以發現,在這個預測集中,GWO-CNN-BiLSTM模型的MAE、RMSE、和R2較CNN-BiLSTM模型分別上升與下降了20.60%、7.51%與0.2%。在風況波動較為劇烈的這一階段,在加入GWO優化學習率、隱藏層神經元個數與正則化參數前提下,GWO-CNN-BiLSTM模型能夠更好地對波動性作出應對,較CNN-BiLSTM模型做出更為精準的風電功率預測。
分析其原因在于,當風況變化劇烈時,除卻與預測精度關聯性最高的風速特征外,風向、溫度、氣壓以及濕度等弱關聯性特征也會出現幅度較大的波動。如果預測模型與弱關聯性特征不能建立穩固的聯系,在特征發生較大波動時,勢必會對模型的預測精度有影響,從而導致預測值的偏差。綜上所述,本文所提出的GWO-CNN-BiLSTM模型通過GWO優化了訓練過程中的參數,動態地跟隨風況數據進行預測,增強了特征的表現力,使預測模型能夠更好地挖掘到不同特征間的隱藏聯系,尤其實現了對弱關聯特征間的關系的精確提取,提高了風電預測的精度。
充分考慮了風電預測過程中的不同特征與預測功率的關聯性,如溫度、風向等弱關聯性特征的影響,提出了基于GWO-CNN-BiLSTM的短期風電功率預測方法,通過仿真驗證了以下結論。
(1)將具有良好的數據特征提取能力的CNN模型與良好時序特性的BiLSTM模型結合起來,充分考慮風電的特性,CNN-BiLSTM模型比CNN模型與BiLSTM模型更能把控風電特征,預測精度也較CNN模型與BiLSTM模型分別提高了47.26%與30.42%。
(2)考慮風電歷史數據中不同特征對預測功率的影響程度,加入GWO優化模型進行訓練,可以有效地提高預測模型對非線性特征以及深層次弱關聯性特征的學習能力,更精準地把控風電特征與預測值的隱藏關系,將預測模型的精度較沒有GWO算法加入前提高了7.51%。
(3)在較長時間風況劇烈波動階段,不僅強關聯性特征波動較大,弱關聯性特征也有較為劇烈的波動,由于GWO-CNN-BiLSTM模型的更強學習能力以及對數據的更深入挖掘能力,使得模型能夠敏銳地跟蹤風電特征的快速變化,對風電功率的預測更為精準。