丁 同,傅曉錦*,劉明旺
(1.上海電機(jī)學(xué)院機(jī)械學(xué)院,上海 201306;2.中國鐵塔股份有限公司宿遷市分公司,江蘇 宿遷 223800)
目前,全球風(fēng)電容量持續(xù)增長[1],風(fēng)力發(fā)電占據(jù)電力系統(tǒng)的重要地位.為了平衡電力供需,須準(zhǔn)確預(yù)測風(fēng)電功率,以便配合熱能系統(tǒng)和能量存儲(chǔ)系統(tǒng)的整合調(diào)度.由于自然風(fēng)易受氣象條件影響,具有隨機(jī)性,難以預(yù)測短期內(nèi)風(fēng)力發(fā)電量,極大削弱了風(fēng)力發(fā)電的市場競爭力[2].因此,提高風(fēng)電功率預(yù)測(wind power prediction,WPP)的準(zhǔn)確性,可為能量平衡計(jì)算和功率調(diào)度提供有效信息,降低風(fēng)電波動(dòng)對(duì)能量系統(tǒng)的影響[3].
近年來,國內(nèi)外專家學(xué)者對(duì)風(fēng)電預(yù)測進(jìn)行了廣泛研究.Huang等[4]采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)結(jié)合最小二乘法和批標(biāo)準(zhǔn)化(batch normalization,BN)處理數(shù)據(jù)并建立預(yù)測模型,模型精度顯著提升,但未能很好剔除無效數(shù)據(jù);李文武等[5]將變分模態(tài)分解(variational mode decomposition,VMD)分解后的數(shù)據(jù)作為輸入,提高了預(yù)測精度,但無法體現(xiàn)數(shù)據(jù)內(nèi)在特征;劉帥等[6]利用自回歸滑動(dòng)平均模型(auto regressive moving average model,ARMA)修正預(yù)測值,預(yù)測效果較好,但數(shù)據(jù)預(yù)處理時(shí)須依據(jù)經(jīng)驗(yàn)選取臨界率;文孝強(qiáng)等[7]利用經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition,EMD)與蟻群優(yōu)化算法建立預(yù)測模型,預(yù)測精度有所提高,但該算法的模態(tài)混疊端點(diǎn)效應(yīng)易產(chǎn)生誤差信號(hào).針對(duì)上述問題,本文擬通過遺傳算法(genetic algorithm,GA)確定VMD模數(shù),提出一種基于VMD和雙向長短期記憶網(wǎng)絡(luò)(bi-directional long short-term memory,BiLSTM)的新型風(fēng)電功率預(yù)測模型,以期獲得更高精度的風(fēng)電功率預(yù)測效果.
VMD是一種以維納濾波為基礎(chǔ),基于變分約束模型的非遞歸分解方法,構(gòu)造變分模型并求取模型的最優(yōu)解,再將復(fù)雜多分量信號(hào)分解成K個(gè)有意義的模態(tài)函數(shù)[8].具體實(shí)現(xiàn)步驟如下:
1) 建立變分模型.將原始信號(hào)f(t)分解成K個(gè)分量,各分量具有中心頻率的有限帶寬,用Hilbert變換解調(diào)解析信號(hào),然后將信號(hào)平移到基帶并混合中心頻率估計(jì)信號(hào)帶寬,使得各模態(tài)的估計(jì)帶寬之和最小并保證各個(gè)分量之和與原始信號(hào)相同.構(gòu)造變分函數(shù)模型
(1)
其中uk和ωk分別為分解后第k個(gè)模態(tài)分量和中心頻率,?t為時(shí)間t的偏導(dǎo)數(shù),δ(t)為狄拉克函數(shù),j為虛數(shù)單位,uk(t)為模態(tài)函數(shù).
2) 求解變分模型最優(yōu)解.引入拉格朗日乘數(shù)法算子λ(t),拉格朗日參數(shù)λ和二次懲罰參數(shù)α,將式(1)轉(zhuǎn)化為增廣拉格朗日函數(shù)
(2)
經(jīng)迭代計(jì)算,得到第K個(gè)模態(tài)分量
(3)
通過以上建模和迭代計(jì)算過程,完成原始信號(hào)的變分模態(tài)分解.
為得到最佳分解效果,將遺傳算法與VMD技術(shù)相結(jié)合,求取目標(biāo)函數(shù)最優(yōu)解,以此獲得最優(yōu)分解個(gè)數(shù)和懲罰因子[9].將VMD重構(gòu)過程定義為函數(shù)
fvmd(SN[n],K,α)={uk|k=1,2,…,K},
(4)
(5)
本文利用VMD算法將風(fēng)電功率數(shù)據(jù)分解成多個(gè)子函數(shù),子函數(shù)作為模型輸入,Loss值越小,分解損失越小,子函數(shù)中包含的信息越多,預(yù)測結(jié)果越精確.因此,采用遺傳算法求取最優(yōu)分解個(gè)數(shù).設(shè)置參數(shù)優(yōu)化模型,定義遺傳算法適應(yīng)度函數(shù)
(6)
(7)
通過遺傳算法中的交叉和變異過程,選取自適應(yīng)策略并計(jì)算適應(yīng)度,確定最優(yōu)分解個(gè)數(shù)和懲罰因子,分解原始信號(hào),輸入預(yù)測模型.
遺傳算法參數(shù)設(shè)置和計(jì)算步驟如下:1) 設(shè)置種群個(gè)體數(shù)為8,最大迭代次數(shù)為20;2) 根據(jù)適應(yīng)度,采用競標(biāo)賽法選擇個(gè)體;3) 選中個(gè)體通過交叉和變異操作產(chǎn)生后代;4) 計(jì)算后代的適應(yīng)度;5) 合并后代和上一代的個(gè)體,并根據(jù)適應(yīng)度進(jìn)行排序;6) 如果迭代次數(shù)大于20或10次迭代的最佳適應(yīng)度保持不變,則結(jié)束算法.否則,重復(fù)步驟2)~6).
Hochreiter和Schmidhuber提出的長短期記憶(long short-term memory,LSTM)是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的高級(jí)版本[10],不僅具有RNN對(duì)先前信息長期記憶的特點(diǎn),而且將RNN中的循環(huán)隱藏層替換為“記憶塊”,避免了RNN梯度消失的問題.LSTM的計(jì)算步驟如下:1) 計(jì)算遺忘門ft=σ(Wf·[ht-1,xt]+bf);2) 計(jì)算輸入門it=σ(Wi·[ht-1,xt]+bi);3) 更新細(xì)胞狀態(tài)Ct=ft×Ct-1+it×C′t;4) 計(jì)算輸出門Ot=σ(Wo[ht-1,xt-1]+bo).其中σ為sigmoid激活函數(shù);Wf,Wi,Wo分別為遺忘門、輸入門、輸出門sigmoid激活函數(shù)的權(quán)重;bf,bi,bo分別為遺忘門、輸入門、輸出門sigmoid激活函數(shù)的偏置;xt和xt-1分別為t和t-1時(shí)刻的記憶激活值;ht-1為t-1時(shí)刻細(xì)胞輸出的激活函數(shù);Ct和C′t分別為新細(xì)胞狀態(tài)和細(xì)胞記憶狀態(tài).
圖1 BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Structure diagram of BiLSTM neural network
雙向長短期記憶(bi-directional long short-term memory,BiLSTM)是LSTM的變形結(jié)構(gòu),包含前向和后向LSTM層,同時(shí)考慮數(shù)據(jù)的過去和未來信息[11],神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.由圖1可知,每個(gè)內(nèi)存塊包含兩個(gè)LSTM層,輸入各時(shí)刻時(shí)間序列X1,X2,…,Xt,通過前向LSTM層和后向LSTM層得到兩個(gè)時(shí)間序列相反的隱藏層狀態(tài)h1,h2,…,ht和h′1,h′2,…,h′t,然后將兩個(gè)隱藏層狀態(tài)連接起來得到相同的輸出y1,y2,…,yt,前向LSTM和后向LSTM層可以分別獲取輸入序列的過去信息和未來信息[12].
將VMD算法和BiLSTM神經(jīng)網(wǎng)絡(luò)相結(jié)合,利用GA算法自適應(yīng)獲取最優(yōu)分解個(gè)數(shù),改進(jìn)VMD算法的分解過程,提出GA-VMD-BiLSTM預(yù)測模型,模型結(jié)構(gòu)如圖2所示.由圖2可知,GA-VMD-BiLSTM預(yù)測模型主要分為數(shù)據(jù)處理、預(yù)測模型建立和預(yù)測結(jié)果計(jì)算三部分.首先,運(yùn)用密度峰值聚類(clustering by fast search and find of density peaks,CFSFDP)算法進(jìn)行數(shù)據(jù)清洗,將清洗后的數(shù)據(jù)集作為變分模態(tài)分解的輸入;其次,建立BiLSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型,將分解后的數(shù)據(jù)IMF1,IMF2,…,IMFk-1,IMFk作為BiLSTM神經(jīng)網(wǎng)絡(luò)預(yù)測和訓(xùn)練的輸入BiLSTM1,BiLSTM2,…,BiLSTMk-1,BiLSTMk,各BiLSTM神經(jīng)網(wǎng)絡(luò)相應(yīng)輸出Output1,Output2,…,Outputk-1,Outputk;最后,根據(jù)疊加合成結(jié)果n,計(jì)算得出模型預(yù)測結(jié)果.
圖2 GA-VMD-BiLSTM預(yù)測模型結(jié)構(gòu)Fig.2 GA-VMD-BiLSTM prediction model structure
本文選取土耳其某風(fēng)電場2018年實(shí)測數(shù)據(jù)作為原始數(shù)據(jù)集,采樣間隔為10 min,共52 560組數(shù)據(jù),隨機(jī)選取1 000組數(shù)據(jù)進(jìn)行處理,其中包括500組訓(xùn)練集數(shù)據(jù)和500組驗(yàn)證集數(shù)據(jù).為了加速風(fēng)電數(shù)據(jù)預(yù)處理和深度學(xué)習(xí)中模型收斂,須對(duì)風(fēng)速、風(fēng)向和功率等變量進(jìn)行歸一化處理,其轉(zhuǎn)換公式為x′=(x-xmin)/(xmax-xmin),其中x和x′分別為原始數(shù)據(jù)和處理后的數(shù)據(jù),xmin和xmax分別為原始數(shù)據(jù)的最小值和最大值.
本文提出一種改進(jìn)參數(shù)獲取的密度峰值聚類算法,通過改進(jìn)參數(shù)指標(biāo)的獲取方法提高聚類性能,采用二分法得到密度計(jì)算的閾值dc,每個(gè)數(shù)據(jù)點(diǎn)周圍距離小于dc的點(diǎn)數(shù)須占總點(diǎn)數(shù)的1%~2%,數(shù)據(jù)聚類效果如圖3所示.由圖3可知,數(shù)據(jù)集共有5個(gè)聚類中心,將數(shù)據(jù)分為5個(gè)簇,其中離群點(diǎn)1和離群點(diǎn)2的數(shù)據(jù)偏移量較大,須剔除.圖4為數(shù)據(jù)清洗后的效果.由圖4可知,偏離較大的數(shù)據(jù)均被清除,表明該算法的數(shù)據(jù)清洗效果較好.
圖3 三維樣本空間中數(shù)據(jù)和異常值的分布Fig.3 Distribution of data and outliers in 3D sample space
圖4 數(shù)據(jù)清洗后樣本空間中的數(shù)據(jù)分布Fig.4 Data distribution in sample space after data cleaning
圖5 適應(yīng)度函數(shù)曲線Fig.5 Fitness function curve
將歸一化和聚類去噪處理后的原始數(shù)據(jù)集作為VMD算法的輸入,通過GA算法自適應(yīng)獲取最優(yōu)分解個(gè)數(shù)K的取值范圍.圖5為GA-VMD-BiLSTM預(yù)測模型的適應(yīng)度函數(shù)曲線.由圖5可知,GA-VMD-BiLSTM模型在第9次迭代時(shí)達(dá)到最優(yōu).設(shè)定K值為1~9,將不同K值下分解后的數(shù)據(jù)導(dǎo)入BiLSTM模型,得出預(yù)測結(jié)果B1,B2,…,B9,如圖6所示.由圖6可知,當(dāng)K值為1~5時(shí),預(yù)測結(jié)果逐漸趨于穩(wěn)定;當(dāng)K值為6~9時(shí),預(yù)測結(jié)果波動(dòng)逐漸增大.綜上得出,當(dāng)K值為5時(shí)BiLSTM模型性能最佳.
圖6 VMD分解結(jié)果圖Fig.6 VMD decomposition result
圖7 各模型的預(yù)測結(jié)果Fig.7 The prediction result of each model
將原數(shù)據(jù)集分解為5個(gè)子數(shù)據(jù)集,分別建立基于BiLSTM,LSTM,極限學(xué)習(xí)機(jī)ELM和BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,對(duì)比GA-VMD算法優(yōu)化處理后的數(shù)據(jù)在各模型中的預(yù)測效果,結(jié)果如圖7和表1所示.由圖7可知,風(fēng)電功率數(shù)據(jù)突變處,BiLSTM模型預(yù)測值與真實(shí)值吻合度較高,表明BiLSTM預(yù)測模型在極端情況下的適應(yīng)能力較強(qiáng),具有較好的魯棒性和適應(yīng)性.由表1可知,BiLSTM模型的均方根誤差和平均絕對(duì)誤差分別為0.156 97和0.349 64,相對(duì)于其他模型而言,預(yù)測結(jié)果誤差較小,預(yù)測性能更優(yōu).綜上得出,優(yōu)化后的BiLSTM預(yù)測模型可有效處理風(fēng)電功率時(shí)間序列數(shù)據(jù),提高風(fēng)電功率預(yù)測精度,并具有良好的泛化性能.
表1 各模型預(yù)測結(jié)果評(píng)價(jià)Tab.1 Evaluation of prediction result of each model
為提高風(fēng)電功率預(yù)測精度,保證風(fēng)電并網(wǎng)的穩(wěn)定性,本文提出了一種基于GA-VMD-BiLSTM的風(fēng)電功率預(yù)測模型.采用密度峰值聚類算法去除無效數(shù)據(jù)點(diǎn),改進(jìn)截止距離dc的獲取方法,降低數(shù)據(jù)維數(shù)和結(jié)果誤差;利用遺傳算法自適應(yīng)選取參數(shù),優(yōu)化變分模態(tài)分解算法,并以BiLSTM為基礎(chǔ)建立風(fēng)電功率預(yù)測模型.測試結(jié)果表明,改進(jìn)的BiLSTM預(yù)測模型相較于常用的LSTM,ELM,BP神經(jīng)網(wǎng)絡(luò)模型而言,提高了風(fēng)電功率預(yù)測的精度和效率,具有更好的預(yù)測效果.