黃世超,郭永強,龍本錦,杜 纖,閆江峰
(貴州大學 電氣工程學院,貴陽 550025)
提高能源綜合利用效率、發掘新能源、實現可再生能源規模化開發,已成為解決日益凸顯的能源需求增長與能源緊缺之間矛盾的必然選擇。傳統的能源系統規劃所表現出的能源利用效率低、無法發揮能源間的優勢互補等問題日益突出,而綜合能源系統是解決這些問題的有效方案。精確的負荷預測,對能源系統安全、經濟運行起到重要的作用。
綜合能源系統不同于傳統單一能源系統,其可靈活地將區域內的各種能源整合起來,通過能源轉換裝置和儲存設備等,實現能源之間的耦合與轉換,最終提供給用戶電、冷、熱、氣等不同需求的能源。由于綜合能源系統與傳統能源系統在能源利用方面有著本質的差別,導致兩者的負荷預測有著較大的差異。在綜合能源系統中,不僅要考慮氣象、日歷信息等外部因素的作用,還要兼顧各類型負荷之間的內在耦合關系。目前已有的電力、熱、冷、氣聯合負荷的預測方法主要有以下方法:一是將溫度、濕度等氣象因素視為外生變量,不同負荷的歷史資料視為一種內生變量的方法,得到了不錯的預測效果[1-4]。如文獻[4]中提出了一種基于注意力的卷積神經網絡(CNN)與LSTM、雙向長短期記憶(BILSTM)模型相結合,用于綜合能源系統中的短期負荷預測,將過去5 天的歷史負荷、溫度、冷負荷和天然氣消耗量用作輸入特征,輸入到預測模型中,最終得到較高精度的預測結果。二是基于多任務學習(MTL)的預測[5-6],其將不同類型能源負荷的信息通過多任務學習的共享機制進行處理,取得了比單任務學習更有效的預測結果。如文獻[6]中梳理了不同集成能量子系統之間的耦合關系、在多任務學習中的權重共享機制,以及在最小二乘支持向量機的幫助下,構建了基于多任務學習和最小二乘支持向量機的電、熱、冷、氣的多元負荷組合預測模型。此外,還有文獻提出先分解后預測的方法。此類方法將隨機性高的負荷數據分解為多個相對平穩的子序列,降低原始序列高隨機性對預測的影響。如:文獻[7]針對綜合能源系統中負荷具有較大的隨機性和較大的波動性,采用核主成分分析(KPCA)、二次模態分解和深度雙向長短期記憶(DBiLSTM)和MLR 組合而成的多模型預測方法。但此方法在分解過后的預測模型計算規模太大,需簡化其模型。因此,為提高模型的預測速度,應盡可能對電力數據分解后的模型進行簡化。
為使綜合能源負荷數據分解更加徹底并簡化數據分解后的預測模型,本文提出一種基于自適應噪聲的完全集成經驗模態分解--樣本熵,以及BP 神經網絡和Transformer 模型組合而成的短期綜合能源負荷預測方法。通過對亞利桑那州立大學坦佩校區負荷數據進行建模預測,并與多種方法進行對比,結果表明本文提出的組合預測模型精度高、計算量小。
本文將數據分解算法與BP 神經網絡、Transformer 模型結合,提出了基于CEEMDAN-樣本熵-BPNN-Transformer 的組合預測模型。利用CEEMDAN-樣本熵將綜合能源系統負荷分解為一系列復雜度差異明顯的子序列,之后利用BP 神經網絡和Transformer 模型分別對復雜度低與復雜度高的子序列進行建模預測,最后將各子序列預測結果進行疊加得到負荷預測結果。
本文所提預測方法的主要步驟如下所示:
(1)收集歷史數據;
(2)對電、冷、熱負荷數據進行CEEMDAN 分解,得到分解后的子序列;
(3)計算分解后子序列的樣本熵值,根據樣本熵值進行重組得到新的子序列,并劃分為復雜度高與復雜度低的子序列;
(4)結合天氣、日歷信息數據,使用BP 神經網絡對復雜度低的子序列進行訓練并預測;使用Transformer 模型對復雜度高的子序列進行訓練并預測;
(5)疊加各子序列的預測結果,得到最終的多元負荷預測結果。由于多元負荷受許多因素影響,單一預測方法難以學習其中規律,因此采用CEEMDAN 算法將非線性的非平穩時間序列預測問題轉化為多個平穩的時間序列預測問題,把復雜的多元負荷分解為相對簡單的子序列CIMF;同時利用樣本熵對分解得到的平穩子序列進行復雜度分析,并將其重組,形成新的子序列NIMF,從而減少計算量并降低模型復雜度。針對復雜度較高的子序列,基于注意力機制(Attention)的Transformer 模型能給予較高的關注,最大程度的挖掘其中的規律,得到較為準確的預測結果;而對于復雜度較低的子序列,其周期性較強,故采用結構簡單的BP 神經網絡進行預測,從而減少訓練時間并避免耗費資源較多的問題。
CEEMDAN[7]作為EMD[8]的一種改進方法,克服了EMD 模態混疊現象,同時也解決了EEMD 處理過程中加入的白噪聲難以去除的問題,并且其重構誤差很小。CEEMDAN 主要改進的地方是通過向原始信號添加自適應的白噪聲,分別使用EMD 進行分解,并對分解所得的分量求均值進而得到最后的本征模態函數(intrinsic mode functions,IMF)。CEEMDAN 算法的步驟如下所示:
(1)向負荷原始序列x(t)中添加白噪聲ωm(t),添加白噪聲后的序列為:

