蒲嫻怡, 畢貴紅, 王 凱, 謝 旭, 陳仕龍
(1.昆明理工大學(xué) 電力工程學(xué)院,云南 昆明 650500;2.云南電網(wǎng)有限責(zé)任公司玉溪供電局,云南 玉溪 653199)
近年來風(fēng)力發(fā)電量持續(xù)上升,保持穩(wěn)步增長勢頭。風(fēng)電功率預(yù)測最突出的問題是間歇性和不確定性帶來的輸出大幅度波動。風(fēng)力發(fā)電技術(shù)想要突破大規(guī)模并網(wǎng)運(yùn)行問題,需要提高風(fēng)電場輸出功率的可控性。風(fēng)電功率時間序列是受隨機(jī)因素影響的非平穩(wěn)性序列。對風(fēng)電功率的預(yù)測技術(shù)已經(jīng)日趨成熟化和多樣化。為了進(jìn)一步提升預(yù)測精度,研究者們一直在不斷改進(jìn)預(yù)測方法。
現(xiàn)有的風(fēng)電功率預(yù)測主要有物理模型和統(tǒng)計分析2類方法[1-3]。目前,國內(nèi)外學(xué)者在風(fēng)電功率預(yù)測方面較常采用統(tǒng)計方法來建立歷史數(shù)據(jù)和實(shí)時輸出功率數(shù)據(jù)之間的聯(lián)系,主要有時間序列分析法[4]、卡爾曼濾波模型[5]、神經(jīng)網(wǎng)絡(luò)模型[6-7]等方法。風(fēng)電功率的隨機(jī)性、波動性、突變性等特征使單一模型往往難以取得預(yù)期的精確預(yù)測。在單一模型的基礎(chǔ)上結(jié)合不同算法的優(yōu)點(diǎn),能有效提高預(yù)測精度,如采用小波變換算法和BP神經(jīng)網(wǎng)絡(luò)的組合[8]、差分自回歸移動平均模型(ARIMA)與埃爾曼神經(jīng)網(wǎng)絡(luò)(Elman)的組合[9]、自適應(yīng)噪聲完整集成經(jīng)驗(yàn)?zāi)B(tài)分解(CEEMDAN)和核極限學(xué)習(xí)機(jī)組合等通過分解集成的風(fēng)電功率預(yù)測方法[10],能夠更多地挖掘風(fēng)電功率序列中的隱藏信息,獲得比單一模型更好的預(yù)測效果。文獻(xiàn)[11]中對比了不同的預(yù)測模型,最終結(jié)果為快速集合經(jīng)驗(yàn)?zāi)B(tài)分解(FEEMD)的效果優(yōu)于小波分解與經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)。文獻(xiàn)[12-13]在不同的領(lǐng)域均采用二層分解技術(shù),對第一次分解產(chǎn)生的高頻分量采用不同的分解方式進(jìn)行二次分解,以降低復(fù)雜的高頻分量對預(yù)測結(jié)果的影響。文獻(xiàn)[14]提出針對風(fēng)電時間序列的長依賴性問題,通過長短時記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行訓(xùn)練預(yù)測,并用粒子群優(yōu)化(PSO)算法優(yōu)化模型參數(shù)省去人工選取的繁瑣步驟,最終獲得最佳的預(yù)測效果。另外,網(wǎng)絡(luò)輸入變量個數(shù)的選取會影響整個預(yù)測模型的好壞,輸入層神經(jīng)元個數(shù)可以由時間序列的滯后期決定,因此計算時間序列的滯后期尤為重要。利用偏自相關(guān)函數(shù)(PACF)[15]、赤池信息準(zhǔn)則(AIC)[16-17]等方法可以確定模型輸入變量個數(shù)選取問題,提高網(wǎng)絡(luò)的收斂效率和預(yù)測精度。
結(jié)合上述方法具有的優(yōu)點(diǎn),提出一種新的混合預(yù)測方式,即基于二層分解技術(shù)和PSO-LSTM神經(jīng)網(wǎng)絡(luò)的風(fēng)電功率超短期預(yù)測模型。把原始風(fēng)電功率數(shù)據(jù)利用FEEMD分解為一系列本征模態(tài)函數(shù)(IMF)分量和余項(xiàng),針對分解出的風(fēng)電功率高頻分量采用變分模態(tài)分解(VMD)方法進(jìn)行二次分解。采用樣本熵(SE)計算各分量的熵值進(jìn)行分量重構(gòu),再利用PACF確定模型輸入變量的個數(shù)。利用自適應(yīng)學(xué)習(xí)策略的PSO選擇LSTM神經(jīng)網(wǎng)絡(luò)的超參數(shù),分別對風(fēng)電數(shù)據(jù)各個IMF和余量進(jìn)行訓(xùn)練預(yù)測,疊加各分量的預(yù)測結(jié)果即為最終超短期功率預(yù)測結(jié)果,提高預(yù)測精度。
1.1.1 FEEMD
EMD用來處理實(shí)際生活中的非穩(wěn)定信號,但非穩(wěn)定信號的極值點(diǎn)分布不均勻會使分解分量產(chǎn)生混疊現(xiàn)象,或是因包含差異極大的特征時間尺度而出現(xiàn)偽分解現(xiàn)象。集合經(jīng)驗(yàn)?zāi)B(tài)分解(EEMD)[18]在不同的序列中多次添加強(qiáng)度相同的白噪聲,使有缺失的信號得到補(bǔ)充,改善模態(tài)混疊并且對產(chǎn)生的新信號進(jìn)行有效分解。FEEMD[11,19]通過減少取樣來降低計算時間,處理速度更快,提高了EEMD算法執(zhí)行效率??蓪L(fēng)電功率序列內(nèi)部蘊(yùn)含的不同規(guī)律特性通過自身的分解角度分解為一系列更為簡單穩(wěn)定的IMF分量,利于后續(xù)預(yù)測模型挖掘信息,提高預(yù)測精度。
采用FEEMD將復(fù)雜的風(fēng)電功率信號分解為一系列分量,原始信號表示如下:
(1)
式中:N為被分解出來的IMF總個數(shù);ri(t)為余量。
1.1.2 VMD
VMD是一種新的混沌數(shù)據(jù)處理技術(shù),在產(chǎn)生主信號的時候具有特定的稀疏特性,可以根據(jù)序列確定模態(tài)分解個數(shù),通過約束匹配到各種模態(tài)的最佳中心頻率和有限帶寬,對風(fēng)電復(fù)雜信號進(jìn)行最優(yōu)化劃分。
對于FEEMD分解原始風(fēng)電功率序列產(chǎn)生的較為復(fù)雜的高頻IMF分量,通過VMD方法分解成K個基本模式分量,得到不同頻率尺度且相對平穩(wěn)的風(fēng)電功率序列,利于后續(xù)預(yù)測模型得到較好的預(yù)測結(jié)果[20]。
1.1.3 SE
經(jīng)過分解后的風(fēng)電功率分量能細(xì)致地表達(dá)原始分量的特征,但分量個數(shù)過多會使計算工作量變大,計算時間變多,可以用SE[21]對功率分解后的分量進(jìn)行重構(gòu)。SE在比較時添加了自身比較數(shù)值,是一種在近似熵的基礎(chǔ)上優(yōu)化了時間序列復(fù)雜性計算的度量方法,有效避免了統(tǒng)計量的不一致性。將分解后得到的風(fēng)電功率分量經(jīng)過SE計算通過熵值和分解曲線來確定模型重構(gòu)分量,以降低計算量。
1.2.1 LSTM神經(jīng)網(wǎng)絡(luò)
本文采用LSTM[22]神經(jīng)網(wǎng)絡(luò)對風(fēng)電功率進(jìn)行超短期預(yù)測。對經(jīng)過二層分解處理后的風(fēng)電功率復(fù)雜序列分量采用LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測能夠獲得較好的預(yù)測結(jié)果,可以將較長時間之前的信息輸送給后面時間步長的細(xì)胞,利于預(yù)測時間間隔較大的信息,有較大的記憶容量,有更強(qiáng)的泛化能力和自適應(yīng)能力,可解決長時間依賴問題。LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種特殊變體。鏈?zhǔn)浇Y(jié)構(gòu)中重復(fù)的細(xì)胞單元包含4個相互作用的激活函數(shù),可以進(jìn)行學(xué)習(xí)和信息交互。LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括遺忘門、輸入門、輸出門和細(xì)胞狀態(tài)。LSTM 記憶單元結(jié)構(gòu)如圖1所示。
圖1 LSTM記憶單元結(jié)構(gòu)
圖1中,上方的粗水平線是信息傳遞的關(guān)鍵,控制信息向下一個細(xì)胞Ct傳遞,被稱為單元狀態(tài)。σ代表激活函數(shù)sigmoid,輸入門與激活函數(shù)決定可以讓多少新的信息加入單元,遺忘門是以上一單元的輸出信息ht-1和本單元的新輸入Xt,通過激活函數(shù)縮放單元狀態(tài)來控制信息被丟棄或留下。輸出門控制單元通過考慮當(dāng)前輸入Xt、先前輸出ht-1和遺忘門來做出決定,產(chǎn)生一個新的輸出Ct并改變單元的輸出信息ht。圖2為本文采用的LSTM網(wǎng)絡(luò)結(jié)構(gòu),由輸入層、全連接層、2層LSTM層和輸出層構(gòu)成。
圖2 LSTM預(yù)測模型的網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 PSO
PSO[23]基本核心是利用每個個體所提供的信息分享到整體中,使整體在掌握了所有信息后對問題做出最佳判斷,解的評價標(biāo)準(zhǔn)是粒子適應(yīng)度。PSO初始化生成若干個隨機(jī)粒子(隨機(jī)解),帶著速度與位置的2個極值,通過每一次迭代更新找到最優(yōu)解。第一個極值就是每個粒子的最優(yōu)解pbest,另一個是整個種群全局最優(yōu)解gbest。
第i個粒子的第k次速度和位置更新式為
(2)
(3)
式中:v為速度矢量;ω為慣性因子,是保持原來速度的系數(shù);c1、c2分別為粒子的個體、群體學(xué)習(xí)因子;r1、r2為[0,1]之間的隨機(jī)數(shù)。
搜索過程達(dá)到指定迭代次數(shù)或最優(yōu)位置滿足最小適應(yīng)閾值則結(jié)束。
1.2.3 PSO-LSTM神經(jīng)網(wǎng)絡(luò)
LSTM模型的參數(shù)設(shè)置對風(fēng)電功率預(yù)測精度結(jié)果有直接影響。采用PSO-LSTM模型,將LSTM模型的參數(shù)作為粒子優(yōu)化對象[24-25],對風(fēng)電功率數(shù)據(jù)進(jìn)行尋優(yōu)訓(xùn)練獲得模型的最優(yōu)超參數(shù),這個過程沒有人為調(diào)參影響,隨機(jī)性小,優(yōu)化效果相對穩(wěn)定。
PSO-LSTM模型算法流程簡述如下。
步驟1:將試驗(yàn)數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
步驟2:將LSTM模型中神經(jīng)網(wǎng)絡(luò)隱藏層單元數(shù)目、迭代次數(shù)和學(xué)習(xí)率作為粒子群優(yōu)化對象,初始化粒子種群速度與位置,確定PSO的最大迭代次數(shù)與種群數(shù)量。
步驟3:計算每個粒子的適應(yīng)度值。以各粒子對應(yīng)參數(shù)構(gòu)建LSTM 模型,通過訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,結(jié)果的均方根誤差作為各粒子的適應(yīng)度值。
步驟4:根據(jù)粒子適應(yīng)度值更新位置。根據(jù)PSO算法的式(2)和式(3)分別對單個粒子和種群最優(yōu)粒子位置進(jìn)行實(shí)時更新。
步驟5:終止條件判斷。重復(fù)迭代,直到滿足終止條件,將輸出的超參數(shù)值代入LSTM模型進(jìn)行預(yù)測。否則返回步驟4。
PSO-LSTM模型算法流程如圖3所示。
圖3 PSO-LSTM模型算法流程
基于二層分解與PSO-LSTM組合預(yù)測超短期功率模型的算法整體流程如圖4所示。
圖4 組合模型算法流程
主要步驟如下。
(1)獲取原始風(fēng)電功率數(shù)據(jù),采用二層分解技術(shù)分解分量,即采用FEEMD算法將原始風(fēng)電功率序列分解為8個IMF和余量r;利用VMD將難以分析的高頻IMF1分量進(jìn)行二次分解。
(2)結(jié)合SE與分量曲線綜合評價,將得到的分量進(jìn)行重構(gòu)。
(3)通過PACF計算與建模,采用PACF計算滯后階數(shù),為每個IMF子序列確定輸入神經(jīng)元個數(shù)。
(4)建立PSO-LSTM模型,通過PSO對超參數(shù)進(jìn)行尋優(yōu),用尋優(yōu)結(jié)果確定超參數(shù)代入LSTM中進(jìn)行計算,輸出當(dāng)前IMF分量的預(yù)測值。
(5)疊加各個分量預(yù)測值得到最終預(yù)測結(jié)果,通過多種指標(biāo)對比分析來評估預(yù)測模型的預(yù)測性能。
以西班牙某一風(fēng)電場實(shí)際采集的數(shù)據(jù)為算例,選取2020年1月2—11日的數(shù)據(jù),風(fēng)電功率的采樣間隔為10 min,一共1 440個數(shù)據(jù)。將前9天的數(shù)據(jù)共1 296個點(diǎn)作為模型的訓(xùn)練集,最后144個數(shù)據(jù)作為預(yù)測對比數(shù)據(jù)。
設(shè)原始的負(fù)荷數(shù)據(jù)為x,數(shù)據(jù)中的最大值是xmax,最小值是xmin,把原始數(shù)據(jù)歸一化,使尋優(yōu)過程變得平緩,得到較快的收斂歸一化后的數(shù)據(jù)表示為
(4)
將平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)和均方根誤差(RMSE),作為風(fēng)電功率預(yù)測模型的評價標(biāo)準(zhǔn)。計算表達(dá)式如下
(5)
(6)
(7)
3.2.1 FEEMD結(jié)果
將風(fēng)電場實(shí)測風(fēng)電功率數(shù)據(jù)進(jìn)行分解,基于FEEMD分解的計算結(jié)果如圖5所示,即IMF1~I(xiàn)MF8。由圖5可看出FEEMD分解結(jié)果未發(fā)生模態(tài)混疊現(xiàn)象,把模態(tài)分量按高頻到低頻進(jìn)行分布,不同頻率的分量表征了風(fēng)電功率變化的細(xì)節(jié)趨勢。
圖5 風(fēng)電功率原始序列及FEEMD分解曲線
3.2.2 VMD結(jié)果
對IMF1采用VMD二次分解,利用VMD的特性將IMF1進(jìn)行分解,得到6個不同帶寬的子模式,即圖6中imf1~imf6。
圖6 VMD分解結(jié)果
3.2.3 SE重構(gòu)
計算各IMF分量的SE樣本熵值結(jié)果如圖7所示??紤]到SE值的大小同時兼顧分解結(jié)果,合并情況如表1與表2所示。
圖7 各分量對應(yīng)的熵值
表1 FEEMD重構(gòu)分量結(jié)果
表2 VMD重構(gòu)分量結(jié)果
利用PACF可計算序列與其自身經(jīng)過某些階數(shù)滯后形成的序列之間存在某種程度的相關(guān)性,比較一組數(shù)據(jù)中前后2個元素與第3個隨機(jī)元素相關(guān)的程度。
對FEEMD的重構(gòu)分量采用PACF選取模型的輸入變量個數(shù),結(jié)果如圖8和表3所示。圖8顯示沿x軸的延遲值xt-τ以及y軸上的相關(guān)性(-1~1之間)。默認(rèn)情況下,橫虛線為95%置信區(qū)間邊界,統(tǒng)計出當(dāng)PACF值超過置信區(qū)間對應(yīng)的階數(shù),從而將這一數(shù)值確定為模型的輸入變量個數(shù)。
圖8 重構(gòu)分量偏自相關(guān)圖
表3 輸入變量選擇結(jié)果
在本算例中,對各個IMF分量結(jié)果,用PACF來分析每個IMF中數(shù)據(jù)之間的相關(guān)性,繼而選擇模型的最優(yōu)輸入,參照表3確定了分量輸入的個數(shù)。VMD分解的高頻分量在模型中的輸入個數(shù)遵循RIMF1。
試驗(yàn)采用Python3.6編程語言,LSTM模型由Tensorflow框架實(shí)現(xiàn),構(gòu)建4層LSTM的網(wǎng)絡(luò),包括輸入層和2層隱藏層,最后是輸出層。損失函數(shù)使用均方根誤差,輸出維數(shù)設(shè)為1。PSO-LSTM模型中設(shè)置PSO迭代次數(shù)取10,種群規(guī)模取5,每個分量輸入PSO-LSTM模型中迭代次數(shù)、學(xué)習(xí)率及隱藏層粒子群個數(shù)由粒子群計算誤差損失情況直接確定。構(gòu)建了4種不同的預(yù)測模型,具體結(jié)果如圖9所示。各模型的誤差如表4所示。
圖9 各模型預(yù)測結(jié)果對比
表4 各預(yù)測模型誤差
由表4可知,PSO-LSTM、FEEMD-PSO-LSTM和二層分解-PSO-LSTM模型比LSTM單一模型,預(yù)測結(jié)果的MAPE分別降低了0.43、5.45和6.9個百分點(diǎn),RMSE分別降低了0.94%、51.70%和62.17%,MAE分別降低了0.47%、51.35%和54.79%。4種模型的預(yù)測結(jié)果基本符合實(shí)際值的變化曲線,而其中二層分解-PSO-LSTM模型在數(shù)據(jù)集中各個評價指標(biāo)上均優(yōu)于其他3個模型,整體提高了預(yù)測模型的預(yù)測精度與泛化性。
本文針對風(fēng)電功率的非線性、非平穩(wěn)性和時間依賴性,通過對風(fēng)電功率FEEMD分解結(jié)果的物理意義思考,從不同分解方法對模式分解的理解不同角度,對復(fù)雜波動的高頻分量采用VMD進(jìn)行二次分解,提高了輸入分量的平穩(wěn)性。并采用SE來衡量時間序列的復(fù)雜性,為FEEMD分解的分量重構(gòu)提供了有力依據(jù)。利用LSTM在更長的序列中有更好的表現(xiàn),構(gòu)建PSO-LSTM預(yù)測模型,運(yùn)用PSO算法對LSTM 模型的參數(shù)進(jìn)行超參數(shù)尋優(yōu),省去人工調(diào)參。試驗(yàn)證明,與其他模型相比,二層分解-PSO-LSTM 模型可獲得較高的預(yù)測精度。