任文鳳,馮志亮,杜艷麗,段昱臻
(北華大學(xué)電氣與信息工程學(xué)院,吉林 吉林 132021)
風(fēng)能,因避免了火電的環(huán)境污染及水電的生態(tài)影響,在我國(guó)得到了廣泛應(yīng)用.為了保證電網(wǎng)的安全運(yùn)行,有必要也必須對(duì)風(fēng)力發(fā)電系統(tǒng)進(jìn)行有效的規(guī)劃和控制,因此,風(fēng)電場(chǎng)短期功率預(yù)測(cè)相關(guān)研究的重要性顯而易見(jiàn)[1].針對(duì)風(fēng)電功率預(yù)測(cè)問(wèn)題,學(xué)者們提出了多種預(yù)測(cè)方法,大致可以分為物理法和統(tǒng)計(jì)法[2-5]兩類(lèi),常用的有持續(xù)法(Persistence Approach)[6]、時(shí)間序列法(Time Series Method)[7]、支持向量機(jī)法(Support Vector Machine,SVM)[8]、人工神經(jīng)網(wǎng)絡(luò)法(Artificial Neural Network,ANN)[9]、模糊邏輯法(Fuzzy Logic)[10]以及這些方法的組合方法等[11-12].比如,文獻(xiàn)[13]采用SVM預(yù)測(cè)了風(fēng)電功率,結(jié)果顯示,作為機(jī)器學(xué)習(xí)算法,SVM有較好的數(shù)學(xué)理論支撐,且對(duì)于小數(shù)據(jù)集預(yù)測(cè)有較好的預(yù)測(cè)精度和泛化能力,但在大數(shù)據(jù)集下,SVM的特征提取比較困難,導(dǎo)致精度下降;文獻(xiàn)[14]對(duì)比了深度學(xué)習(xí)算法長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)與自回歸移動(dòng)平均模型(Autoregressive Integrated Moving Average Mode,ARIMA),證明了基于神經(jīng)網(wǎng)絡(luò)LSTM的風(fēng)力發(fā)電功率時(shí)序預(yù)測(cè)方法可以更好地?cái)M合原始風(fēng)力發(fā)電功率曲線,但對(duì)于變化復(fù)雜的發(fā)電功率而言,單一的網(wǎng)絡(luò)并不能充分提取原始數(shù)據(jù)信息,導(dǎo)致預(yù)測(cè)精度并不是很好;文獻(xiàn)[15]采用了小波變換(Wavelet Transform,WT)和LSTM相結(jié)合的方法預(yù)測(cè)風(fēng)電功率,結(jié)果表明,WT可以消除模態(tài)混疊現(xiàn)象,相比單一神經(jīng)網(wǎng)絡(luò)性能要更好,但是在高頻下預(yù)測(cè)精度并不是很理想;文獻(xiàn)[16]提出了天氣狀況與雙向長(zhǎng)短期記憶(Bi-directional Long Short-Term Memory,BiLSTM)相結(jié)合的預(yù)測(cè)方法,整體預(yù)測(cè)效果很好,但是由于風(fēng)電功率和天氣狀況都需要預(yù)測(cè),可變因素增多,且由于特征值太多導(dǎo)致神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果有較強(qiáng)的滯后性.盡管使用組合方法預(yù)測(cè)風(fēng)電功率的方法已經(jīng)很普遍,但尚未見(jiàn)將分解方法和多種神經(jīng)網(wǎng)絡(luò)相結(jié)合預(yù)測(cè)風(fēng)電功率的研究成果.基于此,本文提出1種將變分模態(tài)分解(Variational Mode Decomposition,VMD)和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)及BiLSTM相結(jié)合的風(fēng)力發(fā)電功率預(yù)測(cè)方法.采用VMD技術(shù)將不規(guī)則、波動(dòng)性較大的風(fēng)電功率曲線分解為多個(gè)光滑、平穩(wěn)的曲線組合,對(duì)這些曲線分別建立DNN或BiLSTM預(yù)測(cè)模型,將各個(gè)曲線的預(yù)測(cè)結(jié)果進(jìn)行線性疊加.為了確保所提出方法的預(yù)測(cè)準(zhǔn)確性,利用預(yù)測(cè)值與原始數(shù)據(jù)計(jì)算預(yù)測(cè)誤差,并根據(jù)我國(guó)某風(fēng)電場(chǎng)的實(shí)際數(shù)據(jù),運(yùn)用深度學(xué)習(xí)框架Keras對(duì)其進(jìn)行仿真.
風(fēng)電功率預(yù)測(cè)系統(tǒng)包括模型訓(xùn)練和預(yù)測(cè)推理兩部分,總體框架見(jiàn)圖1.
1)模型訓(xùn)練.首先對(duì)原始風(fēng)電功率數(shù)據(jù)進(jìn)行預(yù)處理,然后對(duì)處理后的數(shù)據(jù)進(jìn)行VMD分解,將分解得到的數(shù)據(jù)轉(zhuǎn)化為有監(jiān)督學(xué)習(xí)問(wèn)題,利用訓(xùn)練數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集訓(xùn)練模型,經(jīng)過(guò)多次迭代后得到最終模型;
2)預(yù)測(cè)推理.測(cè)試數(shù)據(jù)集數(shù)據(jù)經(jīng)VMD分解后放入已經(jīng)訓(xùn)練完成的模型中,得到預(yù)測(cè)功率值,計(jì)算誤差.
DNN神經(jīng)網(wǎng)絡(luò)是層與層之間全連接的神經(jīng)網(wǎng)絡(luò),算法相對(duì)簡(jiǎn)單,在訓(xùn)練和預(yù)測(cè)時(shí)運(yùn)算速度較快,非常適合對(duì)預(yù)測(cè)速度和精度有要求的風(fēng)電功率預(yù)測(cè),但由于是全連接,導(dǎo)致網(wǎng)絡(luò)極易過(guò)擬合,所以在構(gòu)建網(wǎng)絡(luò)時(shí)需要更好地調(diào)節(jié)超參數(shù).
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一種適合處理序列問(wèn)題的神經(jīng)網(wǎng)絡(luò),能夠結(jié)合“上下文”信息預(yù)測(cè)新信息,但容易出現(xiàn)梯度消失;而LSTM在充分利用時(shí)間序列數(shù)據(jù)的同時(shí),可以克服RNN梯度消失的問(wèn)題,彌補(bǔ)不具有長(zhǎng)期記憶能力的不足;BiLSTM比LSTM多了1個(gè)反向隱含層,利用輸入特征與下一時(shí)刻預(yù)測(cè)值間的聯(lián)系提高模型的特征學(xué)習(xí)強(qiáng)度.BiLSTM的優(yōu)勢(shì)在于利用兩個(gè)方向的網(wǎng)絡(luò)預(yù)測(cè)同一節(jié)點(diǎn)的數(shù)據(jù),兩層神經(jīng)網(wǎng)絡(luò)獨(dú)立計(jì)算,分別生成各自的狀態(tài)向量和輸出,最終將兩層網(wǎng)絡(luò)輸出簡(jiǎn)單拼接得到最終輸出,模型的預(yù)測(cè)能力得到了提高.
為了選取合適的神經(jīng)網(wǎng)絡(luò)模型,在選取合適超參數(shù)的情況下,分別建立了DNN、LSTM、BiLSTM預(yù)測(cè)模型.預(yù)測(cè)結(jié)果對(duì)比見(jiàn)圖2(每次間隔15 min,下同),模型訓(xùn)練網(wǎng)絡(luò)超參數(shù)選取及測(cè)試集誤差分別見(jiàn)表1、表2(選擇在迭代過(guò)程中Loss最小的模型進(jìn)行保存,所以網(wǎng)絡(luò)訓(xùn)練迭代次數(shù)不同).其中,評(píng)價(jià)指標(biāo)均方根誤差(Root Mean Squared Error,RMSE)[3]、平均絕對(duì)誤差(Mean Absolute Error,MAE)計(jì)算公式[5]分別為
式中:ft為t時(shí)刻的實(shí)際功率;ht為t時(shí)刻的預(yù)測(cè)功率;P為風(fēng)機(jī)的開(kāi)機(jī)容量;N為所有樣本數(shù)量.
由預(yù)測(cè)數(shù)據(jù)與原始風(fēng)電功率數(shù)據(jù)的重合度以及測(cè)試數(shù)據(jù)集的誤差可知:DNN和BiLSTM相對(duì)于LSTM來(lái)說(shuō)能夠更好地實(shí)現(xiàn)風(fēng)電功率預(yù)測(cè),但是由于原始數(shù)據(jù)特征過(guò)多,導(dǎo)致單獨(dú)的神經(jīng)網(wǎng)絡(luò)并不能將特征完整提取出來(lái),體現(xiàn)在預(yù)測(cè)結(jié)果上表現(xiàn)為產(chǎn)生時(shí)間滯后.
單一網(wǎng)絡(luò)雖然能夠預(yù)測(cè)風(fēng)電功率,但其單步預(yù)測(cè)時(shí)的誤差已經(jīng)達(dá)到了14.6%,多步預(yù)測(cè)時(shí)誤差會(huì)更高,很難滿足國(guó)家風(fēng)電功率預(yù)測(cè)精度的要求,因此,需要充分提取原始數(shù)據(jù),以提高預(yù)測(cè)精度.
VMD是Dragomiretskiy等于2014年提出的一種新的分解方法[17],它結(jié)合了Wiener filtering、Hilbert變換和混頻技術(shù),能夠更準(zhǔn)確地分解波動(dòng)信號(hào),減少模態(tài)混合,VMD分解的目的在于將一個(gè)波動(dòng)性較強(qiáng)的信號(hào)分解為K個(gè)規(guī)律性較明顯的信號(hào).假設(shè)每個(gè)模態(tài)分量uk(t)都有中心頻率和有限帶寬,則原始風(fēng)電信號(hào)f(t)可以表示為K個(gè)IMF分量的和,并且所有模態(tài)分量的帶寬之和最小.IMF表達(dá)式為
uk(t)=Ak(t)cos[φk(t)],
式中:φk(t)為uk(t)的相位;Ak(t)為uk(t)的瞬時(shí)幅值;k為第k個(gè)固有模態(tài)分量.
VMD分解過(guò)程:
3)依次更新uk、wk、λ[17]:
4)提高迭代次數(shù)并返回到步驟2),直到收斂.收斂準(zhǔn)則[17]:
VMD需要預(yù)設(shè)K值,對(duì)不同K值進(jìn)行仿真得到各個(gè)分解結(jié)果及平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE).K取不同值時(shí)的MAPE見(jiàn)表3.評(píng)價(jià)指標(biāo)MAPE[16]計(jì)算公式為
表3 K取不同值時(shí)的MAPETab.3 MAPE when K takes different values
MAPE在5%以內(nèi)為可接受范圍.由表3可知:MAPE開(kāi)始低于5%時(shí)的分解數(shù)量為15個(gè),由于分解次數(shù)過(guò)多會(huì)導(dǎo)致虛假分量的產(chǎn)生,因此,在進(jìn)行最終的風(fēng)電功率預(yù)測(cè)時(shí),K取15,也就是最終風(fēng)電功率序列被分解成15個(gè)IMF和的形式.將分解得到的15個(gè)IMF分量數(shù)據(jù)存入csv文件,以便在建立風(fēng)電功率預(yù)測(cè)模型時(shí)調(diào)用.
為了驗(yàn)證VMD的效果,分別對(duì)DNN、BiLSTM以及經(jīng)過(guò)VMD分解的DNN、BiLSTM進(jìn)行仿真.4種模型預(yù)測(cè)結(jié)果對(duì)比見(jiàn)圖3,不同預(yù)測(cè)模型得到的RMSE和MAE見(jiàn)表4.由圖3和表4可知:經(jīng)過(guò)VMD分解,DNN和BiLSTM的誤差有了明顯降低,證明VMD對(duì)風(fēng)電功率預(yù)測(cè)起到了重要作用.
表4 不同預(yù)測(cè)模型得到的RMSE和MAE
為了驗(yàn)證VMD-DNN-BiLSTM混合算法的優(yōu)勢(shì),以我國(guó)某風(fēng)電場(chǎng)為研究對(duì)象進(jìn)行仿真分析.該風(fēng)電場(chǎng)裝機(jī)容量為58.5 MW,以其中1臺(tái)風(fēng)機(jī)第2季度的發(fā)電數(shù)據(jù)為依據(jù)進(jìn)行算例分析.根據(jù)設(shè)計(jì)的風(fēng)電功率預(yù)測(cè)模型,運(yùn)用深度學(xué)習(xí)框架Keras進(jìn)行仿真.
1)剔除異常數(shù)據(jù);
2)對(duì)大于額定功率的數(shù)據(jù)用額定功率代替,小于0的數(shù)據(jù)用0代替;
3)將低于切入風(fēng)速的數(shù)據(jù)置0,超出切出風(fēng)速的數(shù)據(jù)整體剔除;
4)在數(shù)據(jù)缺失處,將其前后的數(shù)據(jù)取均值作為缺失數(shù)據(jù).
為了評(píng)估DNN和BiLSTM在不同IMF分量的表現(xiàn),對(duì)VMD分解得到的不同IMF分量分別建立DNN和BiLSTM滾動(dòng)多步預(yù)測(cè)模型,其中,第1個(gè)IMF分量特征較少,第15個(gè)IMF分量特征較多.不同IMF分量誤差見(jiàn)表5.
表5 DNN和BiLSTM在不同IMF分量的誤差Tab.5 Error results of DNN and BiLSTM in different IMF components
由表5可知:DNN對(duì)分量IMF1~4預(yù)測(cè)效果更好,BiLSTM對(duì)分量IMF5~15預(yù)測(cè)效果更好.因此,為了更好地實(shí)現(xiàn)風(fēng)電功率預(yù)測(cè),采用將DNN和BiLSTM相結(jié)合的方式進(jìn)行預(yù)測(cè),對(duì)分量IMF1~4建立DNN滾動(dòng)多步預(yù)測(cè)模型,對(duì)分量IMF5~15建立BiLSTM滾動(dòng)多步預(yù)測(cè)模型.對(duì)于不同超參數(shù),神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的擬合能力與準(zhǔn)確率都不盡相同,因此,要選擇更優(yōu)的超參數(shù),如學(xué)習(xí)率選擇10-3的準(zhǔn)確率要優(yōu)于10-2;第1層網(wǎng)絡(luò)的神經(jīng)元選擇64個(gè)節(jié)點(diǎn)可以在充分提取特征的同時(shí)不影響訓(xùn)練速度,而選擇128個(gè)節(jié)點(diǎn)會(huì)造成網(wǎng)絡(luò)過(guò)擬合.為了評(píng)估VMD-DNN-BiLSTM預(yù)測(cè)模型的預(yù)測(cè)性能,將其與VMD-DNN及VMD-BiLSTM模型進(jìn)行對(duì)比,3種模型單步預(yù)測(cè)結(jié)果見(jiàn)圖4,多步預(yù)測(cè)誤差結(jié)果見(jiàn)表6.
滾動(dòng)多步預(yù)測(cè)雖然可以對(duì)風(fēng)電功率進(jìn)行長(zhǎng)時(shí)間預(yù)測(cè),但是會(huì)產(chǎn)生累積誤差,時(shí)間越長(zhǎng),誤差越大.由圖4、表6可知:總體上,3種方法都能較好地預(yù)測(cè)風(fēng)電功率.在滾動(dòng)多步預(yù)測(cè)中,雖然VMD-DNN-BiLSTM在滾動(dòng)單步時(shí)RMSE和MAE與VMD-DNN和VMD-BiLSTM方法相近,但隨著滾動(dòng)步數(shù)的增加,VMD-DNN-BiLSTM的優(yōu)勢(shì)得到了更好體現(xiàn),RMSE和MAE都與另外兩種方法逐漸拉開(kāi)差距,表明VMD-DNN-BiLSTM相對(duì)于其他兩種方法而言,能更好地?cái)M合出風(fēng)電功率序列.
表6 3種模型多步預(yù)測(cè)誤差Tab.6 Error results of multi-step prediction of three models
為了提高短期風(fēng)電功率的預(yù)測(cè)精度,提出了1種基于VMD-DNN-BiLSTM的預(yù)測(cè)方法.結(jié)果表明,相對(duì)于直接對(duì)原始風(fēng)電功率數(shù)據(jù)進(jìn)行預(yù)測(cè),本文方法可在一定程度上提高預(yù)測(cè)精度,并且可以解決預(yù)測(cè)滯后問(wèn)題.
1)采用VMD分解風(fēng)電功率數(shù)據(jù),可以減少特征,降低后續(xù)的預(yù)測(cè)難度;同時(shí),可以減少神經(jīng)網(wǎng)絡(luò)參數(shù),降低網(wǎng)絡(luò)深度,提高預(yù)測(cè)速度.
2)LSTM神經(jīng)網(wǎng)絡(luò)能夠有效利用歷史風(fēng)電功率序列信息,通過(guò)優(yōu)選參數(shù)提高模型預(yù)測(cè)性能,實(shí)現(xiàn)對(duì)風(fēng)電功率的短期預(yù)測(cè);BiLSTM相對(duì)于LSTM能從兩個(gè)方向捕捉時(shí)間序列的特征信息,更充分地利用時(shí)間序列提高預(yù)測(cè)精度.
3)VMD和DNN與BiLSTM結(jié)合,能夠有效利用各自優(yōu)勢(shì),將直接對(duì)波動(dòng)性較強(qiáng)的風(fēng)電功率預(yù)測(cè)轉(zhuǎn)化為對(duì)規(guī)律較為明顯的數(shù)據(jù)進(jìn)行預(yù)測(cè),并在不同的IMF分量上使用不同的預(yù)測(cè)網(wǎng)絡(luò),進(jìn)一步提高了整個(gè)預(yù)測(cè)模型的準(zhǔn)確率.
現(xiàn)階段的研究?jī)H僅是圍繞風(fēng)電功率歷史數(shù)據(jù)展開(kāi)的,下一步將把風(fēng)電場(chǎng)的物理氣候信息也作為特征輸入,建立更加完善的風(fēng)電功率預(yù)測(cè)系統(tǒng).