其中M為添加白噪聲的次數。
(2)對xm(t)進行EMD 分解,分解后對其取平均得到第一個分量c1(t):

然后得第一個余項:

(3)向余項中加入白噪聲后進行EMD 分解,對結果取平均得到第二個分量c2(t):

然后得第二個余項:

(4)循環步驟2 和步驟3 直到余量不能再分解,CEEMDAN 算法的實現步驟可總結為

其中:ci(t)為第i個IMF 分量,r(t)為殘余項。
近似熵可以衡量序列的復雜度,并且只需要一個序列中的少部分數據就可以得出結果,但是由于近似熵有著一致性差和計算結果易產生偏差的缺點[9]。因此,針對近似熵的缺點,Richman[10]于2000 年提出樣本熵理論,相比于近似熵,樣本熵擁有更好的精度。樣本熵的大小直接反應出序列的復雜程度,序列越復雜,其樣本熵值就越大;若序列越簡單,樣本熵值就越小。樣本熵的值用SE(n,α,K)表示,可以描述為

其中,K為時間序列的長度;n為維數;α為相似容限;Rn+1(α)和Rn(α)表示α閾值情況下,兩個時間序列匹配n或n +1 個點的概率。當K取有限值時,通過式(7)得到的樣本熵估計值為

BP 神經網絡[11]是一種應用廣泛的預測方法,其結構簡單,泛化性能較好,相比SVR 和差分整合移動平均自回歸模型(ARIMA)算法,能更準確的預測周期性強、平滑的負荷,故本文選擇BP 神經網絡來預測復雜度低的子序列。
由于BP 神經網絡結構簡單,針對復雜度高的子序列,則無法得到精確的預測結果。而基于注意力機制(Attention)的Transformer 模型[12],具有較強的特征提取能力,對于復雜度高的時間序列,會給予較高的關注,復雜度高的時間序列在Transformer 模型中會得到更高的注意力權重,故預測結果也相對準確。因此,本文采用Transformer 模型來預測負荷復雜度高的子序列。
基于Attention 的Transformer 模型[12]由編碼器與解碼器兩部分組成,其結構比Attention 更加復雜。Transformer 模型結構如圖1 所示。

