劉昱辰,許傲然,谷彩連,高 陽
(沈陽工程學(xué)院 電力學(xué)院,遼寧 沈陽 110136)
近年來,風(fēng)電的開發(fā)利用量逐漸增加,但由于風(fēng)能存在極大的不確定性和不穩(wěn)定性,導(dǎo)致了發(fā)電質(zhì)量變差,這對電網(wǎng)安全造成了威脅,若能提前對風(fēng)電功率做出預(yù)測,就可以合理規(guī)劃發(fā)電計劃,減少此類問題的發(fā)生[1-4]。
文獻(xiàn)[5]利用BP神經(jīng)網(wǎng)絡(luò),使用粒子群優(yōu)化其輸入?yún)?shù),經(jīng)過隨機森林模型與其融合得出風(fēng)電功率預(yù)測值。文獻(xiàn)[6]對風(fēng)能數(shù)據(jù)進(jìn)行FEEMFD 分解,分配權(quán)重以預(yù)測風(fēng)電功率,但其對數(shù)據(jù)依賴性較高。文獻(xiàn)[7]使用混合模型預(yù)測法,結(jié)合各個模型對未來的風(fēng)電功率進(jìn)行預(yù)測,但其建模復(fù)雜,訓(xùn)練時間長。文獻(xiàn)[8]使用遺傳-變異優(yōu)化算法優(yōu)化神經(jīng)網(wǎng)絡(luò),達(dá)到尋優(yōu)的目的,但運算復(fù)雜度高。
本文針對風(fēng)速和風(fēng)力的時間序列相關(guān)特性,基于聲雷達(dá)所獲取的數(shù)據(jù),使用特定的模型對其分別進(jìn)行多步預(yù)測,再經(jīng)過深度FCN 對風(fēng)電功率進(jìn)行訓(xùn)練,得出預(yù)測模型,為風(fēng)電功率多步預(yù)測及提前預(yù)測提出一種新思路。
普通的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在進(jìn)行訓(xùn)練時,其逆向傳播過程無法應(yīng)對一些在遞歸時發(fā)生的梯度爆炸或梯度逐漸消失的問題,而使用LSTM 網(wǎng)絡(luò)則可以較好地解決這種問題[9]。LSTM 網(wǎng)絡(luò)具有LSTM 區(qū)塊,可構(gòu)成智能網(wǎng)絡(luò)單元,作用于記憶可定時間長度的變量信息,其結(jié)構(gòu)中的門控可以控制輸入變量是否能被神經(jīng)元計算,以及是否能被輸出層的神經(jīng)元當(dāng)作輸出。
對于風(fēng)能數(shù)據(jù)的預(yù)測,由于風(fēng)具有時延性,先前時刻的數(shù)據(jù)對下一時刻的風(fēng)能數(shù)據(jù)存在一定的影響,而其中的門控可以選擇是否利用風(fēng)能數(shù)據(jù)值。使用LSTM 網(wǎng)絡(luò)可以達(dá)到對風(fēng)能提前預(yù)測、多步預(yù)測的理想效果。
廖雪超等[10]將注意力機制和LSTM 網(wǎng)絡(luò)相結(jié)合,提出了風(fēng)電預(yù)測思路,但注意力機制用于風(fēng)功率預(yù)測時無法體現(xiàn)各高度風(fēng)力的變化特點,也就不能做到功率精細(xì)化提前預(yù)測。鹿凱等[11]利用自適應(yīng)模態(tài)分解將風(fēng)數(shù)據(jù)分頻,最后使用支持向量機調(diào)參來提高風(fēng)電預(yù)測精準(zhǔn)度,但其模型在分頻時容易出現(xiàn)數(shù)據(jù)失真,進(jìn)而丟失重要風(fēng)能數(shù)據(jù)。文獻(xiàn)[12]使用粒子群算法優(yōu)化LSTM 網(wǎng)絡(luò),驗證了選擇好的參數(shù)可以使模型收斂更快,預(yù)測結(jié)果更加準(zhǔn)確,但粒子群尋優(yōu)具有不確定性,且以歷史數(shù)據(jù)作為未來預(yù)測參考價值較低,對多步預(yù)測的準(zhǔn)確度沒有太大提高。
LSTM 的遺忘門在訓(xùn)練時會讀取上一層輸出的ht-1和當(dāng)前輸入xt,該層會決定“丟棄”還是“保留并傳輸”各風(fēng)能的歷史值。若對兩者分別賦一個權(quán)重,則可以表示各個時刻風(fēng)能數(shù)據(jù)對將來預(yù)測值的影響,可用Wf表示:
式中,bf代表偏置,可隨訓(xùn)練誤差調(diào)整;ft為該層的輸出。
得到輸出后,則要經(jīng)過sigmoid 層和tanh 層對得到的數(shù)據(jù)分別進(jìn)行更新和創(chuàng)建新候選值操作,得到:
最后,通過運行sigmoid 層決定將上一層細(xì)胞哪些輸出值進(jìn)行處理并作為輸出,然后再次使用tanh 活化函數(shù)處理細(xì)胞狀態(tài),與sigmoid 門輸出做相乘處理,便可以得到想要的輸出。若使用該模型對影響風(fēng)機發(fā)電功率的因素進(jìn)行預(yù)測,遺忘門則可以決定哪些狀態(tài)(風(fēng)能數(shù)據(jù))會被保留并當(dāng)作下一層的輸入,以及這些狀態(tài)對預(yù)測值的影響,通過激活函數(shù)tanh,得到LSTM網(wǎng)絡(luò)輸出值。
對于短期風(fēng)速多步預(yù)測,式中xt為當(dāng)前時刻的風(fēng)速數(shù)據(jù),輸入到網(wǎng)絡(luò)單元中,經(jīng)過σ與下一時刻的風(fēng)速做相關(guān)性處理,則代表上一時刻預(yù)測單元為當(dāng)前時刻所準(zhǔn)備的單元狀態(tài),應(yīng)與當(dāng)前輸入結(jié)合,獲得中間值,進(jìn)行預(yù)測;而下一σ與tanh門則保存了先前時段LSTM 單元所處理的風(fēng)速數(shù)據(jù),再將兩個經(jīng)過處理的風(fēng)速數(shù)據(jù)進(jìn)行相乘等處理以得到當(dāng)前風(fēng)速結(jié)果。
在將LSTM 網(wǎng)絡(luò)應(yīng)用于風(fēng)電功率預(yù)測時,文獻(xiàn)[13]通過控制前向傳播中輸入數(shù)據(jù)被存儲和激活的時機,調(diào)整記憶細(xì)胞,計算輸入數(shù)值天氣預(yù)報數(shù)據(jù)在各單元中的狀態(tài)。計算方法:數(shù)據(jù)經(jīng)過各單元的記憶功能后,通過sigmoid 函數(shù)激活并傳給下一層,最終將各個單元狀態(tài)整合表示為輸出。
在本文中,聲雷達(dá)所獲取的風(fēng)速數(shù)據(jù)可以作為輸入,假設(shè)聲雷達(dá)風(fēng)速序列向量為X,則其序列中必定有對未來預(yù)測較為重要的量和不重要的量,經(jīng)過式(1)可計算出該序列中的值對未來預(yù)測值的“重要程度”,再經(jīng)過式(2)的權(quán)重配置,分別使用sigmoid及tanh激活得出輸出值,其表達(dá)式為
相較于LSTM 網(wǎng)絡(luò),GRU 更易于訓(xùn)練,對于較為復(fù)雜的風(fēng)向數(shù)據(jù)同樣能達(dá)到期望的精準(zhǔn)效果,而且可以簡化網(wǎng)絡(luò)結(jié)構(gòu),加快訓(xùn)練過程,并解決了潛在的復(fù)雜數(shù)據(jù)下過擬合的問題[14]。GRU 有重置門和更新門2 個門。其中,重置門可以決定如何將剛剛輸入的風(fēng)向數(shù)據(jù)信息與歷史輸入信息結(jié)合,這需要通過網(wǎng)絡(luò)訓(xùn)練來實現(xiàn);更新門則是代表歷史記憶變量保存到當(dāng)前計算過程的量,也就是保存到當(dāng)前時間段的歷史風(fēng)速數(shù)據(jù)量。相比于上文的LSTM網(wǎng)絡(luò),GRU 僅有2 個門,并且在計算輸出時不需要應(yīng)用二階非線性。
在重置門中,門控狀態(tài)表示為
式中,σ為sigmoid 函數(shù),作為門控信號可以將數(shù)據(jù)變換為0~1 之間的值;xt為當(dāng)前時刻(第t個時間段)網(wǎng)絡(luò)節(jié)點的輸入向量,即當(dāng)前時刻的風(fēng)向偏角;Ht-1為上一個單元傳輸?shù)疆?dāng)前單元的狀態(tài),即經(jīng)過上一單元處理后的風(fēng)向角度。
在更新門中,時間步t使用以下公式計算門控狀態(tài)zt:
此時輸入風(fēng)向xt經(jīng)過線性變換矩陣Wz的作用,與經(jīng)過線性變換的t-1步的風(fēng)向信息相加,共同作用到sigmoid激活函數(shù)上,這些風(fēng)向值會被映射到區(qū)間[0,1]內(nèi),然后將其輸出到下一層的神經(jīng)元中。
最后,GRU網(wǎng)絡(luò)需要計算ht,這個向量也具有時序特性,可以將先前保留的信息傳入到下一單元,此過程使用更新門決定當(dāng)前時間序列所記憶的變量和上一個時間序列ht-1需要的信息,計算式如下:
其中,zt表示更新門經(jīng)過激活函數(shù)的結(jié)果,也以門控方式使信息從該門流入;式中為Hadamard乘積,表示前一個時間序列的風(fēng)向數(shù)據(jù)保留到最終記憶單元的風(fēng)向信息中,這個信息加上當(dāng)前記憶信息保留到最終記憶單元信息中時,就可以得到GRU輸出的風(fēng)向角度結(jié)果。
GRU 作為風(fēng)向預(yù)測模型時,其可以視作是對LSTM 的一種改進(jìn)。文獻(xiàn)[15]確定了輸入值與單元狀態(tài)之間的相關(guān)度,通過獲得上一時刻的隱藏狀態(tài)值來調(diào)整GRU 網(wǎng)絡(luò)的特性及性能,將數(shù)值天氣預(yù)報數(shù)據(jù)經(jīng)過劃分特性輸入到模型中,經(jīng)過權(quán)重矩陣處理得出候選值。
本文將聲雷達(dá)所獲取到的風(fēng)向角度信息輸入到GRU網(wǎng)絡(luò)中,假設(shè)用X'表示角度向量,風(fēng)向預(yù)測輸出表達(dá)式為
聲雷達(dá)的風(fēng)向數(shù)據(jù)在經(jīng)過2 個節(jié)點輸入后,乘以對應(yīng)的權(quán)重,使用sigmoid 函數(shù)處理這個輸出值即可得到rt。門控狀態(tài)同樣經(jīng)過sigmoid 函數(shù)激活,最后使用當(dāng)前狀態(tài)信息加上一記憶信息即可得到輸出Y'。
聲雷達(dá)可以使用雷達(dá)原理探測大氣流動以實時遙測大氣各個要素,例如風(fēng)向、風(fēng)速、氣壓等。本文使用東北某風(fēng)電場2019~2020年的風(fēng)力數(shù)據(jù)。在聲雷達(dá)設(shè)備獲取的各種風(fēng)功率數(shù)據(jù)中,不同類型數(shù)據(jù)量綱是不同的,對風(fēng)機發(fā)電功率的影響也是不同的,所以在建模時應(yīng)篩去對風(fēng)機發(fā)電功率影響較小的因素,以加快模型收斂速度和優(yōu)化模型輸出結(jié)果。本文選取10、30、50、70 m風(fēng)速和風(fēng)向為例來預(yù)測發(fā)電功率。在使用神經(jīng)網(wǎng)絡(luò)預(yù)測時,需要先去除中間的離群數(shù)據(jù)及異常數(shù)據(jù),使用先前的時刻值填充,使數(shù)據(jù)集更加平滑,確保神經(jīng)網(wǎng)絡(luò)訓(xùn)練的正常進(jìn)行。最后,使用均值-方差歸一化方法按列向量歸一化。
LSTM 網(wǎng)絡(luò)和GRU 網(wǎng)絡(luò)雖然相似,但也有不同之處,本文通過預(yù)測模擬來選取適合二者的預(yù)測模型。本文將歷史風(fēng)能數(shù)據(jù)分別進(jìn)行訓(xùn)練,將各個高度處的風(fēng)速輸入到LSTM 神經(jīng)網(wǎng)絡(luò)中,用歷史中多個周期的數(shù)據(jù)預(yù)測未來的數(shù)據(jù),將各個高度的風(fēng)向數(shù)據(jù)輸入到GRU 網(wǎng)絡(luò)中,得到下一時間段的風(fēng)向數(shù)據(jù)。
針對多步預(yù)測可能出現(xiàn)的誤差累積問題,本文在考慮實際操作流程的同時,經(jīng)過深度網(wǎng)絡(luò)優(yōu)化可以確保該模型的誤差在允許范圍內(nèi)。
在得到相關(guān)預(yù)測數(shù)據(jù)后,本文將這些數(shù)據(jù)輸入到全連接網(wǎng)絡(luò)層進(jìn)行訓(xùn)練,經(jīng)過多次迭代模擬、學(xué)習(xí)率及模型隱含層復(fù)雜度的選擇,得出合適的全連接網(wǎng)絡(luò)預(yù)測模型。
對于全連接網(wǎng)絡(luò)而言,感知機的輸入為
式中,x和w分別表示各個高度處的風(fēng)速/風(fēng)向數(shù)據(jù)及其在網(wǎng)絡(luò)中的權(quán)重。
在全連接層中,首先輸入的風(fēng)能資源數(shù)據(jù)及功率數(shù)據(jù)需要經(jīng)過前向傳播處理,這時神經(jīng)網(wǎng)絡(luò)將原始風(fēng)能數(shù)據(jù)與權(quán)重(各個數(shù)據(jù)與風(fēng)電功率的相關(guān)程度)相乘,再加上一個偏置,經(jīng)過激活函數(shù)即可得出前向傳播一層的輸出;其次是反向傳播,根據(jù)遇險者定好的損失函數(shù),對初始權(quán)重及偏置進(jìn)行更新,不斷迭代計算損失,當(dāng)這個值小于允許的閾值時,說明該模型滿足實際要求。本文所利用的損失函數(shù)為均方誤差函數(shù),可用下式表示:
式中,E表示數(shù)學(xué)期望,代表網(wǎng)絡(luò)在一個循環(huán)中所得到的結(jié)果。
式(9)可以衡量神經(jīng)網(wǎng)絡(luò)輸出風(fēng)能信息(風(fēng)速、功率等)與實際值之間的偏差,反映輸出的準(zhǔn)確性。
綜上所述,在預(yù)測未來一段時間內(nèi)的風(fēng)力發(fā)電功率時,把歷史數(shù)據(jù)輸入到模型中進(jìn)行訓(xùn)練,再利用該模型的輸入經(jīng)過LSTM 網(wǎng)絡(luò)和GRU 網(wǎng)絡(luò)的輸出結(jié)果,即可得出生產(chǎn)工作需要的風(fēng)電功率數(shù)據(jù)。風(fēng)力及風(fēng)向數(shù)據(jù)與功率的關(guān)系可用下式表示:
式中,v代表風(fēng)速;D代表風(fēng)向偏角;Φ代表兩者與功率的約束條件。
整個神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)構(gòu)如圖1 所示,其中全連接層即為FCN層。
圖1 整個神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)構(gòu)
對于LSTM 及GRU 層,預(yù)測流程如圖2 所示,其中輸入為以時間序列為基準(zhǔn)的風(fēng)向或風(fēng)速值,由LSTM 或GRU 單元決定其被處理的方式,并對以后時刻進(jìn)行預(yù)測,以此類推,當(dāng)誤差驗證達(dá)到閾值或迭代次數(shù)達(dá)到閾值時,停止并輸出結(jié)果。
圖2 數(shù)據(jù)流預(yù)測走向
本文中涉及到的聲雷達(dá)數(shù)據(jù)來源于東北地區(qū)某風(fēng)電場實測數(shù)據(jù),場址編號為J00004。
首先對風(fēng)速和風(fēng)向信息進(jìn)行多步預(yù)測,將經(jīng)過歸一化的數(shù)據(jù)輸入到LSTM 神經(jīng)網(wǎng)絡(luò)中,經(jīng)過訓(xùn)練和擬合可以得到風(fēng)速預(yù)測結(jié)果,如圖3所示。
圖3 10 m處風(fēng)速多步預(yù)測結(jié)果
從圖3 可以看出:預(yù)測初期風(fēng)速相對準(zhǔn)確,到后期由于模型特性存在累積誤差,雖然有所偏移,但誤差均在允許范圍內(nèi),且大致走勢與實際風(fēng)速相同。然后對風(fēng)向信息進(jìn)行預(yù)測,將歷史風(fēng)向數(shù)據(jù)經(jīng)過歸一化后輸入到GRU 網(wǎng)絡(luò)中,可得到如圖4 所示的結(jié)果。
圖4 10 m處風(fēng)向多步預(yù)測結(jié)果
仿真結(jié)果表明:各個高度的風(fēng)速均方根誤差值可限制在0.2以內(nèi),平均誤差絕對值為0.04;風(fēng)向的均方根誤差值可以限制在0.024 以內(nèi),平均誤差絕對值在4.0以內(nèi)。這樣的仿真結(jié)果對下一步的全連接層預(yù)測是可以接受的。在全連接層使用2 個隱藏層的10-10 結(jié)構(gòu)網(wǎng)絡(luò)模型,控制學(xué)習(xí)率為0.001,模型的風(fēng)電功率預(yù)測效果如圖5所示。
圖5 風(fēng)電功率預(yù)測結(jié)果
以上樣本點均為順序時間序列的樣本點,其總時間約為72 h。
通過編程計算得知:使用該組合模型的風(fēng)電功率預(yù)測均方根誤差相比于其他神經(jīng)網(wǎng)絡(luò)有所降低,其值為0.16,平均誤差小于1.2;而粒子群優(yōu)化的BP 網(wǎng)絡(luò)均方根誤差值在0.53 以上,遺傳算法優(yōu)化網(wǎng)絡(luò)的誤差值也在2.0以上。本模型滿足預(yù)期結(jié)果且優(yōu)于其他常見模型,可以為實際生產(chǎn)提供參考。如果能配合電力電子器件濾波,風(fēng)機發(fā)電功率則會更加平滑,預(yù)測結(jié)果準(zhǔn)確度也會進(jìn)一步提高。預(yù)測結(jié)果如表1所示。
表1 LSTM-GRU-FCN模型預(yù)測效果
本文提出了基于LSTM-GRU 的風(fēng)電功率多步預(yù)測模型,以及全連接網(wǎng)絡(luò)多步預(yù)測的一種風(fēng)電功率預(yù)測方法。該方法可以通過前一時段聲雷達(dá)獲取的風(fēng)速和風(fēng)向的數(shù)據(jù),在訓(xùn)練時給予分配不同的權(quán)重得到未來時刻的預(yù)測結(jié)果,且可以利用上一步的輸出,再循環(huán)預(yù)測,做到多步預(yù)測。研究結(jié)果表明:首先使用LSTM-GRU 預(yù)測風(fēng)速和風(fēng)向,然后再經(jīng)過全連接網(wǎng)絡(luò)計算輸出值,這比以往單純一個或多個模型結(jié)合權(quán)重配置的預(yù)測精度要高,對其他以時序為基礎(chǔ)的可再生能源序列預(yù)測有一定參考意義。
本文所提出風(fēng)電功率預(yù)測模型所達(dá)到的效果如下:
1)使用聲雷達(dá)實時獲取的數(shù)據(jù)比數(shù)值天氣預(yù)報的有所提高;
2)針對不同的變量選擇了不同的多步預(yù)測模型,根據(jù)數(shù)據(jù)的收斂要求有針對性的提高了運算效率;
3)為了解決全局多步預(yù)測的誤差累積問題,本文在后期應(yīng)使用全連接網(wǎng)絡(luò)進(jìn)行預(yù)測。
本文所使用的模型可以推廣到實際生產(chǎn)應(yīng)用中針對單個風(fēng)機建模,可以得出未來一段短期時間內(nèi)的功率預(yù)測,這對現(xiàn)場生產(chǎn)與操作有著指導(dǎo)意義。如果未來能將數(shù)值天氣預(yù)報使用聯(lián)網(wǎng)等方式實時傳入系統(tǒng),參與神經(jīng)網(wǎng)絡(luò)訓(xùn)練,則可以進(jìn)一步提高預(yù)測精準(zhǔn)度。