臧海祥,趙勇凱,張 越,程禮臨,衛(wèi)志農(nóng),秦雪妮
(1.河海大學(xué)電氣與動力工程學(xué)院,江蘇省 南京市 211100;2.華能國際電力江蘇能源開發(fā)有限公司清潔能源分公司,江蘇省 南京市 210009)
伴隨著化石能源逐漸枯竭,在節(jié)能減排新形勢下,風(fēng)力發(fā)電越來越受到各國的重視[1]。然而,大規(guī)模風(fēng)電場群接入后,強(qiáng)波動性的風(fēng)電功率注入將造成局部電壓波動,從而影響到電能質(zhì)量及電網(wǎng)的安全穩(wěn)定運(yùn)行[2]。因此,準(zhǔn)確的風(fēng)電功率預(yù)測成為解決這一問題的重要舉措。超短期風(fēng)電功率預(yù)測[3]是風(fēng)電功率預(yù)測的一種,其時間間隔為15 min,用于預(yù)測未來0~4 h 的風(fēng)電功率,在電網(wǎng)實(shí)時調(diào)度與控制風(fēng)電機(jī)組的高效運(yùn)行方面具有重要的指導(dǎo)意義[4]。而進(jìn)一步提升超短期風(fēng)電功率的預(yù)測精度,也有助于確保風(fēng)電場的穩(wěn)定和經(jīng)濟(jì)運(yùn)行。
傳統(tǒng)的風(fēng)電功率預(yù)測常采用時間序列模型,如差分自回歸移動平均(autoregressive integrated moving average,ARIMA)模型[5]。但這類模型僅捕獲數(shù)據(jù)間的線性關(guān)系,隨著數(shù)據(jù)復(fù)雜度與預(yù)測步長的增加,模型預(yù)測值易趨于均值。因此,隨后的研究普遍采用非線性模型進(jìn)行預(yù)測,其中,以機(jī)器學(xué)習(xí)模型居多[6]。例如,文獻(xiàn)[7]采用了分位數(shù)回歸森林模型對短期風(fēng)電功率進(jìn)行預(yù)測,文獻(xiàn)[8]則采用反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)結(jié)合徑向基神經(jīng)網(wǎng)絡(luò)對風(fēng)電功率進(jìn)行組合預(yù)測。
近年來,許多深度學(xué)習(xí)方法也被用在風(fēng)電功率預(yù)測領(lǐng)域當(dāng)中,以挖掘更深層次的數(shù)據(jù)特征。例如,文獻(xiàn)[9]中研究者利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型融合多維的氣象信息。文獻(xiàn)[10]建立基于注意力機(jī)制的長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò),對歷史數(shù)據(jù)中的時序特征進(jìn)行提取。文獻(xiàn)[11]結(jié)合時間卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)與LSTM 網(wǎng)絡(luò)構(gòu)建了組合結(jié)構(gòu)的超短期風(fēng)電功率預(yù)測模型,來獲取更高的預(yù)測精度及穩(wěn)定性。
當(dāng)數(shù)據(jù)集充足時,上述深度學(xué)習(xí)方法的效果較好;而當(dāng)數(shù)據(jù)集較小時,由于深度學(xué)習(xí)模型的參數(shù)空間更加復(fù)雜,預(yù)測過程中往往伴隨著有規(guī)律的擬合誤差,這些誤差常分布在極值點(diǎn)和限幅值附近。一些研究采用誤差擬合的方法進(jìn)行修正,這種方法可以有效地糾正模型的內(nèi)在缺陷,但對于限幅值區(qū)域(如低風(fēng)速待風(fēng)段),一般的修正結(jié)構(gòu)仍然難以完全補(bǔ)償。
此外,神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度與所采用的損失函數(shù)和預(yù)測策略密切相關(guān)。例如,文獻(xiàn)[12]通過多任務(wù)學(xué)習(xí)方式提出了一種新型的損失函數(shù),進(jìn)一步加強(qiáng)了預(yù)測結(jié)果與真實(shí)值在序列形狀上的聯(lián)系。但這些改進(jìn)方式通常適用于長序列的預(yù)測。對于短序列預(yù)測,尤其是單步預(yù)測往往難以直接應(yīng)用,也無法在短序列或單步預(yù)測訓(xùn)練過程中引入宏觀的序列間特征,導(dǎo)致訓(xùn)練過程的波動性較大。
綜上所述,為進(jìn)一步提升風(fēng)電功率的預(yù)測精度,本文融合自注意力機(jī)制、CNN、雙向門控循環(huán)單元(bidirectional gated recurrent unit,BiGRU)等算法結(jié)構(gòu),建立了自注意力卷積神經(jīng)和雙向門控循環(huán)單元(self-attention convolutional neural and bidirectional gated recurrent unit,SACN-BiGRU)混合模型,從功率修正與損失函數(shù)兩方面對模型進(jìn)行改進(jìn),并結(jié)合中國江蘇省某風(fēng)電場數(shù)據(jù)進(jìn)行了仿真驗(yàn)證。
風(fēng)電機(jī)組的工作效率與風(fēng)速呈一定比例的線性關(guān)系。在低風(fēng)速下,風(fēng)機(jī)的發(fā)電效率遠(yuǎn)低于正常水平。因此,當(dāng)風(fēng)速小于切入風(fēng)速時,風(fēng)機(jī)通常處于待風(fēng)狀態(tài),以減少系統(tǒng)損耗。此時風(fēng)機(jī)的功率不會隨著風(fēng)速等特征的變化而變化,理論功率恒定為0。
但實(shí)際上,風(fēng)速的測量數(shù)據(jù)通常采用以下采樣的方式獲得,并且風(fēng)力發(fā)電系統(tǒng)具有一定的滯后性。因此,在低風(fēng)速待風(fēng)狀態(tài)下仍可能存在較小的功率輸出。盡管目前風(fēng)電場所收集到的數(shù)據(jù)量足以支持神經(jīng)模型的訓(xùn)練和預(yù)測,但在這種限幅模式的轉(zhuǎn)變處可能仍存在一些風(fēng)電功率預(yù)測精度不足的問題[13]。如附錄A 圖A1 所示,零功率點(diǎn)附近神經(jīng)網(wǎng)絡(luò)的預(yù)測值均存在一定的擬合誤差,鄰近的正常功率也受到其影響向上偏移。這些異常功率同樣需要進(jìn)行修正,但有別于傳統(tǒng)的待風(fēng)狀態(tài),不能簡單地通過判斷將預(yù)測功率置零。
如果低風(fēng)速區(qū)域的比例較小,這些誤差并不會對預(yù)測指標(biāo)產(chǎn)生太大影響。然而,統(tǒng)計數(shù)據(jù)顯示,低風(fēng)速區(qū)域通常占比較高。以中國江蘇省某風(fēng)電場為例,其中低風(fēng)速樣本占比超過25%(參見附錄A圖A2 的風(fēng)速頻率分布圖)。因此,在模型中添加特殊的修正結(jié)構(gòu)是有必要的。通過合理控制修正的范圍與大小,也能夠針對性地修正特征不同的兩類預(yù)測功率,從而進(jìn)一步提高模型的預(yù)測精度。
風(fēng)機(jī)在低風(fēng)速下限幅模式的轉(zhuǎn)變給模型的修正帶來了困難。針對這一問題,本文在風(fēng)電功率預(yù)測的主模塊之外引入了一個風(fēng)速預(yù)測模塊,用于修正單步預(yù)測功率。獨(dú)立構(gòu)建風(fēng)速預(yù)測模塊一方面可以適用于風(fēng)速預(yù)報無法獲取的情況,另一方面,與氣象預(yù)報提供的風(fēng)速信息不同,風(fēng)速預(yù)測模塊的關(guān)注點(diǎn)不僅在預(yù)測的精度上,同時也希望通過獨(dú)立的預(yù)測結(jié)構(gòu)來更為靈敏可控地捕捉到風(fēng)速的變化趨勢,從而去判斷功率所處的狀態(tài)。
模塊預(yù)測的風(fēng)速信息被用來判斷是否需要對輸出功率進(jìn)行修正,然后,使用特定的函數(shù)對需要修正的功率進(jìn)行縮放,使低風(fēng)速段的輸出功率更接近真實(shí)值。一般情況下,風(fēng)速在3 m/s 左右時風(fēng)機(jī)待風(fēng),考慮到修正的容錯率,模型采用5 m/s 作為閾值,即當(dāng)預(yù)測風(fēng)速低于5 m/s 時對預(yù)測功率進(jìn)行修正,具體計算過程如式(1)至式(3)所示。
式中:yt-i為第t-i時刻的實(shí)際功率為第t時刻的預(yù)測功率為修正后的預(yù)測功率;V^t為第t時刻的風(fēng)速預(yù)測值;k1和k2為可調(diào)參數(shù),本文實(shí)驗(yàn)中k1取3,k2取1;ε為一微小量,用于避免分母為零時程序除零報錯;α1為功率系數(shù);λ為風(fēng)速系數(shù)。
式(1)使用一種類Sigmoid 函數(shù)計算縮放系數(shù),對初始的功率預(yù)測值進(jìn)行修正??s放系數(shù)由風(fēng)速系數(shù)和功率系數(shù)共同作用計算獲得。其中,風(fēng)速系數(shù)通過加權(quán)風(fēng)速預(yù)測值得到,功率系數(shù)通過對在當(dāng)前區(qū)間內(nèi)實(shí)際功率的平均值取倒數(shù)后加權(quán)獲得。
風(fēng)速預(yù)測值越高,表示功率處于待風(fēng)狀態(tài)的概率越低。因此,本文將風(fēng)速系數(shù)作用于指數(shù)項(xiàng),以控制修正的范圍,避免修正結(jié)構(gòu)影響到正常功率。附錄A 圖A3 展示了這一結(jié)果,隨著風(fēng)速系數(shù)的增加,縮放系數(shù)將更快地趨近于1,修正范圍也隨之減小??紤]到低風(fēng)速下實(shí)際功率不都為0,若當(dāng)前區(qū)間內(nèi)的功率均值較大,即使預(yù)測風(fēng)速較低,該時刻的功率也可能不處于待風(fēng)狀態(tài)。因此,模型進(jìn)一步使用功率系數(shù)來控制縮放的力度。如附錄A 圖A3 所示,在相同的風(fēng)速系數(shù)下,由于功率系數(shù)作用在一次項(xiàng)上,其可以在幾乎不改變修正范圍的基礎(chǔ)上,適當(dāng)調(diào)整修正功率的大小,起到查漏補(bǔ)缺的作用。
k1和k2是對應(yīng)系數(shù)的權(quán)重參數(shù),表示修正結(jié)構(gòu)對風(fēng)速預(yù)測值和功率的信任程度。增加k1,會使范圍內(nèi)的功率受到更嚴(yán)格的修正,從而增加結(jié)構(gòu)誤判波及正常預(yù)測功率的風(fēng)險;增加k2,會使待風(fēng)狀態(tài)范圍的判定更嚴(yán)謹(jǐn),但可能會忽略掉某些特征不明顯的待風(fēng)點(diǎn)功率。
多輸入多輸出的預(yù)測策略可以通過共享權(quán)重的方式來學(xué)習(xí)不同輸入之間的相似性和相互影響,這種共享權(quán)重的機(jī)制可以增強(qiáng)模型對序列之間關(guān)聯(lián)性的建模能力[14]。然而,當(dāng)預(yù)測序列較短,特別是進(jìn)行單步預(yù)測時,由于無法提前使用未來序列,模型的訓(xùn)練過程往往波動性較大,難以穩(wěn)定收斂。
為了引入序列間關(guān)聯(lián)性而不改變模型的結(jié)構(gòu),本文考慮使用預(yù)測值向前延拓的方式來構(gòu)建一種新型的預(yù)測策略。假設(shè)模型預(yù)測步長為N,輸入的時間序列長度為T。模型將在單次訓(xùn)練中共享參數(shù),分 別 預(yù) 測 當(dāng) 前 時 間 段 的 真 實(shí) 功 率{yt+1,yt+2,…,yt+N} 與上一時間段的真實(shí)功率{yt-N+1,…,yt-1,yt},并將它們拼接作為損失函數(shù)的 輸 入 ,拼 接 后 模 型 的 預(yù) 測 序 列 為{}。如圖1 所示,此處模型的預(yù)測步長N為3,與傳統(tǒng)的多輸入多輸出預(yù)測策略相比,擴(kuò)展后損失函數(shù)輸入的序列長度變?yōu)橹暗? 倍,但模型的預(yù)測步長保持不變,只是利用拓展后的輸出構(gòu)建損失函數(shù),以進(jìn)行參數(shù)更新。由于共用一套模型參數(shù),這些輸出彼此之間具有關(guān)聯(lián)性,可以提取到更長尺度的序列間特征。
圖1 損失函數(shù)結(jié)構(gòu)Fig.1 Structure of loss function
在傳統(tǒng)的時間序列預(yù)測中,損失函數(shù)通常被定義為距離的累加和,如均方誤差、平均絕對誤差(mean absolute error,MAE)等。然而,這些點(diǎn)損失函數(shù)是相互獨(dú)立的,重復(fù)預(yù)測等同于增加訓(xùn)練的批數(shù)量。為解決這個問題,模型需要使用另一種替代函數(shù),此處稱為關(guān)聯(lián)函數(shù)。關(guān)聯(lián)函數(shù)是一種多元非線性函數(shù),與模型本身無關(guān)。其在運(yùn)算過程中不滿足對加法和標(biāo)量乘法的封閉性,能夠保證序列間的相互依賴關(guān)系,從而在模型訓(xùn)練過程中以損失函數(shù)的方式引入序列間特征。值得一提的是,由于關(guān)聯(lián)函數(shù)的注入獨(dú)立于模型之外,可以根據(jù)需要設(shè)計算法,具有較強(qiáng)的解釋性。同時,由于輸入特征相對于預(yù)測目標(biāo)有所滯后,通過保存前饋網(wǎng)絡(luò)的參數(shù),該方法也不會顯著增加訓(xùn)練計算量。
考慮到傳統(tǒng)的損失函數(shù)通常只反映預(yù)測值與真實(shí)值之間的數(shù)值差異。因此,當(dāng)時間序列數(shù)據(jù)出現(xiàn)陡升或陡降時,模型的預(yù)測值通常會輸出一個平均的結(jié)果,針對風(fēng)電功率序列則表現(xiàn)出較強(qiáng)的滯后性。對于這個問題,本文在基于不同的時間尺度構(gòu)建關(guān)聯(lián)函數(shù)時,使用余弦相似度來衡量采樣前后預(yù)測值與真實(shí)值的相似程度,并通過加權(quán)的方式對原始的數(shù)值誤差進(jìn)行計算,從而得到一種新型的損失函數(shù)。該損失函數(shù)不僅考慮了數(shù)值誤差,還考慮了預(yù)測值與真實(shí)值之間的斜率誤差,使得模型更加關(guān)注時間序列預(yù)測結(jié)果的形狀及與真實(shí)序列是否匹配的問題,從而彌補(bǔ)了傳統(tǒng)點(diǎn)損失函數(shù)的不足之處。具體公式如下:
式中:S1和S2分別為采樣前、后的余弦相似度之和,此處將時序軸看作間隔為1 的實(shí)數(shù)軸和分別為向上取整和向下取整運(yùn)算符;di為第t-N+i時刻下功率的絕對誤差;β為可調(diào)參數(shù),用于控制相似度對于損失函數(shù)的影響,文中取0.5;s(1,i,α2)和s(2,i,α2)為中間變量;α2為下采樣的步長;L為損失函數(shù)。
風(fēng)電功率預(yù)測是指對風(fēng)電場未來一段時間內(nèi)輸出功率的大小進(jìn)行預(yù)測,屬于時間序列預(yù)測的范疇。預(yù)測模型的輸入是一定長度的時間序列,通過學(xué)習(xí)歷史數(shù)據(jù)的特征信息對未來風(fēng)電功率進(jìn)行單步或多步的預(yù)測,其中,神經(jīng)網(wǎng)絡(luò)預(yù)測模型可以表示為以下形式:
對應(yīng)風(fēng)電功率預(yù)測模型的建立總共包括3 個階段:數(shù)據(jù)預(yù)處理、模型訓(xùn)練和模型測試。數(shù)據(jù)預(yù)處理的目的是篩選和歸一化數(shù)據(jù),以提高訓(xùn)練的穩(wěn)定性和泛化能力。同時,由于模型的網(wǎng)絡(luò)參數(shù)θ是通過隨機(jī)初始化獲得的,需要使用模型訓(xùn)練來更新網(wǎng)絡(luò)參數(shù),實(shí)驗(yàn)中為提高訓(xùn)練效率,通常使用小批量梯度下降的方法。最后,固定模型的網(wǎng)絡(luò)參數(shù)進(jìn)行測試驗(yàn)證,以分析模型的預(yù)測性能。
3.2.1 CNN
CNN 由多個卷積層、池化層和全連接層組成,是一種具有多通道輸入能力的網(wǎng)絡(luò)結(jié)構(gòu)。它利用局部感受野、權(quán)值共享和空間下采樣技術(shù),來減少參數(shù)數(shù)量和計算復(fù)雜度,提高泛化能力[15]??紤]到風(fēng)電功率輸入特征的多樣性與復(fù)雜性,本文模型選擇這種結(jié)構(gòu)對風(fēng)電數(shù)據(jù)的多維特征進(jìn)行提取,以緩解模型的擬合壓力。
卷積層是卷積結(jié)構(gòu)的核心組成部分,使用一組可學(xué)習(xí)的卷積核對輸入數(shù)據(jù)進(jìn)行卷積操作。對于二維數(shù)據(jù)的卷積操作,請參見附錄A 圖A4。圖中的卷積核相當(dāng)于濾波器,對當(dāng)前一定范圍內(nèi)的數(shù)據(jù)窗口進(jìn)行內(nèi)積操作。當(dāng)濾波器從數(shù)據(jù)中心滑動時,類似的步驟將會重復(fù)發(fā)生,從而將二維數(shù)據(jù)映射到二維的特征圖譜。同時,池化層則對卷積層的輸出進(jìn)行下采樣,以降低特征圖的空間尺度,并保留最顯著的特征。
3.2.2 自注意力機(jī)制
自注意力機(jī)制是指神經(jīng)網(wǎng)絡(luò)具有將注意力集中到一部分輸入(或特征)的能力,用于解決深度學(xué)習(xí)模型在處理長序列數(shù)據(jù)時的困難?,F(xiàn)有的風(fēng)電功率預(yù)測研究中往往將其搭配Transformer 架構(gòu)使用[16],本文使用CNN 與自注意力機(jī)制相結(jié)合,以提高特征的捕獲能力。如附錄A 圖A5 所示,自注意力機(jī)制采用查詢-鍵-值(Q-K-V)架構(gòu),3 種向量均通過輸入映射獲得,并依據(jù)重要系數(shù)進(jìn)行加權(quán)累加,若采用多頭注意力機(jī)制則會將原始的輸入序列分為多組進(jìn)行處理,在最后進(jìn)行合并以增強(qiáng)特征表達(dá)的性能。同時,由于自注意力機(jī)制并行計算的特點(diǎn),為保持序列的順序信息,通常需要在輸入中添加相應(yīng)的位置編碼。相應(yīng)公式如式(12)至式(18)所示。
式中:X為輸入數(shù)據(jù);WQ、WK、WV分別為對應(yīng)張量的權(quán)重矩陣;dK為K的維度大??;A為注意力機(jī)制的輸出向量,形式上表現(xiàn)為隱藏編碼,其同時包含數(shù)據(jù)全局與局部的關(guān)系[17];P(·)為位置編碼;xi為輸入數(shù)據(jù);l為編碼數(shù)據(jù)對應(yīng)的時序位置;dmodel為編碼的維度;k為0~0.5dmodel-1 之間的整數(shù)值;Softmax(·)為歸一化激活函數(shù),用于分配權(quán)重。
3.2.3 BiGRU
門控制循環(huán)單元(gate recurrent unit,GRU)是LSTM 網(wǎng)絡(luò)的一種變體結(jié)構(gòu)。相比于LSTM,GRU同樣能夠捕獲時間序列中的長期關(guān)聯(lián)性,且在大多數(shù)情況下能夠達(dá)到相似的效果。然而與LSTM 相比,GRU 的結(jié)構(gòu)更加簡單,訓(xùn)練效率更高,一些小數(shù)據(jù)集的研究結(jié)果甚至顯示GRU 的效果略高于LSTM。因此,本文采用GRU 結(jié)構(gòu)作為模型的主體部位,以取代風(fēng)電功率預(yù)測研究中常用的LSTM[18]。
GRU 單元的具體結(jié)構(gòu)見附錄A 圖A6,其主要包括兩個門控機(jī)制,從左到右分別為重置門、更新門,GRU 單元通過重置門權(quán)重rj控制重置門控,通過更新門權(quán)重zj來控制更新門控。而單層的BiGRU 由兩層GRU 組合而成,分別從正向與反向處理序列,并將隱藏神經(jīng)元的隱藏向量拼接作為最終的輸出結(jié)果。研究表明,相較于GRU,BiGRU 通常能夠更好地把握全局的時序信息,使模型獲得更好的預(yù)測性能[19]。
GRU 單元的計算過程如式(19)至式(22)所示。
式中:hj-1為上一隱藏節(jié)點(diǎn)輸出;hj為當(dāng)前隱藏節(jié)點(diǎn)輸出;xj為當(dāng)前的輸入數(shù)據(jù);為選擇的記憶數(shù)據(jù);σ表示sigmoid 函數(shù)變化;Wz、Wr、Wh和Uz、Ur、Uh分別為各部分的輸入權(quán)重矩陣和隱藏狀態(tài)權(quán)重矩陣;bz、br、bh為各部分的偏置矩陣。
風(fēng)電功率序列的特征相關(guān)性較強(qiáng),因此使用多特征進(jìn)行訓(xùn)練的超短期風(fēng)電功率預(yù)測模型通常比使用單特征的效果更好[20]。而卷積與自注意力機(jī)制作為兩種強(qiáng)大的表征學(xué)習(xí)方法,它們之間存在著很強(qiáng)的潛在關(guān)系[21]。因此,本文考慮將二者結(jié)合用于提取多尺度的風(fēng)電功率信息。
首先,模型將通過卷積對輸入特征進(jìn)行映射,得到對應(yīng)的特征圖譜,隨后使用自注意力層對中間特征進(jìn)行再聚合。在這個過程中,自注意力層會給特征區(qū)域分配不同的注意力權(quán)值,而BiGRU 層則通過強(qiáng)化后的特征信息來重新建立序列的時序關(guān)聯(lián),以此獲取更精準(zhǔn)的預(yù)測效果。為提高擬合效果,本文使用殘差連接[22]與正則化等輔助優(yōu)化手段,同時為了在自注意力層后保持?jǐn)?shù)據(jù)的時序特征,模型將在輸入端疊加位置編碼,詳細(xì)的單步預(yù)測模型結(jié)構(gòu)如圖2 所示。
圖2 SACN-BiGRU 模型結(jié)構(gòu)Fig.2 Model structure of SACN-BiGRU
圖中:xi,j為特征數(shù)量為m的時間序列輸入數(shù)據(jù);風(fēng)速預(yù)測模塊的輸入數(shù)據(jù)為風(fēng)速相關(guān)特征,其形式與功率特征相同??紤]到預(yù)測風(fēng)速的區(qū)域通常波動較大,對趨勢預(yù)測的準(zhǔn)確度要求更高,本文采用單獨(dú)的風(fēng)速預(yù)測模塊進(jìn)行擬合。在總體框架上,模型首先使用輸入的功率特征獲取初始的風(fēng)電功率預(yù)測值,然后使用風(fēng)速預(yù)測模型的預(yù)測結(jié)果對功率進(jìn)行修正,以獲得最終的修正預(yù)測結(jié)果。
本文所使用的數(shù)據(jù)集采集自中國江蘇省某風(fēng)電場2017 年1 月至3 月一個季度的實(shí)測數(shù)據(jù)。數(shù)據(jù)集包括風(fēng)電功率和當(dāng)?shù)氐南嚓P(guān)氣象數(shù)據(jù),采樣間隔為15 min,數(shù)據(jù)的具體信息如表1 所示。
表1 江蘇省風(fēng)電數(shù)據(jù)說明Table 1 Description of wind power data
實(shí)驗(yàn)的計算平臺配置為Windows 10 操作系統(tǒng),硬件使用Intel Core i7-9750H 和RTX 2060 6 GB。為了構(gòu)建所提出的預(yù)測模型,本文選用Python 語言下的Pytorch 框架進(jìn)行編程實(shí)現(xiàn)。
風(fēng)電功率數(shù)據(jù)集中不僅包含風(fēng)電功率,通常還會提供多維的氣象信息,包括風(fēng)速、風(fēng)向、溫度和氣壓等。過多的輸入特征將導(dǎo)致模型訓(xùn)練過程難以擬合。為此,本文通過式(23)至式(25)使用皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient,PCC)與最大互信息系數(shù)(maximal information coefficient,MIC)法來篩選特征[23],結(jié)果記錄于表2。
表2 相關(guān)性分析結(jié)果Table 2 Results of correlation analysis
式中:a和b表示兩類樣本變量;n為樣本的總數(shù);aˉ和為兩類樣本的均值;FPCC為樣本間PCC 系數(shù),p(a,b)為樣本變量間的聯(lián)合概率;I(a,b)為互信息;FMIC為樣本間MIC;n1和n2為網(wǎng)格分布個數(shù);B的大小取數(shù)據(jù)量的0.6 次方。
根據(jù)相關(guān)性結(jié)果分析,本文考慮將具有最高相關(guān)性的風(fēng)速和歷史功率數(shù)據(jù)作為模型的輸入特征。同時,由于各種特征間單位不統(tǒng)一,為確保模型能夠快速收斂,本文也對原始數(shù)據(jù)進(jìn)行了歸一化處理。歸一化公式如式(26)所示。
式中:xi,feature為某一類特征第i個數(shù)據(jù);為對應(yīng)歸一化后的結(jié)果。
4.3.1 模型對比實(shí)驗(yàn)
預(yù)處理后的數(shù)據(jù)特征包括風(fēng)電功率、風(fēng)速(50 m 測風(fēng)塔處)和風(fēng)速(70 m 測風(fēng)塔處),實(shí)驗(yàn)數(shù)據(jù)集按照8∶2 比例劃分為訓(xùn)練集和測試集輸入模型中。實(shí)驗(yàn)過程采用固定隨機(jī)種子,學(xué)習(xí)率取0.001,運(yùn)行5 次取平均值。
對比模型選取了經(jīng)典的預(yù)測模型隨機(jī)森林(random forest,RF)模型、時序預(yù)測應(yīng)用較為廣泛的CNN-LSTM 混合模型及其子模型CNN 模型與LSTM 模型。嵌入維度與網(wǎng)絡(luò)層數(shù)為已知的經(jīng)驗(yàn)參數(shù),RF 模型參數(shù)通過簡單尋優(yōu)獲得。為獲取其他的模型參數(shù),本文首先對預(yù)測的基礎(chǔ)參數(shù)執(zhí)行網(wǎng)格搜索,其中,批數(shù)量Nbatch={80,100,120}、時間步長Lseq={8,16,32}。固定基礎(chǔ)參數(shù)后對模型網(wǎng)絡(luò)參數(shù)進(jìn)行網(wǎng)格搜索,其中,注意力頭數(shù)Nheads={2,4}、卷積通道的數(shù)量Nchannels={8,16,64}、隱藏層神經(jīng)元數(shù)量Nhidden={64,128,256}。實(shí)驗(yàn)中相同網(wǎng)絡(luò)的參數(shù)設(shè)置完全相同,最終模型參數(shù)見附錄A 表A1。
預(yù)測指標(biāo)方面,本文采用MAE 指標(biāo)eMAE、均方根誤差(root mean square error,RMSE)指標(biāo)eRMSE和決定系數(shù)R2這3 個指標(biāo)對預(yù)測的準(zhǔn)確性進(jìn)行評價。計算公式如式(27)至式(29)所示,單步預(yù)測結(jié)果見表3。
表3 多種模型單步預(yù)測結(jié)果對比Table 3 Comparison of single-step prediction results of various models
式中:Yi和分別為第i個測試樣本的真實(shí)值和預(yù)測值;Ntest為測試樣本總數(shù)。
對比表3 中的預(yù)測指標(biāo)可以發(fā)現(xiàn),幾種預(yù)測模型的各項(xiàng)指標(biāo)上存在明顯差異。其中,本文提出的SACN-BiGRU 組合模型在各項(xiàng)誤差指標(biāo)上較對比模型均表現(xiàn)出較大提升。以平均eMAE指標(biāo)為例,SACN-BiGRU 組合模型的預(yù)測誤差為1.16 MW,相比于平均eMAE指標(biāo)第二好的CNN-LSTM 模型降低了5.2%,相比于LSTM 模型降低了9.9%。其他指標(biāo)也有一定的改善,具體降低或提升的比例如下:eRMSE指標(biāo)分別降低6.4%、14.4%、2.8%、4.5%,R2指標(biāo)分別提升了1.9%、4.2%、0.4%、0.8%。
圖3 繪制了不同模型預(yù)測結(jié)果曲線,更直觀地展示了所提方法的預(yù)測效果。通過比較圖3 可以看出,盡管風(fēng)電功率波動性較大,但本文提出的SACN-BiGRU 模型的預(yù)測結(jié)果與真實(shí)值緊密貼合,并且在相對平穩(wěn)的區(qū)間內(nèi)能夠持續(xù)精確的擬合。這是因?yàn)槟P筒捎昧俗宰⒁饬C(jī)制和CNN 相結(jié)合的方法,能夠在復(fù)雜的時間序列中找到可靠的時間依賴。此外,模型在功率波動的轉(zhuǎn)折處也并未出現(xiàn)類似其他模型所出現(xiàn)的劇烈變化,表明模型具有更好的擬合效果和穩(wěn)定性。
圖3 不同模型預(yù)測結(jié)果Fig.3 Prediction results of different models
4.3.2 風(fēng)電爬坡事件預(yù)測結(jié)果驗(yàn)證
風(fēng)電功率爬坡事件是指風(fēng)電場的風(fēng)電功率輸出在短時間間隔內(nèi)發(fā)生劇烈的波動,其嚴(yán)重威脅了電力系統(tǒng)的供需平衡和安全調(diào)度,同時也是超短期風(fēng)電功率預(yù)測的難點(diǎn)[24]。為驗(yàn)證所提方法對于風(fēng)電突變點(diǎn)預(yù)測的有效性,本文從數(shù)據(jù)中篩選出風(fēng)電功率爬坡事件,進(jìn)而對這些爬坡部分功率的預(yù)測效果進(jìn)行單獨(dú)驗(yàn)證,記錄于表4。其中,風(fēng)電爬坡事件檢測方法采用了基于趨勢特征[25]的旋轉(zhuǎn)門算法(具體篩選流程請參見附錄B,部分篩選結(jié)果請參見附錄B 圖B1)。
表4 風(fēng)電爬坡段預(yù)測結(jié)果對比Table 4 Comparison of ramp-up prediction results of wind power
對比表4 中的預(yù)測指標(biāo)可以看出,各模型對于風(fēng)電功率爬坡事件(功率突變點(diǎn))的預(yù)測精度要低于整體預(yù)測精度。但本文所提的SACN-BiGRU 模型仍然在指標(biāo)表現(xiàn)中占優(yōu),其中,eMAE預(yù)測指標(biāo)分別降低10.4%、15.9%、3.4%、5.7%,精度明顯提高。eRMSE指標(biāo)和R2指標(biāo)同樣位居前列。附錄B 圖B2 展示了部分爬坡采樣點(diǎn)的預(yù)測曲線,對比圖B2 中多個模型的預(yù)測曲線可以看出,本文所提模型對于大多數(shù)突變點(diǎn)的預(yù)測誤差均低于其他對比模型,表現(xiàn)出了較好的預(yù)測穩(wěn)定性。同時,為避免基于平均值概念的評價指標(biāo)掩蓋關(guān)鍵點(diǎn)的預(yù)測效果,本文還引入了誤差分布曲線作為評價指標(biāo)。不同模型的預(yù)測誤差分布曲線如附錄B 圖B3 所示。由圖B3 可以看出,本文所提模型在功率突變點(diǎn)上的預(yù)測誤差在0 值附近分布最為集中,其分布曲線相比于其他模型的分布曲線也更窄,這也表明本文所提模型的總體誤差更小,預(yù)測效果更好。因此,本文所提方法同樣適用于功率陡升陡降的突變情況,可以進(jìn)一步提升對于風(fēng)電功率爬坡事件的預(yù)測精度。
4.3.3 損失函數(shù)實(shí)驗(yàn)
為了驗(yàn)證新?lián)p失函數(shù)在多步預(yù)測中的有效性,本文同時進(jìn)行了不同尺度的多步預(yù)測實(shí)驗(yàn)。實(shí)驗(yàn)過程中同樣使用固定的隨機(jī)種子,實(shí)驗(yàn)7 次取平均值。實(shí)驗(yàn)結(jié)果記錄于表5 和表6。
表5 多步預(yù)測結(jié)果的MAE 指標(biāo)對比Table 5 Comparison of MAE indices for multi-step predictions
表6 多步預(yù)測結(jié)果的RMSE 指標(biāo)對比Table 6 Comparison of RMSE indices for multi-step predictions
從表5 和表6 可以看出,在進(jìn)行不同時間尺度下的多步預(yù)測時,新的損失函數(shù)都能夠有效地改善各類誤差指標(biāo)。特別是在1 h 預(yù)測中,平均eMAE指標(biāo)相比傳統(tǒng)的MAE 和均方誤差(MSE)損失函數(shù)分別降低了5.4%、8.6%,平均eRMSE指標(biāo)分別降低了3.0%、3.4%。多輸出預(yù)測策略本身就能夠捕獲序列間的關(guān)聯(lián),但實(shí)際上對于不同的預(yù)測步長,模型對局部信息和全局信息權(quán)重的需求也不同。因此,通過使用新?lián)p失函數(shù)進(jìn)行相應(yīng)調(diào)整后,數(shù)據(jù)的擬合效果仍然可以得到不同程度的提升。
4.3.4 模型消融實(shí)驗(yàn)
為了驗(yàn)證SACN-BiGRU 模型各模塊的有效性,本文進(jìn)行了消融實(shí)驗(yàn),逐一移除模型方法。其中,SACN-BiGRU1不使用新的損失函數(shù),SACNBiGRU2不使用新的損失函數(shù)且移除了低風(fēng)速修正結(jié)構(gòu),消融實(shí)驗(yàn)結(jié)果如表7 所示。由表7 可知,使用新的損失函數(shù)和風(fēng)速修正結(jié)構(gòu)在平均eMAE指標(biāo)上均降低了1%,相比于基礎(chǔ)的BiGRU 模型,增添SACN模塊后,平均eMAE、eRMSE指標(biāo)分別降低了7%和3%。
表7 SACN-BiGRU 模型的消融實(shí)驗(yàn)結(jié)果Table 7 Ablation experimental results of SACNBiGRU model
附錄B 表B1 展示了不同類型模型的修正結(jié)果。由表B1 可知,本文提出的修正方法對RF、ARIMA模型等非神經(jīng)網(wǎng)絡(luò)模型也均有提升,并不只是針對神經(jīng)網(wǎng)絡(luò)模型,但由于神經(jīng)網(wǎng)絡(luò)模型對比其他預(yù)測模型已經(jīng)取得了較大的提升,本文希望能夠在此基礎(chǔ)上,通過彌補(bǔ)模型在該情況下的缺陷來進(jìn)一步提高風(fēng)電功率的預(yù)測精度。圖4 展示了低風(fēng)速修正結(jié)構(gòu)的測試效果,可以觀察到修正結(jié)構(gòu)很好地適應(yīng)了低風(fēng)速下的各種情況。在待風(fēng)狀態(tài)下,功率被完全下拉到0;而在其他狀態(tài)下,功率則適當(dāng)?shù)乇豢s小,從而實(shí)現(xiàn)對真實(shí)功率的精確擬合。
圖4 功率修正對比Fig.4 Comparison of power correction
本文提出一種基于低風(fēng)速功率修正和損失函數(shù)改進(jìn)的超短期風(fēng)電功率預(yù)測模型。實(shí)驗(yàn)結(jié)果表明,相對于CNN、LSTM、CNN-LSTM,所提預(yù)測模型的預(yù)測指標(biāo)eMAE、eRMSE分別下降了5%~24%、3%~14%,有效地提高了預(yù)測準(zhǔn)確率。并得出以下結(jié)論:
1)將CNN、自注意力機(jī)制、BiGRU 網(wǎng)絡(luò)結(jié)合可以有效適應(yīng)輸入特征,穩(wěn)定地捕獲時間序列的長期依賴關(guān)系;
2)通過引入低風(fēng)速下功率修正能夠有效地彌補(bǔ)模型擬合的不足,進(jìn)一步提高預(yù)測精度;
3)使用新型的損失函數(shù)可以在短序列預(yù)測及單步預(yù)測中提取到時間序列的序列間特征,使模型的訓(xùn)練更穩(wěn)定,且隨著預(yù)測步長的改變,依舊有著一定的優(yōu)勢。
本文提出的預(yù)測方法在超短期預(yù)測方面具有較好的預(yù)測效果,但并未考慮到不同季度、地區(qū)差異之間的影響,且在預(yù)測尺度上更偏向于單步預(yù)測。而如何針對性地提取時序特征應(yīng)用于長序列預(yù)測,進(jìn)一步提升預(yù)測精度,在未來也有著重要的研究意義。
附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。