圖1 Transformer 模型結構圖Fig.1 The structure of Transformer Model
Transformer 模型在編碼器和解碼器中引入Attention 機制,使其擁有更好的特征提取效果。輸入層通過全連接網絡,將輸入的時間序列數據映射成向量,通過使用具有正弦和余弦函數的位置編碼,將輸入向量與位置編碼向量逐元素相加,來對時間序列數據中的順序信息進行編碼。所得到的向量被送入6 個編碼器層,每個編碼器層由一個自注意力子層和一個完全連接的前饋神經網絡子層組成。為了構建一個更深的模型,每個子層都應用了殘差連接,后面緊跟一個規范化層。編碼器產生一個向量反饋給解碼器。解碼器采用了與原始Transformer模型[12]結構相似的解碼器設計。該解碼器由輸入層、6 個相同的解碼器層和一個輸出層組成。
Transformer 模型采用自注意力機制來學習不同時間步長的長期關系,引入注意力機制就是為了解決信息過長導致信息丟失的問題。其中,注意力機制根據鍵(Key)值K∈和Query值Q∈得到Value值V∈RN ×d V,如下式為:

式(9)中,X為輸入的序列,WQ、WK、WV為初始化的Query、Key和Value值,式(12)中A()的規范化作用可用以下式子表示為

為提高標準注意力機制的學習能力,文獻[12]中提出了多頭注意力機制。用不同的頭部來表示子空間,如式(14)所示:

其中,W(h)K、W(h)Q、W(h)VQ分別表示Key、Query、和Value值的權重,WH線性地結合了從頭部Hh來的所有輸出。
Transformer 模型通過使用注意力機制來挖掘復雜度高的子序列的內在規律,使其能夠更加精確擬合復雜度高的子序列,實現對復雜度高的子序列的準確預測,提高負荷的預測精度。
本文選取美國亞利桑那州立大學坦佩校區的綜合能源系統2020 年1 月1 日~2 月29 日的數據作為實驗數據,按照8 ∶1 ∶1 的比例來劃分訓練集、驗證集和測試集。其中,預測集為2020 年2 月24~2 月29 日的電、熱、冷負荷。
為了使預測模型更好的提取到負荷數據的內部特征,采用歸一化對數據進行處理,其計算公式為:

式中,xg為歸一化處理后的數據;x為需要歸一化的數據;xmax、xmin分別表示負荷數據的最大值和最小值。
為了更好地評估預測模型,本文采用均方根誤差(RMSE)以及平均絕對百分比誤差(MAPE)作為評價指標。各評估指標的計算公式為:

其中,y(k)、x(k)分別為k時刻的預測值和真實值,m為樣本總數。
為更加全面地評估多元負荷預測結果,采用綜合MAPE對預測效果進行評估:

其中,α電=1/3,α冷=1/3,α熱=1/3。
將電負荷、冷負荷、熱負荷分別進行分解,CEEMDAN 參數取值:高斯白噪聲標準差為0.2,加入噪聲次數為500 次。
電負荷被分解為10 個CIMF 和1 個殘余項,并對這11 個子序列進行ADF(Augmented Dickey-Fuller)檢驗。結果表明,11 個子序列均沒有單位根,為平穩序列。通過CEEMDAN 分解處理,把隨機性較強的非平穩時間序列預測問題,轉化為多個相對平穩的時間序列預測問題,充分挖掘了原始負荷數據中的信息。
采用樣本熵理論,分別對分解得到的電負荷子序列、冷負荷子序列和熱負荷子序列復雜度評估,其中電負荷子序列樣本熵分析結果如圖2 所示。

