薛 陽, 張 寧, 俞志程, 吳海東, 李 蕊
(上海電力大學 自動化工程學院, 上海 200090)
在全球化石能源日漸枯竭的背景下, 可再生能源的開發(fā)和利用已成為世界各國關(guān)注的焦點。風能作為可再生能源的重要組成部分, 在改善生態(tài)環(huán)境、 促進能源消費結(jié)構(gòu)轉(zhuǎn)型中發(fā)揮了關(guān)鍵作用。由于風能具有較強的間歇性和隨機性,導(dǎo)致風電機組的功率波動。因此,準確可靠的風電功率預(yù)測對于降低運行成本、 提高電力系統(tǒng)的安全可靠性具有十分重要的意義[1],[2]。
目前, 國內(nèi)外學者針對風電功率的預(yù)測方法開展了大量研究,主要包括物理方法、基于統(tǒng)計學的方法和組合預(yù)測方法。其中,物理方法對風機及天氣等相關(guān)信息需求較多,預(yù)測工作較復(fù)雜,而統(tǒng)計學方法僅需通過歷史數(shù)據(jù)建立影響因素與風電功率的關(guān)系即可完成預(yù)測。研究表明,單一的預(yù)測方法大都存在精度較低的缺陷,因此,基于統(tǒng)計學的組合預(yù)測方法受到了廣泛關(guān)注。 文獻[3]提出了一種應(yīng)用改進的烏鴉算法對回聲狀態(tài)神經(jīng)網(wǎng)絡(luò)輸出層連接權(quán)重矩陣進行優(yōu)化的短期風電功率組合預(yù)測方法。 文獻[4]提出了一種結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和門控循環(huán)單元的超短期風電預(yù)測方法。 上述文獻主要針對風電功率進行確定性預(yù)測,精度不高。在風電機組實際運行中, 確定性預(yù)測方法難以滿足系統(tǒng)運行對準確度的需求, 故有學者在組合方法的基礎(chǔ)上提出了區(qū)間預(yù)測方法, 以彌補確定性預(yù)測方法的不足。
區(qū)間預(yù)測方法充分考慮了不確定性因素引起的預(yù)測誤差, 在給定置信水平下得到風電功率的上限和下限,為調(diào)度提供更有效的信息。相關(guān)學者已經(jīng)在區(qū)間預(yù)測領(lǐng)域取得了一定的成果。 文獻[5]提出了基于人工蜂群改進的ABC-BP 神經(jīng)網(wǎng)絡(luò)算法,該方法具有準確性高、均方誤差小的優(yōu)點,同時收斂速度加快,具有更好的穩(wěn)定性和魯棒性,可以有效預(yù)測發(fā)電量的變化。 文獻[6]提出了一種基于深度學習分位數(shù)的預(yù)測方法, 運用Adam 隨機梯度下降法在不同分位數(shù)條件下對長短期記憶網(wǎng)絡(luò)(LSTM)的不同參數(shù)進行估計,得出未來時刻風電功率的預(yù)測區(qū)間。 上述方法主要從引入優(yōu)化算法的角度對風電功率進行建模預(yù)測, 為風電功率區(qū)間預(yù)測提供了新的思考, 但并未從結(jié)構(gòu)上對神經(jīng)網(wǎng)絡(luò)進行改進, 存在進一步提高預(yù)測精度的可能。
為了有效解決上述問題, 本文提出了一種基于雙向長短期記憶網(wǎng)絡(luò) (BiLSTM) 和自助法(Bootstrap)的組合預(yù)測模型B-BiLSTM。 首先,構(gòu)建包含原始風電功率數(shù)據(jù)和相應(yīng)的歷史風速數(shù)據(jù)的多變量時間序列樣本。其次,將樣本進行歸一化處理, 并按照一定比例將樣本劃分為訓練集和測試集,再利用Bootstrap 方法進行重新采樣獲得多個訓練樣本。 接下來, 構(gòu)建風電功率區(qū)間預(yù)測的BiLSTM 模型,并利用人工蜂群算法對網(wǎng)絡(luò)超參數(shù)進行優(yōu)化,以提高模型的預(yù)測精度。 最后,獲得風電功率區(qū)間的預(yù)測結(jié)果。 算例分析結(jié)果表明,與LSTM 等其他方法相比, 本文提出的預(yù)測方法在功率波動明顯的情況下具有更窄的帶寬, 能更好地預(yù)測未來風電功率的變化趨勢。
風電功率具有很強的波動性和隨機性, 影響因素主要表現(xiàn)在風速、風電轉(zhuǎn)換過程、風電機組固有特性以及風電系統(tǒng)外部4 個方面。 上述因素共同作用,造成了風電功率數(shù)據(jù)的嚴重非線性,增加了風電功率預(yù)測的難度。 表1 為各影響因素的具體內(nèi)容。
表1 風電功率影響因素Table 1 Affecting factors of wind power
Bootstrap 方法由Efron 提出, 已被廣泛應(yīng)用于時間序列的重采樣問題和區(qū)間預(yù)測問題[7]~[9]。尤其在數(shù)據(jù)波動明顯的條件下, 該方法可以顯著提高區(qū)間預(yù)測的準確率。
本文采用非參數(shù)化的Bootstrap 進行重采樣過程,基本原理:設(shè)實際測量的數(shù)據(jù)集容量為M,對數(shù)據(jù)集中參數(shù)進行估計; 當選中原始數(shù)據(jù)集中的一個數(shù)據(jù), 它被再次選中并被再次添加到訓練集中的概率為1/M, 有放回的抽取M 次, 得到Bootstrap 樣本集,按照上述步驟重復(fù)N 次,就可以得到N 個Bootstrap 樣本集,在每一個樣本集上都有對應(yīng)的估計量, 利用這個樣本集來反映估計值的概率分布和隨機性特征。
在樣本的獲取過程中引入Bootstrap 方法能夠較好地克服風電功率時間序列的異方差性。 本文采取通過多次采樣獲得多個訓練樣本的方法提高模型參數(shù)估計的精度,從而提高預(yù)測的精度。
風電功率區(qū)間預(yù)測利用歷史風電功率和風速數(shù)據(jù)集H 建立Bootstrap 樣本,采用基于點預(yù)測方法得到每個Bootstrap 樣本的風電功率預(yù)測值,通過該預(yù)測值序列構(gòu)造一個預(yù)測區(qū)間。
(1)獲取歷史風電功率和風力因素數(shù)據(jù)集,建立原始樣本序列Q=[q1,q2,…,qr],q∈N+。
(2)按照1.2 節(jié)中方法建立N 個Bootstrap 樣本P1,P2…,PN。
(3)對每個Bootstrap 樣本進行點預(yù)測建模,獲得預(yù)測值。
(4)通過步驟(3)中N 個點預(yù)測模型分別對測試樣本進行預(yù)測,獲得包含N 個預(yù)測值的序列S。
(5)利用百分位數(shù)區(qū)間估計法對S 進行估計,得到風電功率的預(yù)測區(qū)間。
循環(huán)神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network,RNN)是一種具有記憶能力的遞歸神經(jīng)網(wǎng)絡(luò),可以用來分析時間序列數(shù)據(jù)。圖1 為RNN 的拓撲結(jié)構(gòu)圖。 圖中:X 為輸入序列,X=(x0,x1,…,xt);Y 為輸出序列,Y=(y0,y1, …,yt);W 為隱含層狀態(tài),W=(w0,w1, …,wt);A 為從輸入層連接到隱含層的權(quán)重矩陣;B 為從隱含層到輸出層的權(quán)重矩陣;C 為隱含層自反饋權(quán)重矩陣。
圖1 RNN 的拓撲結(jié)構(gòu)圖Fig.1 Topology diagram of RNN
RNN 可以看作一個在時間上傳遞的神經(jīng)網(wǎng)絡(luò), 但在對長序列進行訓練時會出現(xiàn)梯度消失或梯度爆炸現(xiàn)象。為了解決這個問題,有學者提出了LSTM 神經(jīng)網(wǎng)絡(luò)。
LSTM 是RNN 的一種特殊變體,其隱含層由普通神經(jīng)元被替換為包含門控機制的記憶單元,從而解決了梯度消失問題, 但LSTM 無法編碼從后到前的信息,BiLSTM 的提出彌補了其不足,BiLSTM 由前向和后向LSTM 結(jié)合而成。圖2 所示為BiLSTM 的拓撲結(jié)構(gòu), 用于學習特定時間的過去特征和未來特征[10]。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法相比,BiLSTM 具有記憶能力,并且前向傳播層和后向傳播層共同連接到輸出層,考慮了數(shù)據(jù)間的關(guān)聯(lián)性,使輸出結(jié)果更加精確。
圖2 BiLSTM 的拓撲結(jié)構(gòu)圖Fig.2 Topology diagram of BiLSTM
人工蜂群算法是由Karaboga D 受蜂群配合尋找食物的行為啟發(fā)而提出的一種優(yōu)化算法[11]。因具有操作簡單、控制參數(shù)少、魯棒性強的優(yōu)點,在多目標優(yōu)化中具有較快的收斂速度和更高的精度。 利用人工蜂群算法改進BiLSTM 神經(jīng)網(wǎng)絡(luò)(ABC-BiLSTM),將求解BiLSTM(初始權(quán)重和偏置項)的最優(yōu)解變換為求解蜂群最優(yōu)食物源。通過優(yōu)化后的ABC-BiLSTM 模型對數(shù)據(jù)進行訓練,能夠在更短的時間內(nèi)獲得更加精確的結(jié)果。 優(yōu)化步驟如下。
(1)構(gòu)建BiLSTM 網(wǎng)絡(luò)。 將BiLSTM 網(wǎng)絡(luò)的輸入層和隱藏層、 隱藏層和輸出層之間的參數(shù)用行向量表示。
(2)初始化ABC 的訓練參數(shù)。 將食物源的個數(shù)N、蜂群大小、采蜜蜂數(shù)量、跟隨蜂數(shù)量、解的數(shù)量、 失敗次數(shù)極限值以及最大循環(huán)次數(shù)作為訓練參數(shù)。
(3)每個食物源的適應(yīng)度函數(shù)值fitm為
式中:fitm為第m 個解的適應(yīng)度值,m=1,2,…,N;fm為目標函數(shù), 本文采用BiLSTM 神經(jīng)網(wǎng)絡(luò)的預(yù)測值與實際值的交叉熵作為目標函數(shù)。
(4)采蜜蜂在當前食物源Xm領(lǐng)域搜索產(chǎn)生新食物源Vm,并依據(jù)貪婪原則選擇適應(yīng)度值大的食物源。
式中:k∈{1,2,…,n}是隨機產(chǎn)生的,且k≠m;n∈{1,2,…,D},D 為行向量維數(shù)。
(5)跟隨蜂按概率P 在當前食物源進行搜索尋找新的食物源, 并根據(jù)貪婪原則選擇適應(yīng)度值大的食物源。
式中:Pm為第m 個解的概率。
(6)如果食物源沒有更新,則其對應(yīng)的更新失敗次數(shù)加1。 如果食物源的更新失敗次數(shù)超過了極限值,則跟隨蜂變?yōu)閭刹榉洌鶕?jù)式(2)尋找新的食物源,并將失敗次數(shù)初始化為0。 假設(shè)舍棄的食物源是Xm和n,則有:
(8)將ABC 得到的最優(yōu)解作為BiLSTM 的初始權(quán)重和偏置項,訓練BiLSTM 神經(jīng)網(wǎng)絡(luò)。
(9)將得到的結(jié)果用于仿真預(yù)測。
ABC-BiLSTM 的流程圖如圖3 所示。
圖3 ABC-BiLSTM 流程圖Fig.Flow chart of ABC-BiLSTM
風電功率數(shù)據(jù)本身具有波動特征,且受風速、風電轉(zhuǎn)換過程、風電機組及其他外部因素的影響,因此,其功率序列存在很大程度的非線性特性,使用常規(guī)學習預(yù)測方法對預(yù)測精度的提升較為有限。 考慮到Bootstrap 方法在克服風電功率時間序列的異方差性的突出優(yōu)勢, 以及BiLSTM 在時序數(shù)據(jù)建模中的優(yōu)異表現(xiàn), 本文提出一種B-BiLSTM 組合預(yù)測模型,在保證預(yù)測精度的同時縮小預(yù)測區(qū)間面積。 具體建模過程如下。
(1)獲取原始風電功率數(shù)據(jù)和相應(yīng)的歷史氣象數(shù)據(jù),構(gòu)成多變量時間序列樣本,對樣本進行歸一化處理至[0,1]區(qū)間,并按照9∶1 的比例劃分訓練樣本與測試樣本。
(2)針對風電功率序列的波動性特征,采用Bootstrap 方法對樣本進行重采樣處理, 得到多個訓練樣本和測試樣本。
(3)構(gòu)建BiLSTM 神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并采用ABC 算法對預(yù)測模型的超參數(shù)進行尋優(yōu),獲得最佳的超參數(shù)組合。
(4)訓練優(yōu)化后的預(yù)測模型,并輸入測試樣本,獲得給定置信水平下的區(qū)間預(yù)測結(jié)果。
(5)與實際數(shù)據(jù)對比,通過多種指標來評估預(yù)測模型的預(yù)測性能。
模型的評價指標主要有預(yù)測區(qū)間覆蓋率(PICP)和平均預(yù)測區(qū)間寬度(PINAW)兩方面。
式中:Tt為預(yù)測樣本數(shù);κ 為布爾量, 如果預(yù)測值包含于預(yù)測區(qū)間內(nèi),則κ=1,否則κ=0;R 為預(yù)測值的變化范圍,用于對PINAW 進行歸一化處理。
算例所用數(shù)據(jù)為我國某沿海城市風電場2018 年的風電功率實測數(shù)據(jù), 采樣周期為15 min。在131 400 條原始數(shù)據(jù)中,按照9∶1 劃分為訓練樣本和測試樣本。 設(shè)置Bootstrap 抽樣次數(shù)為1 000 次,為保證預(yù)測結(jié)果的可靠性,通常選取較高的置信水平, 本文選用的置信水平為90%和95%。ABC 中的蜂群大小為200,食物源的數(shù)量為100,極限值為100,最大循環(huán)次數(shù)為25。將本文提出的預(yù)測方法與相同置信水平下基于Bootstrap的LSTM(B-LSTM)等方法的預(yù)測結(jié)果進行對比,圖4 和圖5 分別為在90%的置信水平下,不同日期下24 h 內(nèi)B-BiLSTM 和B-LSTM 的風電功率區(qū)間預(yù)測結(jié)果。
圖4 4 月23 日預(yù)測結(jié)果對比Fig.4 Comparison of prediction results on April 23
圖5 10 月23 日預(yù)測結(jié)果對比Fig.5 Comparison of prediction results on October 23
由圖4,5 可知: 在同一日期下, 相較于BLSTM 的預(yù)測結(jié)果,B-BiLSTM 的預(yù)測區(qū)間可以更大程度地覆蓋實際的輸出功率點, 且比B-LSTM具有更窄的帶寬;不同日期下,隨著風電功率的波動性增強,B-LSTM 模型穩(wěn)定性降低且?guī)捗黠@增加, 而B-BiLSTM 模型在保證覆蓋率和穩(wěn)定性的同時,帶寬基本不受影響,驗證了其對于提升預(yù)測性能的有效性。
表2 為B-BiLSTM 與B-LSTM 方法和傳統(tǒng)方法在不同置信水平下預(yù)測結(jié)果的評價指標對比。
表2 不同置信水平下各算法對比結(jié)果(4 月23-29 日)Table 2 Comparison results of different algorithms at different confidence levels(April 23-29) %
由表2 可知: 隨著置信水平的提高, 帶寬增大,但覆蓋實際功率點的效果更佳;在不同的置信水平下,相較于其他方法,本文提出的B-BiLSTM方法具有更高的PICP 和更窄的PINAW。
本文針對風電功率的不確定性提出了一種基于B-BiLSTM 的風電功率區(qū)間預(yù)測方法, 得到以下結(jié)論。
①在分析風電功率特征及影響因素的基礎(chǔ)上,采用Bootstrap 方法對樣本進行重采樣,提高了模型參數(shù)估計的精度。
②利用BiLSTM 神經(jīng)網(wǎng)絡(luò)的循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)和門控特性,實現(xiàn)對序列的時序關(guān)聯(lián)性捕捉,再引入ABC 算法對BiLSTM 神經(jīng)網(wǎng)絡(luò)的超參數(shù)進行優(yōu)化,克服經(jīng)驗選取的弊端,使預(yù)測結(jié)果更加精確、更具魯棒性。
③以PICP,PINAW 為評價指標,利用相同置信水平下風電場實際數(shù)據(jù)與基于Bootstrap 的LSTM 神經(jīng)網(wǎng)絡(luò)及傳統(tǒng)方法進行對比, 算例結(jié)果表明,在保證一定PICP 的情況下,本文提出的區(qū)間預(yù)測方法具有比其他方法更高的PICP 和更窄的PINAW。