陳德余,張 瑋*,王 輝,房 棟
1.齊魯工業(yè)大學(xué)(山東省科學(xué)院) 信息與自動化學(xué)院,山東 濟(jì)南 250353;2.山東大學(xué) 電氣工程學(xué)院,山東 濟(jì)南 250061;3.濟(jì)南市水利工程服務(wù)中心,山東 濟(jì)南 250013
近年來,受我國相關(guān)政策扶持并且在全球能源發(fā)展趨勢影響下,風(fēng)電裝機(jī)容量獲得快速增長。截至2022年4月底,我國風(fēng)電裝機(jī)容量約3.4億千瓦,同比增長17.7%[1]。而由于風(fēng)電出力的隨機(jī)性和波動性,大量的風(fēng)電并網(wǎng)對電力系統(tǒng)的安全穩(wěn)定運(yùn)行提出了挑戰(zhàn),對風(fēng)電功率預(yù)測的相關(guān)技術(shù)研究也具有了更為重要的現(xiàn)實(shí)意義。對風(fēng)電未來一段時間的輸出功率進(jìn)行預(yù)測,然后根據(jù)預(yù)測結(jié)果預(yù)留一定消納空間是有效的技術(shù)手段。若預(yù)測精度低,為了保障電力系統(tǒng)運(yùn)行安全,火電等常規(guī)電源備用增大,新能源消納空間相應(yīng)減少,從而造成棄風(fēng)量的增加。反之,提高對風(fēng)電功率的預(yù)測精度可有效提升風(fēng)電的消納率。
因此,如何創(chuàng)建一個高準(zhǔn)確率預(yù)測系統(tǒng),并能夠根據(jù)結(jié)果制定科學(xué)調(diào)度計劃,一直是學(xué)者關(guān)注的重要問題[2]。
風(fēng)力發(fā)電預(yù)測的研究方法主要有物理方法、統(tǒng)計方法和人工智能方法[3]。其中,人工智能方法又包含機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和組合模型。物理方法主要是構(gòu)建物理模型進(jìn)行計算,而建模相對困難。統(tǒng)計方法主要是時間序列法[4],它將歷史功率數(shù)據(jù)作為訓(xùn)練樣本,適用于平穩(wěn)時間序列且數(shù)據(jù)樣本量較少的情況。機(jī)器學(xué)習(xí)主要有隨機(jī)森林[5]和支持向量機(jī)[6],深度學(xué)習(xí)主要有卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)、LSTM和GRU,組合模型是將不同算法進(jìn)行優(yōu)缺互補(bǔ),變權(quán)重系數(shù)組合在一起。由于傳統(tǒng)算法僅使用單個樣本的特征,而忽略了多個按照時間序列組織在一起的樣本間具有很強(qiáng)的關(guān)聯(lián)性,具有丟失序列信息的問題,而LSTM和GRU網(wǎng)絡(luò)包含循環(huán)計算層,可以提取時序數(shù)據(jù)中的時間特征,所以適合于處理輸入數(shù)據(jù)為時序數(shù)據(jù)的風(fēng)電功率預(yù)測[7]。但是當(dāng)輸入數(shù)據(jù)為長時序列時,LSTM和GRU網(wǎng)絡(luò)容易丟失序列的信息,從而使模型的準(zhǔn)確率降低[8]。針對此問題,文獻(xiàn)[9-10]提出了一種基于CNN和LSTM相結(jié)合的預(yù)測方法,文獻(xiàn)[11-13]在CNN-LSTM的基礎(chǔ)上,分別使用主成分分析和離散小波變換對原始數(shù)據(jù)進(jìn)行分解,對不同數(shù)據(jù)分量結(jié)合算法單獨(dú)建立子模型,再對子模型的預(yù)測結(jié)果進(jìn)行分量疊加。但是,多數(shù)實(shí)驗(yàn)結(jié)果表明,加入CNN的效果反而更差。
Attention機(jī)制不同于LSTM和GRU網(wǎng)絡(luò)只采用最后一個時刻的狀態(tài)輸出,而是給每個時刻的狀態(tài)輸出分配一個自適應(yīng)的權(quán)重系數(shù),使得重要的狀態(tài)輸出不會隨時間的增長而消失,進(jìn)而突顯重要信息的作用[14]。GRU在LSTM網(wǎng)絡(luò)的基礎(chǔ)上作了改進(jìn),比LSTM網(wǎng)絡(luò)在大多數(shù)的預(yù)測中效果更好。PCC在數(shù)據(jù)預(yù)處理中可以提取出高度相關(guān)性的特征,能有效提高預(yù)測準(zhǔn)確率。因此,使用PCC進(jìn)行數(shù)據(jù)預(yù)處理,將GRU應(yīng)用到風(fēng)電功率時間序列預(yù)測中,在此基礎(chǔ)上加入Attention機(jī)制,提出一種基于PCC-GRU-Attention的風(fēng)電功率超短期預(yù)測模型。與LSTM、GRU和CNN-LSTM相比,模型泛化誤差顯著減小。
PCC是一種相關(guān)系數(shù),主要用來衡量2個變量之間相似度大小的一種方法,通常在數(shù)據(jù)預(yù)處理過程中用來提取高度相關(guān)性的特征[15]。其計算公式如下。
式中:cov(a,b)為變量a與變量b之間的協(xié)方差;m為變量長度;σa和σb分別為變量a與變量b的標(biāo)準(zhǔn)差。當(dāng)|ρa(bǔ)b|≤0.3時,變量a與變量b不存在相關(guān)性;當(dāng)0.3<|ρa(bǔ)b|≤0.5時,變量a與變量b低度相關(guān);當(dāng)0.5<|ρa(bǔ)b|≤0.8時,變量a與變量b顯著相關(guān);當(dāng)0.8<|ρa(bǔ)b|≤1時,變量a與變量b高度相關(guān)。
LSTM在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了3個邏輯門控單元:遺忘門ft、輸入門it、輸出門ot,有效地克服了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)所普遍存在的梯度消失問題[16]。LSTM網(wǎng)絡(luò)加入了細(xì)胞記憶單元,包括當(dāng)前候選細(xì)胞狀態(tài)Ct-1和t時刻細(xì)胞狀態(tài)Ct,實(shí)現(xiàn)在多個時間步長上穩(wěn)定學(xué)習(xí),保存數(shù)據(jù)狀態(tài)為隱層輸出ht。LSTM網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。具體計算公式分別為(2)~(7)。
圖1 LSTM結(jié)構(gòu)圖
ft=σ(Wf[ht-1,xt]+bf),
(2)
it=σ(Wi[ht-1,xt]+bi),
(3)
ot=σ(Wo[ht-1,xt]+bo),
(4)
Ct=tanh(Wc[ht-1,xt]+bc),
(5)
Ct=ft?Ct-1+it?Ct,
(6)
ht=ot?tanh(Ct),
(7)
式中:Wf、Wi、Wo、Wc為權(quán)重矩陣;bf、bi、bo、bc為對應(yīng)的偏置向量;tanh為雙曲正切函數(shù);σ為sigmoid函數(shù);?為向量點(diǎn)乘。
GRU在LSTM網(wǎng)絡(luò)的基礎(chǔ)上作了改進(jìn),將LSTM中的邏輯門控單元遺忘門和輸入門改進(jìn)為更新門,使得在結(jié)構(gòu)上只有重置門和更新門,簡化了網(wǎng)絡(luò)結(jié)構(gòu)、減少了訓(xùn)練參數(shù)、降低了學(xué)習(xí)訓(xùn)練時間[17]。因此,本文將GRU應(yīng)用到風(fēng)電功率時間序列預(yù)測中。GRU的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,其計算公式如下。
圖2 GRU網(wǎng)絡(luò)結(jié)構(gòu)
rt=σ(Wrht-1+Urxt+br),
(8)
zt=σ(Wzht-1+Uzxt+bz),
(9)
ht=tanh(Whxt+Uh(rt?ht-1)+bh),
(10)
ht=(1-zt)?ht-1+zt?ht。
(11)
式中:Wr、Ur、Wz、Uz、Wh、Uh為權(quán)重矩陣;br、bz、bh為對應(yīng)的偏置向量;tanh為雙曲正切函數(shù);σ為sigmoid函數(shù);?為向量點(diǎn)乘。
當(dāng)人們的大腦處理大量復(fù)雜信息時,通常會把注意力集中在主要信息上,從而減少對次要信息的關(guān)注,以便得到更有價值的信息,減少其他無關(guān)信息,這就是大腦的注意力機(jī)制。通過模仿人腦處理這種信息過載的方式,在深度學(xué)習(xí)領(lǐng)域,人們提出了Attention機(jī)制。當(dāng)時間序列過長時,傳統(tǒng)LSTM網(wǎng)絡(luò)可能會因此丟失重要信息,而與傳統(tǒng)LSTM網(wǎng)絡(luò)直接采用最后一個時刻的隱層狀態(tài)輸出不同,Attention機(jī)制會為每個時刻的隱層狀態(tài)輸出分配一個自適應(yīng)權(quán)重系數(shù),再通過概率分布函數(shù)使其滿足概率分布,其結(jié)果稱為注意力分?jǐn)?shù),最后與每個時刻的隱層狀態(tài)輸出線性加權(quán)得到最終特征向量。注意力機(jī)制模型如圖3所示,其計算公式為(12)~(13)。
圖3 注意力機(jī)制模型
at=σ(Waht+ba),
(12)
式中:Wa為權(quán)重矩陣;ba為偏置向量;σ為sigmoid函數(shù);⊙為Hadamard乘積,即矩陣對應(yīng)元素乘積;at為注意力分?jǐn)?shù);st為注意力層t時刻的輸出。
本文所提預(yù)測模型結(jié)構(gòu)如圖4所示,主要包含GRU模塊處理時間序列以及Attention模塊優(yōu)化輸出權(quán)重,分別為輸入層、GRU層、Dropout層、批標(biāo)準(zhǔn)化層、Attention層和輸出層。
圖4 基于PCC-GRU-Attention風(fēng)電功率預(yù)測模型結(jié)構(gòu)
(1)輸入層。將原始數(shù)據(jù)歸一化并轉(zhuǎn)變?yōu)闀r間序列數(shù)據(jù),使其作為該模型的輸入,表示如下。
X=[x1,x2,…,xT]=[x(1),x(2),…,x(n)]T。
(14)
展開后可表示為T×n矩陣形式:
(2)GRU層。設(shè)置兩層GRU層以獲取時間序列數(shù)據(jù)不同時刻的狀態(tài)信息。
(3)Dropout層。在神經(jīng)網(wǎng)絡(luò)反向傳播訓(xùn)練過程中,根據(jù)相應(yīng)的概率舍棄一部分的神經(jīng)元,作用是防止模型過擬合,提高模型泛化能力。
(4)批標(biāo)準(zhǔn)化層。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,雖然對輸入數(shù)據(jù)進(jìn)行了歸一化處理,但是輸入數(shù)據(jù)在前向傳播過程中經(jīng)過參數(shù)矩陣乘法以及激活函數(shù)的非線性運(yùn)算之后,數(shù)據(jù)分布情況發(fā)生變化,尤其是在深層網(wǎng)絡(luò)結(jié)構(gòu)中,數(shù)據(jù)分布的變化程度會隨著每層運(yùn)算而越來越大。如果能在網(wǎng)絡(luò)的中間層也進(jìn)行歸一化處理,將對網(wǎng)絡(luò)的訓(xùn)練效果起到積極作用。假設(shè)上一層網(wǎng)絡(luò)輸出結(jié)果為X=[x1,x2,…,xm],則可用公式(16)~(19)對其進(jìn)行批標(biāo)準(zhǔn)化。
式中:μ為上一層輸出數(shù)據(jù)的均值;m為此次訓(xùn)練樣本batch的大小;σ為上一層輸出數(shù)據(jù)的標(biāo)準(zhǔn)差;ε是防止標(biāo)準(zhǔn)差為0而設(shè)置的無限趨近于0的正數(shù);γ、β分別是作為可訓(xùn)練參數(shù)的縮放因子和偏移因子。
(5)Attention層。根據(jù)本文1.4節(jié)計算公式(12)、(13)優(yōu)化輸出權(quán)重。
(6)輸出層。其輸入是Attention層的輸出,經(jīng)由一層全連接層輸出下一時刻的風(fēng)電功率。
(1)相關(guān)性分析。風(fēng)電功率的大小與多種氣象特征參數(shù)有關(guān),利用PCC法分析不同參數(shù)與風(fēng)電功率的相關(guān)程度,根據(jù)實(shí)驗(yàn)結(jié)果,進(jìn)一步確定與風(fēng)電功率高度相關(guān)的氣象特征作為模型輸入。
(2)數(shù)據(jù)歸一化與反歸一化。由于風(fēng)電氣象特征數(shù)據(jù)度量單位不同,此外在數(shù)據(jù)集中可能存在異常數(shù)據(jù),引起神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間增加,甚至可能使網(wǎng)絡(luò)無法收斂,為了避免出現(xiàn)這種情況以及處理數(shù)據(jù)的方便,可以對輸入數(shù)據(jù)進(jìn)行歸一化處理[17]。采用公式(20)對歷史功率數(shù)據(jù)和氣象特征數(shù)據(jù)進(jìn)行歸一化處理。同時模型輸出的風(fēng)電功率結(jié)果是歸一化后的結(jié)果,為了使其具有物理意義,可以采用公式(21)對結(jié)果進(jìn)行反歸一化處理。
x=(xmax-xmin)x′+xmin,
(21)
式中:x′為歸一化數(shù)值;x為實(shí)際值;xmax、xmin分別為x的最大值和最小值。
(3)確定時間序列長度T,重構(gòu)輸入數(shù)據(jù)。根據(jù)風(fēng)電功率數(shù)據(jù)的自相關(guān)函數(shù)(autocorrelation function,ACF)圖,確定時間序列長度T的大小,按單位長度的滑動窗口逐步向后滾動將數(shù)據(jù)集重構(gòu)成式(15)的形式[18]。
(4)訓(xùn)練最優(yōu)模型。為了獲取最優(yōu)模型,需要選取合適的超參數(shù),例如神經(jīng)網(wǎng)絡(luò)層數(shù)和每層的神經(jīng)元個數(shù),此外還要考慮學(xué)習(xí)率、優(yōu)化器、激活函數(shù)等的選取。通過多次實(shí)驗(yàn),利用評價指標(biāo)比較每次實(shí)驗(yàn)結(jié)果,選出誤差最低的參數(shù)組合。
(5)使用最優(yōu)模型完成預(yù)測。導(dǎo)入最優(yōu)模型,完成某時刻的風(fēng)電功率預(yù)測,使用評價指標(biāo)和可視化圖形分析。
采用某風(fēng)電場的全年歷史數(shù)據(jù)對所提組合預(yù)測模型的預(yù)測精度進(jìn)行分析研究,此風(fēng)電場的額定容量為99 MW,樣本數(shù)據(jù)選取2019年全年實(shí)測數(shù)據(jù),包括實(shí)際場站風(fēng)電輸出功率以及距地面10 m位置處風(fēng)速風(fēng)向、30 m處風(fēng)速風(fēng)向、50 m處風(fēng)速風(fēng)向、70 m處風(fēng)速風(fēng)向、風(fēng)機(jī)輪轂位置處風(fēng)速風(fēng)向、氣溫氣壓相對濕度等數(shù)據(jù),時間分辨率為15 min。為了根據(jù)前T個時刻數(shù)據(jù),實(shí)現(xiàn)下一個15 min風(fēng)電功率的超短期預(yù)測,將2019年前11個月的數(shù)據(jù)當(dāng)作訓(xùn)練集,最后一個月的數(shù)據(jù)當(dāng)作測試集。
3.1.1 相關(guān)性分析實(shí)驗(yàn)結(jié)果
利用PCC法對風(fēng)電功率數(shù)據(jù)和上述氣象特征數(shù)據(jù)共計14個變量進(jìn)行相關(guān)性分析實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。根據(jù)所述PCC法可知,圖中數(shù)值的絕對值越接近1,代表相應(yīng)兩變量的相關(guān)性越大,并且當(dāng)數(shù)值結(jié)果大于0.8時,其對應(yīng)的兩變量具有高度相關(guān)性。由圖5可知,與風(fēng)電功率高度相關(guān)的氣象特征為30 m以上高度處風(fēng)速。
(a)圖一 (b)圖二圖5 相關(guān)性分析熱力圖
3.1.2 自相關(guān)性分析實(shí)驗(yàn)結(jié)果
根據(jù)ACF圖對風(fēng)電功率時間序列數(shù)據(jù)進(jìn)行自相關(guān)性分析實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖6所示。其中橫軸數(shù)值代表延遲階數(shù),縱軸數(shù)值代表原功率序列與延遲不同階數(shù)后的功率序列的相關(guān)性系數(shù)。根據(jù)圖6所示結(jié)果和超參數(shù)選擇實(shí)驗(yàn)驗(yàn)證,最終確定輸入數(shù)據(jù)的時間序列長度T為30。因此,模型的輸入為前30個時刻的特征為風(fēng)電歷史功率、距地面30 m位置處風(fēng)速、50 m處風(fēng)速、70 m處風(fēng)速、風(fēng)機(jī)輪轂位置處風(fēng)速的時間序列數(shù)據(jù),輸出為下一時刻的風(fēng)電功率。同時,在訓(xùn)練集和測試集分別按單位長度的滑動窗口逐步向后滾動建立時間序列數(shù)據(jù)集。
圖6 風(fēng)電功率ACF
選用均方根誤差(root mean square error,σRMSE)、平均絕對誤差(mean absolute error,σMAE)與決定系數(shù)(r-square,R2)3個指標(biāo)評估模型預(yù)測性能[19]。σRMSE和σMAE評估預(yù)測值與實(shí)際值之間的偏差,其值越小預(yù)測結(jié)果越準(zhǔn)確。R2反映實(shí)際數(shù)據(jù)與訓(xùn)練模型擬合的程度,其值越近1預(yù)測效果越好[20]。具體計算公式如下:
實(shí)驗(yàn)所用程序是在tensorflow2.0深度學(xué)習(xí)框架下采用Python語言編寫,其內(nèi)置許多封裝性強(qiáng)的庫,方便調(diào)用。多次進(jìn)行實(shí)驗(yàn)優(yōu)化模型超參數(shù),最終確定模型最佳參數(shù)為表1所示。
表1 模型結(jié)構(gòu)與參數(shù)設(shè)置
為驗(yàn)證PCC-GRU-Attention預(yù)測模型的可行性,將其分別與CNN-LSTM、LSTM和GRU模型的預(yù)測效果進(jìn)行對比,結(jié)果如表2所示。
表2 各個模型某日預(yù)測結(jié)果
從表中可以看出,所提模型相比于CNN-LSTM、LSTM和GRU模型,σRMSE分別降低了57.48%、22.28%、10.43%;σMAE分別降低了48.99%、37.87%、17.24%;R2分別提高了12.37%、1.27%、0.53%。綜合各指標(biāo),可以看出所提模型有效減小了泛化誤差。
為了直觀地展示所提模型與其它模型的預(yù)測效果對比,以15 min為間隔,對某日96個時刻風(fēng)電功率分別用不同模型進(jìn)行了預(yù)測,其預(yù)測對比曲線如圖7所示。從圖7中可看出,所提模型相比于實(shí)際值誤差最小,CNN-LSTM相比于實(shí)際值誤差最大。
圖7 不同模型某日風(fēng)電功率預(yù)測曲線對比
針對LSTM網(wǎng)絡(luò)和GRU網(wǎng)絡(luò)處理長時序列易丟失序列信息的問題,同時為了提高預(yù)測精度,提出一種基于PCC-GRU-Attention組合風(fēng)電功率超短期預(yù)測方法。所提組合模型的特點(diǎn)為:
1)使用PCC對氣象特征數(shù)據(jù)進(jìn)行相關(guān)性分析,根據(jù)數(shù)值結(jié)果選出高度相關(guān)性的特征參數(shù)作為輸入。
2)應(yīng)用注意力機(jī)制能夠極大優(yōu)化輸出權(quán)重占比,有效減小模型泛化誤差。
3)所提模型與CNN-LSTM、LSTM和GRU模型相比,有效提高了模型預(yù)測精度。
組合模型可以彌補(bǔ)單一模型的不足之處,在后面的研究過程中,會考慮更多有效的方法。同時,目前的研究只是局限于預(yù)測結(jié)果的確定性預(yù)測,為了提高結(jié)果的置信度,可以考慮不確定性預(yù)測,包括概率預(yù)測和區(qū)間預(yù)測。