圖2 電負荷子序列的樣本熵Fig.2 Sample entropy of electrical load subsequence
由圖2 可知,前兩個CIMF 的樣本熵值均大于1,表明這兩個CIMF 的復雜度都比較高。且第一個CIMF 和第二個CIMF 電負荷子序列的樣本熵值很接近,差值僅為0.067 4,表明這兩個CIMF 產生新模式的概率大小基本相同,故可以將這兩個CIMF 疊加,作為一個子序列進行訓練并預測,將疊加產生的新序列簡稱為NIMF1;第三個CIMF 的樣本熵值為1.048,表明該序列復雜度高,本文把該序列作為一個單獨的序列進行訓練和預測,簡稱該序列為NIMF2;第四和第五個CIMF 的樣本熵值的差僅為0.015 8,表明這兩個CIMF 產生新模式的概率大小基本相同,故可以將這兩個CIMF 疊加作為一個子序列進行訓練并預測,簡稱該新序列為NIMF3;第六、第七與第八個CIMF 的樣本熵值差值較小,故把這3 個CIMF 疊加得到新序列NIMF4。NIMF1、NIMF2、NIMF3、NIMF4 均使用Transformer 模型進行預測。第九、第十個CIMF 以及余項的樣本熵值均小于0.1,表明這3 個序列復雜度低,且3 個序列的樣本熵值的差值很小,故把這3 個序列疊加得到新的序列NIMF5。由于這3 個序列的復雜度較低,故使用結構簡單的BP 神經網絡進行預測,從而減少訓練時間并避免耗費資源較多的問題。疊加后的電負荷子序列及其使用的預測模型,見表1。

表1 電負荷子序列重組結果Tab.1 Recombination results of electrical load subsequences
同理對冷、熱負荷分解得到的子序列,也使用樣本熵進行復雜度評估。
按照產生的電、冷、熱重組新序列使用對應的預測模型進行訓練并預測。其中,電、冷、熱負荷經過重組產生的子序列如果序號相同,則將此電、冷、熱負荷的對應新序列輸入到同一個模型進行預測。Transformer 模型采用8 頭注意力機制,學習率為0.001,正則化dropout 參數為0.1。為體現多元負荷預測的優勢,利用單一負荷預測的結果與多元負荷預測結果進行對比,其對比結果見表2。

表2 單一負荷預測與多元負荷預測誤差對比Tab.2 Error comparison between single load forecasting and multiple load forecasting
由表2 可知,多元負荷預測結果的誤差明顯小于單一負荷的預測誤差,驗證了多元負荷預測方法的優越性。綜合能源系統中若對電負荷、冷負荷以及熱負荷使用單一負荷預測方法進行分別預測,那么相比于多元負荷預測,單一負荷預測情況下會消耗3 倍的時間成本。若將多元負荷放在一起預測,則使預測模型能更好地挖掘學習多元負荷的內在信息,得到更加準確的預測結果。
為了充分驗證多元負荷預測方法的有效性及優越性,選取4 種方法對多元負荷進行預測,并對比分析預測結果。
方法一:使用Transformer 模型對電、冷、熱負荷進行預測。
方法二:使用EEMD 算法對電、冷、熱負荷進行分解,再使用樣本熵來進行復雜度分析并重組分量,之后分別使用BP 神經網絡和Transformer 模型對復雜度低的子序列和復雜度高的子序列進行預測,方法簡稱為ESBT。
方法三:使用EEMD 算法對電、冷、熱原始負荷進行分解,并使用文獻[13]中提出的過零率作為劃分高頻分量和低頻分量的依據,將分解得到的序列劃分為高頻部分和低頻部分,再分別使用MLR 和GRU 對低頻部分和高頻部分進行預測,最后將預測結果進行重構得到最終預測結果,此方法簡稱為EGM。
方法四:首先,運用CEEMDAN 分別對電、冷、熱負荷進行本征模態分解后,運用KPCA 對天氣、日歷規則特征集提取主成分,實現數據降維;將分解得到的分量結合特征集主成分,用深度雙向長短記憶(DBiLSTM)神經網絡進行預測,最后將預測結果進行重構,得到最終預測結果,此方法簡稱為CKD。
各模型2 月24 日~2 月29 日的電、冷、熱負荷預測結果如圖3 所示,各模型預測誤差詳見表3。

圖3 負荷預測結果Fig.3 The results of load forecasting
由圖3 與表3 可知,相比于其它方法,本文方法在此實驗數據集上表現最優,能更加準確地預測出多元負荷的趨勢,并且在負荷的峰谷位置比其它的方法更加準確。另外,不同算法對此實驗數據集多元負荷預測時,冷負荷預測的效果最好,這是由于2月的冷負荷周期性較強,并且波動性較小,各算法能很好地學習到其中的規律。

表3 各模型預測誤差Tab.3 The forecasting error of each model
在對多元負荷預測時,各種預測方法的表現如下:
(1)KCD 方法能預測出負荷的大致趨勢,但是在一些峰谷的位置,還是存在較大誤差。KCD 方法運用CEEMDAN 分別對電、冷、熱負荷進行本征模態分解后,運用KPCA 對天氣、日歷規則特征集提取主成分實現數據降維;將分解得到的分量結合特征集主成分,用DBiLSTM 神經網絡進行預測。此方法對原始數據的降維處理,在一定程度上減少了數據冗余,提高了運行效率,但卻導致部分隱藏的耦合信息被抹去,使得此方法對負荷的學習不夠充分,最終預測效果欠佳。
(2)ESBT 方法在周期性較強的冷負荷預測上表現不錯,但在隨機性較強的熱負荷上表現不佳,熱負荷的MAPE 為3.394%,綜合MAPE 為2.856%。ESBT 方法使用EEMD 算法對電、冷、熱負荷進行分解,再使用樣本熵來進行復雜度分析并重組分量后,分別使用BP 神經網絡和Transformer 模型對復雜度低的子序列和復雜度高的子序列進行預測。此方法中EEMD 雖能對原始負荷進行分解,但是在分解過程中加入的白噪聲難以去除,使得序列的重構誤差過大,導致最后預測結果誤差不理想。
(3)Transformer 模型整體表現不佳。由于多元負荷序列多為非平穩的序列,單一的預測模型難以挖掘負荷內部信息,從而導致預測結果不理想。
(4)4 個對比方法中整體表現最差的是EGM 方法,EGM 方法使用EEMD 算法對電、冷、熱原始負荷進行分解,并使用過零率來作為劃分高頻分量和低頻分量的依據,將分解得到的序列劃分為高頻部分和低頻部分,再分別使用MLR 和GRU 對低頻部分和高頻部分進行預測。此方法在分解過程中加入的白噪聲難以去除,使得序列的重構誤差過大;另外使用GRU 對高頻部分進行預測誤差也較大,導致最后預測結果誤差不理想。
(5)本文所使用方法的電、冷、熱負荷的MAPE分別為1.808%、1.551%、2.143%,綜合MAPE 僅為1.834%,電、冷、熱負荷的RMSE 分別為0.372 MW、69.467 Ton、0.249 mmBTU/h,比KCD 方法的電、冷、熱負荷RMSE 分別減少了0.138 MW、23.164 Ton、0.109 mmBTU/h;比EGM 方法的電、冷、熱負 荷RMSE 分 別 減 少 了 0.517 MW、95.407 Ton、0.390 mmBTU/h。
本文針對綜合能源系統負荷隨機性較強的特點,提出了一種基于CEEMDAN-樣本熵-BPNNTransformer 的綜合能源系統負荷預測方法。將本文所提方法與多種方法的預測結果進行對比,得到以下結論:
(1)相比于單一預測方法,本文所提方法具有更高的預測精度,說明基于CEEMDAN-樣本熵-BPNN-Transformer 的綜合能源系統負荷預測模型能深度挖掘負荷內在信息并學習其規律。
(2)相比于其他的分解方法,CEEMDAN 能將負荷充分分解,使得模型可深度挖掘負荷信息。
(3)相比于GRU、DBiLSTM,Transformer 能更加有效地挖掘多元負荷存在的耦合關系并學習其規律,最終得到精確的預測結果。