唐利濤, 張智勇, 陳 俊, 許林娜, 鐘佳晨, 袁培森
(1. 南方電網(wǎng)廣西電網(wǎng)有限責(zé)任公司計(jì)量中心, 南寧 530024;2. 南京農(nóng)業(yè)大學(xué) 人工智能學(xué)院, 南京 210031)
“雙碳”目標(biāo)的提出, 對(duì)智能電網(wǎng) (smart grid) 的業(yè)務(wù)智能化提出了新的要求[1]. 新一代智能電網(wǎng)基于現(xiàn)代信息技術(shù)與通信技術(shù)相結(jié)合, 它整合了現(xiàn)代能源技術(shù)的高效、智能、安全的電力系統(tǒng). 此外,該電網(wǎng)架構(gòu)還能夠通過(guò)強(qiáng)大的數(shù)據(jù)分析和實(shí)時(shí)監(jiān)控, 有效提升電力數(shù)據(jù)分析預(yù)測(cè)的準(zhǔn)確性和可靠性[2].
在電力數(shù)據(jù)預(yù)測(cè)分析工作中, 負(fù)荷預(yù)測(cè)是其中的關(guān)鍵內(nèi)容. 負(fù)荷預(yù)測(cè)[3]是指根據(jù)電力系統(tǒng)本身的供電決策、天氣因素、運(yùn)行機(jī)制等諸多因素, 在滿足一定精度要求的條件下, 推算出未來(lái)某特定時(shí)間點(diǎn)的負(fù)荷值, 具有很強(qiáng)的時(shí)序特點(diǎn). 合理預(yù)測(cè)電力負(fù)荷, 一方面可以幫助用戶合理用電, 另一方面可以幫助供電方規(guī)避效益風(fēng)險(xiǎn).
目前對(duì)于電力負(fù)荷的預(yù)測(cè)研究已初具規(guī)模. 楊書強(qiáng)等[4]提出了一種將負(fù)荷數(shù)據(jù)圖像化, 并應(yīng)用長(zhǎng)短期記憶 (long short-term memory, LSTM) 人工神經(jīng)網(wǎng)絡(luò)進(jìn)行短期電力負(fù)荷預(yù)測(cè)的方法. 王峰[5]應(yīng)用改進(jìn)粒子群優(yōu)化算法建立了短期電力負(fù)荷預(yù)測(cè)模型. 通過(guò)水平方向和垂直方向的平滑修正, 對(duì)歷史數(shù)據(jù)的異常負(fù)荷點(diǎn)進(jìn)行識(shí)別并修正. 此類研究所遇到的瓶頸問題, 在于兩個(gè)方面: 一是因?yàn)槟P瓦m用性不強(qiáng), 隨機(jī)森林[6]、支持向量機(jī)[7]等算法對(duì)于短期數(shù)據(jù)的周期性擬合較好, 但數(shù)據(jù)的累積效應(yīng)[8]會(huì)使模型效果變差; 二是由于數(shù)據(jù)集的精度不夠, 大多模擬測(cè)試數(shù)據(jù)集僅對(duì)數(shù)據(jù)進(jìn)行了慣性增長(zhǎng)[9], 與實(shí)際生活中用電數(shù)據(jù)存在偏差, 導(dǎo)致預(yù)測(cè)結(jié)果不能作為精準(zhǔn)指標(biāo)供分配調(diào)度.
為克服上述傳統(tǒng)預(yù)測(cè)模型中的問題, 越來(lái)越多的學(xué)者考慮在時(shí)序數(shù)據(jù)預(yù)測(cè)中使用基于注意力機(jī)制的算法, 主要包括Transformer[10]和Informer[11]. 但由于這些模型直接使用了自注意力機(jī)制, 難以從復(fù)雜的時(shí)間序列模式中找到可靠的時(shí)間依賴, 并且由于自注意力機(jī)制特有的二次復(fù)雜度問題[12], 會(huì)限制模型的稀疏度要求, 影響信息利用率. 針對(duì)這些問題, 業(yè)內(nèi)提出了Autoformer 模型[13], 它是時(shí)序預(yù)測(cè)在延長(zhǎng)預(yù)測(cè)時(shí)效方面的一大突破. 張濤[14]將Autoformer 和非穩(wěn)態(tài)Transformer 引入了電碳因子序列長(zhǎng)時(shí)預(yù)測(cè)領(lǐng)域中, 提出了基于多層級(jí)潮流追蹤的區(qū)域動(dòng)態(tài)電碳因子計(jì)算框架. 李烈[15]使用Autoformer 方法, 對(duì)水位進(jìn)行了長(zhǎng)期預(yù)測(cè), 以探索其可行性. 研究證明, Autoformer 可以提高預(yù)測(cè)精度及效率, 理論上也可運(yùn)用到具有時(shí)序特征的電力負(fù)荷數(shù)據(jù)中, 用以彌補(bǔ)實(shí)際電力負(fù)荷數(shù)據(jù)預(yù)測(cè)工作中的不足.
因此, 本文基于Autoformer 模型, 提出一種電力負(fù)荷時(shí)序數(shù)據(jù)預(yù)測(cè)方法. 該方法對(duì)負(fù)荷數(shù)據(jù)進(jìn)行特性分析后, 在Autoformer 架構(gòu)上進(jìn)行改進(jìn), 實(shí)現(xiàn)負(fù)荷預(yù)測(cè), 提升電力負(fù)荷預(yù)測(cè)的精確性. 在模型優(yōu)化過(guò)程中, 本文以深度分解架構(gòu)為整體框架, 能夠?qū)崿F(xiàn)負(fù)荷時(shí)序數(shù)據(jù)的深度分解. 同時(shí), 引入自相關(guān)機(jī)制以增強(qiáng)特征信息的提取能力, 利用網(wǎng)格搜索法進(jìn)行最佳參數(shù)組的尋找, 最終使模型發(fā)揮出最好的性能.
本文在Autoformer 模型的基礎(chǔ)上進(jìn)行改進(jìn), 具體的電力負(fù)荷時(shí)序數(shù)據(jù)預(yù)測(cè)分析框架結(jié)構(gòu)如圖1所示, 該框架主要分為5 個(gè)部分, 即輸入層、特征提取層、編碼層、解碼層和邏輯回歸層.
圖1 改進(jìn)Autoformer 的電力負(fù)荷數(shù)據(jù)預(yù)測(cè)處理框架Fig. 1 Improving Autoformer’s framework structure for power load data processing and analysis
在圖1 中, 輸入層將歷史電力負(fù)荷數(shù)據(jù)輸入到模型中, 負(fù)荷序列在經(jīng)過(guò)數(shù)據(jù)預(yù)處理后以集合的形式表示. 在輸入層數(shù)據(jù)進(jìn)入編碼器-解碼器部分之前, 序列信息特征要在訓(xùn)練神經(jīng)網(wǎng)絡(luò)部分進(jìn)行充分學(xué)習(xí)[16].
在特征提取層中, 對(duì)負(fù)荷數(shù)據(jù)進(jìn)行有針對(duì)性的特征提取. 具體是利用編碼器對(duì)負(fù)荷序列進(jìn)行編碼,得到序列特征; 同時(shí)對(duì)負(fù)荷序列的周期性信息進(jìn)行提取和卷積操作, 得到趨勢(shì)特征[17].
編碼層中, 對(duì)輸入的負(fù)荷數(shù)據(jù)結(jié)合提取到的序列特征和趨勢(shì)進(jìn)行漸進(jìn)式序列分解, 尋找更可靠的周期依賴, 將負(fù)荷時(shí)序數(shù)據(jù)分解成季節(jié)項(xiàng)和趨勢(shì)項(xiàng), 作為解碼層的輸入.
在解碼層中進(jìn)行季節(jié)項(xiàng)的漸進(jìn)式序列分解[18]和周期依賴的尋找, 最后結(jié)合編碼層輸出的趨勢(shì)項(xiàng)得到未來(lái)負(fù)荷值的變化趨勢(shì), 從而得到解碼層的輸出.
邏輯回歸層由判斷結(jié)構(gòu)組成. 當(dāng)解碼層將數(shù)據(jù)解碼后, 判斷解碼層數(shù)是否與設(shè)定一致, 若小于則會(huì)繼續(xù)進(jìn)入下一層解碼層進(jìn)行新的序列分解和預(yù)測(cè), 直到解碼層數(shù)滿足要求, 將解碼器的輸出作為預(yù)測(cè)結(jié)果并重新映射為下一時(shí)刻用電負(fù)荷的預(yù)測(cè)概率[19].
Autoformer 是一個(gè)編碼器-解碼器框架的模型. 編碼器和解碼器兩部分通過(guò)序列分解的輸入與輸出進(jìn)行相關(guān)性連接, 自相關(guān)機(jī)制和序列分解作為兩個(gè)獨(dú)立的模塊嵌入到編碼器和解碼器中. 其模型架構(gòu)如圖2 所示.
圖2 基于Autoformer 模型的負(fù)荷預(yù)測(cè)架構(gòu)Fig. 2 Load forecasting architecture based on the Autoformer model
如圖2, 模型分為編碼器和解碼器兩部分. 編碼器主要關(guān)注負(fù)荷周期項(xiàng), 它的輸入是前I時(shí)間步,即輸入的負(fù)荷時(shí)間序列. 在自相關(guān)機(jī)制的控制下, 經(jīng)過(guò)編碼器的初步序列分解, 初始輸入的時(shí)間序列被分解為負(fù)荷趨勢(shì)項(xiàng)和負(fù)荷周期項(xiàng)送入解碼器. 所以解碼器的輸入有兩部分, 即負(fù)荷趨勢(shì)項(xiàng)和負(fù)荷周期項(xiàng) (在本文場(chǎng)景下, 也可使用負(fù)荷季節(jié)項(xiàng)), 分別反映長(zhǎng)期趨勢(shì)和周期性, 具體計(jì)算公式如式(1)—(2)所示.
式(1)中:χ代表輸入時(shí)間序列, 對(duì)其進(jìn)行滑動(dòng)平均 ( A vgPool )[20]處理得到趨勢(shì)項(xiàng)χt, P adding 操作[21]用來(lái)保持序列長(zhǎng)度不變.
式(2)中: 輸入的原時(shí)間序列減去經(jīng)式(1)處理得到的趨勢(shì)項(xiàng)之后就得到周期項(xiàng)χs.
送入解碼器的負(fù)荷季節(jié)項(xiàng)和負(fù)荷趨勢(shì)項(xiàng)經(jīng)過(guò)自相關(guān)機(jī)制的控制進(jìn)行進(jìn)一步的序列分解. 解碼器分為多個(gè)解碼層, 每個(gè)解碼層取時(shí)序數(shù)據(jù)的一段完整數(shù)據(jù)而不是離散的數(shù)據(jù)點(diǎn)進(jìn)行層層序列分解, 實(shí)現(xiàn)漸進(jìn)式的預(yù)測(cè), 使預(yù)測(cè)更可靠也更準(zhǔn)確.
解碼器包括兩個(gè)部分, 一個(gè)是對(duì)編碼器輸出的趨勢(shì)項(xiàng)使用累加操作, 逐步從預(yù)測(cè)的隱變量中提取趨勢(shì)信息; 另一個(gè)是對(duì)編碼器輸出的季節(jié)項(xiàng)使用堆疊自相關(guān)機(jī)制, 進(jìn)行依賴挖掘并聚合相似子過(guò)程.以第1 個(gè)解碼層χlde為例, 假設(shè)有M個(gè)解碼層, 由于解碼層中主要對(duì)輸入時(shí)間序列和編碼層輸出進(jìn)行操作, 因此將第一層解碼層表示為χlde=Decoder(χld-e1,χNen) . Decoder 表示該表達(dá)式為解碼層操作, 內(nèi)部細(xì)節(jié)如下:
式(3)中: AC 代表自相關(guān)機(jī)制處理; SD 代表序列分解操作;代表第一次解碼的輸入時(shí)間序列;則是在解碼層中解碼出來(lái)的趨勢(shì)信息.
Autoformer 基于序列周期性的自相關(guān)機(jī)制 (Auto-Correlation), 即對(duì)輸入向量的每個(gè)位置的局部區(qū)域進(jìn)行卷積操作, 按照選定的時(shí)延對(duì)一段時(shí)間內(nèi)的數(shù)據(jù)選取相似的子過(guò)程, 對(duì)離散時(shí)間過(guò)程得到自相關(guān). 自相關(guān)系數(shù)的計(jì)算如式(4)所示.
式(4)中:Rχχ(τ) 為自相關(guān)系數(shù), 表示χt和它的t延遲χt-τ之間的相似性;L代表對(duì)數(shù)據(jù)進(jìn)行延遲操作的次數(shù). 而式(4)表示對(duì)于時(shí)間序列進(jìn)行平移, 度量平移前后的時(shí)間序列的相似性, 相似性高的平移序列對(duì)應(yīng)的平移量就是潛在的周期. 但是為了提高計(jì)算效率, Autoformer 中用快速傅里葉變換[22]計(jì)算自相關(guān)系數(shù), 具體計(jì)算過(guò)程如式(5)—(6)所示.
式(5)中:χt為輸入的初始時(shí)序;F代表傅里葉變換,F?則是共軛操作;f代表頻率, 與2π 相乘得到角頻率結(jié)果;F和F?分別對(duì)趨勢(shì)項(xiàng)進(jìn)行積分得到的結(jié)果相乘, 可以將時(shí)序轉(zhuǎn)為頻域Sχχ.
式(6)中:F-1為傅里葉逆變換, 對(duì)式 (5) 得到的結(jié)果進(jìn)行一次傅里葉逆變換得到自相關(guān)系數(shù), 這種方法可以降低自相關(guān)求解的計(jì)算復(fù)雜度至O(LlogL) .
在負(fù)荷預(yù)測(cè)的任務(wù)中, 通過(guò)對(duì)負(fù)荷歷史數(shù)據(jù)和季節(jié)特性等參考數(shù)據(jù)進(jìn)行特征提取, 可以為模型提供重要的輸入特征. 針對(duì)復(fù)雜的負(fù)荷數(shù)據(jù), 特征提取階段的目標(biāo)是盡可能挖掘豐富的特征信息, 以覆蓋多種影響因素.
在負(fù)荷數(shù)據(jù)送入編碼器之前, 為了可以提取更多的特征信息, 本文在Autoformer 模型架構(gòu)中加入特征提取層, 特征提取層主要從序列特征和趨勢(shì)特征進(jìn)行提取和融合. 特征提取層框架如圖3 所示.
圖3 特征提取層框架Fig. 3 Feature extraction layer framework
對(duì)于序列特征, 設(shè)計(jì)了不同的編碼器對(duì)輸入的負(fù)荷序列的負(fù)荷值以及采集時(shí)間進(jìn)行編碼. 首先對(duì)負(fù)荷序列采用值編碼器進(jìn)行特征映射[23], 另外, 對(duì)負(fù)荷時(shí)序數(shù)據(jù)中的時(shí)間信息也單獨(dú)采用了時(shí)間編碼器對(duì)時(shí)間進(jìn)行編碼, 最后得到的負(fù)荷時(shí)間序列項(xiàng)處理如式(7)所示.
式(7)中:Ei表示負(fù)荷序列的值編碼器, 從負(fù)荷時(shí)序Xi中取一段歷史負(fù)荷序列進(jìn)行映射;Ti表示時(shí)間編碼器, 提取時(shí)間信息, 包括月、日、小時(shí)、分鐘.
對(duì)于趨勢(shì)特征, 首先選取負(fù)荷時(shí)序數(shù)據(jù)中過(guò)去h個(gè)時(shí)刻的負(fù)荷序列, 在過(guò)去h天、h周、h月在t時(shí)刻的負(fù)荷值, 分別整理成序列集合. 這些序列集合就構(gòu)成了數(shù)據(jù)的趨勢(shì)信息, 可以反映較長(zhǎng)一段時(shí)間的負(fù)荷數(shù)據(jù)變化趨勢(shì)及周期性等. 將它們構(gòu)成趨勢(shì)矩陣T, 再對(duì)這個(gè)趨勢(shì)矩陣進(jìn)行卷積操作提取負(fù)荷序列的趨勢(shì)特征.
得到序列特征和趨勢(shì)特征后, 將兩類特征進(jìn)行融合作為特征提取層的輸出結(jié)果, 融合的過(guò)程如式(8)所示.
式(8)中: concat()是常用的連接兩個(gè)或多個(gè)數(shù)組的函數(shù),Xt是趨勢(shì)特征,Xs是序列特征,Xoutput是特征提取的結(jié)果.
實(shí)驗(yàn)平臺(tái)為Windows10 操作系統(tǒng), CPU 為AMD Ryzen 5 Gfx 2.10 GHz, 內(nèi)存16 GB. 本文模型采用PyTorch 1.11.0 和Python 3.10 實(shí)現(xiàn).
使用UCI (University of California Irvine) Tetouan 電力負(fù)荷數(shù)據(jù)集(https://archive.ics.uci.edu/dataset/849/power+consumption+of+tetouan+city). 該數(shù)據(jù)集包含2017 年1 月1 日0:00 到12 月30 日23:50 的Tetouan 地區(qū)電力負(fù)荷數(shù)據(jù), 每10 min 記錄一次負(fù)荷值, 共有52 416 個(gè)采樣點(diǎn). 數(shù)據(jù)集有9 個(gè)屬性, 分別為datetime、temperature、humidity、wind speed、general diffuse flows、diffuse flows、zone 1 power consumption、zone 2 power consumption、zone 3 power consumption. 該數(shù)據(jù)集包含了Tetouan 地區(qū)3 個(gè)區(qū)的電力負(fù)荷數(shù)據(jù), 本文中使用其中zone 1 的負(fù)荷值作為實(shí)驗(yàn)對(duì)象, 數(shù)據(jù)集按8∶2 劃分為訓(xùn)練集和驗(yàn)證集.
針對(duì)處理異常值, 本文采用拉格朗日插值法對(duì)異常值處的值進(jìn)行估計(jì)和填補(bǔ), 計(jì)算如式(9)所示.
式(9)中:yi表示不同樣本點(diǎn)處的因變量;li(x) 是拉格朗日基本多項(xiàng)式, 計(jì)算如式(10)所示.
式(10)中:xi和xj表示不同樣本點(diǎn)處的自變量.
針對(duì)數(shù)據(jù)歸一化, 本文采用的歸一化方式是Transformer 中常見的StandardScaler 法進(jìn)行特征歸一化, 如式(11)所示.
式(11)中:xi表示負(fù)荷的某個(gè)特征值,和s分別代表特征值的均值和方差,yi則是特征值經(jīng)過(guò)標(biāo)準(zhǔn)化之后的標(biāo)準(zhǔn)值.
本文的預(yù)測(cè)結(jié)果采用均方誤差 (mean square error, MSE)、平均絕對(duì)誤差 (mean absolute error,MAE) 和決定系數(shù)作為評(píng)價(jià)指標(biāo).
決定系數(shù)R2是用來(lái)反映模型擬合效果的一種指標(biāo), 表示自變量對(duì)因變量變化情況的解釋能力,如式(12)所示, 一般R2的值越接近1 表示效果越好.
均方誤差MSE 用于計(jì)算預(yù)測(cè)值和真實(shí)值之間差平方的平均值, MSE 的值越小代表模型的預(yù)測(cè)表現(xiàn)越好, 其計(jì)算公式如式(13)所示.
平均絕對(duì)誤差MAE 用于計(jì)算真實(shí)值與預(yù)測(cè)值之間絕對(duì)差的平均值, MAE 的值越小代表模型的預(yù)測(cè)表現(xiàn)越好, 其計(jì)算公式如式(14)所示.
式(12)—(14)中:yi代表第i個(gè)樣本數(shù)據(jù)項(xiàng)的真實(shí)值,代表使用模型得到的相應(yīng)的預(yù)測(cè)值.
本文使用數(shù)據(jù)集的周負(fù)荷特性如圖4 所示. 由圖4 可知, 一周內(nèi)每天的電力負(fù)荷值變化趨勢(shì)一致,負(fù)荷峰值均出現(xiàn)在工作日, 谷值均出現(xiàn)在周末, 體現(xiàn)出明顯的周期性; 且一周內(nèi)工作日的用電負(fù)荷值顯著高于周末, 符合負(fù)荷特性中的時(shí)空性關(guān)系.
3.5.1 特征提取層結(jié)果分析
由于預(yù)測(cè)中主要考慮負(fù)荷值和采集時(shí)間兩個(gè)特征, 因此加入特征提取層對(duì)輸入負(fù)荷時(shí)序的序列特征和趨勢(shì)特征進(jìn)行提取和融合. 加入特征提取層與不加特征提取層的模型MAE 值、MSE 值和決定系數(shù)值如圖5 所示.
由圖5(a)可知, 加入特征提取層后, 模型在預(yù)測(cè)進(jìn)程中的決定系數(shù)有所增加, 由圖5(b)可知, 在加入特征提取層后, 模型的MAE 值及MSE 值均呈下降趨勢(shì). 因此, 加入特征提取層自動(dòng)從數(shù)據(jù)中提取特征, 可以使得模型更好地理解數(shù)據(jù)的規(guī)律. 在數(shù)據(jù)本身可能包含許多不必要的信息的情況下, 自動(dòng)去除這些無(wú)關(guān)信息, 使得模型的精度得到提升.
3.5.2 參數(shù)優(yōu)化結(jié)果分析
針對(duì)本文模型而言, 所需要優(yōu)化的參數(shù)有學(xué)習(xí)率η、批量大小λ、編碼層數(shù)α和解碼層數(shù)β, 下面的結(jié)果是對(duì)上述參數(shù)的尋優(yōu)結(jié)果.
(1) 編碼層數(shù)及解碼層數(shù)結(jié)果分析
Autoformer 編碼層數(shù)和解碼層數(shù)都直接影響著模型的深度和表達(dá)能力, 超參數(shù)α和β一般選在5 以內(nèi). 對(duì)編碼層數(shù)α進(jìn)行最優(yōu)值探尋, 固定解碼層數(shù)β為1, 在此條件下, 編碼層數(shù)在1—5 時(shí), 模型在預(yù)測(cè)中的MAE 和MSE 表現(xiàn)如圖6 所示.
圖6 不同編碼層數(shù)下模型預(yù)測(cè)誤差Fig. 6 Model prediction error with different number of coding layers
由圖6 可知, 隨著α的增加, 模型在訓(xùn)練集上的MAE 值及MSE 值變化趨勢(shì)一致, 當(dāng)α為3 時(shí),MAE 值及MSE 值同時(shí)達(dá)到最低. 因此, 本文選α值為3.
對(duì)參數(shù)β的尋優(yōu), 設(shè)定α為3,β值在1—5 時(shí), 模型在預(yù)測(cè)中的MAE 和MSE 結(jié)果如圖7 所示.
圖7 不同解碼層數(shù)下模型預(yù)測(cè)誤差Fig. 7 Model prediction error under different decoding layers
由圖7 可知, 隨著β的增加, 模型在訓(xùn)練集上的MAE 值及MSE 值變化趨勢(shì)一致, 當(dāng)β為2 時(shí),MAE 值及MSE 值同時(shí)達(dá)到最低. 因此, 本文選β值為2.
綜上, 模型選擇設(shè)置編碼器層數(shù)為3、解碼器層數(shù)為2 進(jìn)行后續(xù)實(shí)驗(yàn).
(2) 學(xué)習(xí)率結(jié)果分析
首先將編碼層數(shù)設(shè)置為3, 解碼層數(shù)設(shè)置為2, 在此條件下進(jìn)行最優(yōu)學(xué)習(xí)率η的尋找.η的范圍設(shè)置為 1×10-5~1×10-1, 步長(zhǎng)為10 倍. 模型在不同學(xué)習(xí)率預(yù)測(cè)下的MAE 和MSE 表現(xiàn)如圖8 所示.
圖8 不同學(xué)習(xí)率下模型預(yù)測(cè)誤差Fig. 8 Model prediction error under different decoding learning rate
由圖8 可知, 隨著η的增加, 模型的MAE 值及MSE 值的變化趨勢(shì)一致, 當(dāng)η為 1×10-3時(shí), 模型的MAE 和MSE 的值同時(shí)達(dá)到最低. 因此選取 1×10-3作為模型的學(xué)習(xí)率進(jìn)行后續(xù)實(shí)驗(yàn).
(3) 批量大小結(jié)果分析
批量大小的搜索范圍設(shè)置在16 ~ 64 之間, 步長(zhǎng)設(shè)置為16. 不同大小的批量下, 模型在預(yù)測(cè)中的MAE 和MSE 表現(xiàn)如圖9 所示.
圖9 不同批量大小下模型預(yù)測(cè)誤差Fig. 9 Model prediction error under different decoding batch sizes
由圖9 可知, 在編碼層數(shù)、解碼層數(shù)和學(xué)習(xí)率都最優(yōu)的條件下, 隨著λ的變化, 模型的預(yù)測(cè)誤差變化已經(jīng)非常小, MAE 值及MSE 值的變化趨勢(shì)一致, 當(dāng)λ為32 時(shí), 模型的MAE 和MSE 值達(dá)到最低.
(4) 優(yōu)化器結(jié)果分析
本文模型的參數(shù)優(yōu)化對(duì)比了Adam 優(yōu)化器、Adagrad 優(yōu)化器和RMSprop 優(yōu)化器. 在不同優(yōu)化器下, 本文模型的預(yù)測(cè)結(jié)果的MAE 和MSE 如圖10 所示.
圖10 不同優(yōu)化器下模型預(yù)測(cè)誤差Fig. 10 Model prediction error under different optimizers
由圖10 可知, 在最優(yōu)編碼層數(shù)解碼層數(shù)、最優(yōu)學(xué)習(xí)率和最優(yōu)批量大小的條件下, 不同優(yōu)化器對(duì)模型的誤差均有不同程度的改善, 當(dāng)優(yōu)化器選擇Adam 優(yōu)化器時(shí), 模型的MAE 和MSE 值最低. 因此,選取Adam 優(yōu)化器作為模型的參數(shù)優(yōu)化器進(jìn)行后續(xù)預(yù)測(cè).
綜上所述, 尋找到的最優(yōu)超參數(shù)為0.000 1 的學(xué)習(xí)率、3 層編碼器層、2 層解碼器層、32 的批量大小, 此時(shí)分類準(zhǔn)確率達(dá)到92.15%, 利用Adam 優(yōu)化器自適應(yīng)地調(diào)整參數(shù).
3.5.3 預(yù)測(cè)實(shí)驗(yàn)結(jié)果
(1) 損失率收斂結(jié)果分析
本文迭代輪數(shù)設(shè)為10 次, 模型在訓(xùn)練集和驗(yàn)證集上的損失率如圖11 所示. 圖11 (a) 為訓(xùn)練集上的損失率, 隨著迭代次數(shù)的增加整體呈下降趨勢(shì); 圖11 (b) 為驗(yàn)證集上損失率隨迭代次數(shù)的變化趨勢(shì), 整體也是下降的, 雖然在迭代次數(shù)到達(dá)6 時(shí)出現(xiàn)了損失率上升的情況, 但在此之后依然呈現(xiàn)平穩(wěn)下降趨勢(shì).
圖11 訓(xùn)練集及驗(yàn)證集上損失率隨迭代次數(shù)的變化Fig. 11 Loss rate on the training and validation sets for different number of iterations
圖11 中, 驗(yàn)證集的損失率通常比訓(xùn)練集的損失率高, 這是因?yàn)槟P驮谟?xùn)練過(guò)程中可能會(huì)出現(xiàn)過(guò)擬合的情況, 但是如果驗(yàn)證集的損失率一直上升, 則說(shuō)明模型出現(xiàn)了過(guò)擬合現(xiàn)象, 需要及時(shí)調(diào)整參數(shù)或者增加數(shù)據(jù)量. 綜上, 本文模型在損失率上表現(xiàn)較好, 沒有出現(xiàn)過(guò)擬合等情況, 保證了負(fù)荷預(yù)測(cè)結(jié)果的可信度.
(2) 預(yù)測(cè)時(shí)長(zhǎng)變化的結(jié)果分析
為分析本文模型在不同時(shí)長(zhǎng)的負(fù)荷預(yù)測(cè)中的能力, 本文對(duì)樣本電力負(fù)荷進(jìn)行以天和周為周期的負(fù)荷預(yù)測(cè), 預(yù)測(cè)結(jié)果如圖12 所示.
圖12 負(fù)荷預(yù)測(cè)結(jié)果擬合示例Fig. 12 Example of fitting load forecast results
圖12 (a)是2017 年12 月30 日00:00—23:50 該區(qū)域的負(fù)荷真實(shí)值以及2017 年12 月30 日00:00 至2018 年1 月1 日23:50 的負(fù)荷預(yù)測(cè)值. 由圖12 (a)可知, 在一天的預(yù)測(cè)周期內(nèi), 真實(shí)值和預(yù)測(cè)值擬合程度較好, 負(fù)荷的峰值和谷值出現(xiàn)在一天中的同一時(shí)間段內(nèi).
圖12(b)展示了2017 年12 月24—30 日該區(qū)域的負(fù)荷真實(shí)值以及2017 年12 月24 日至2018 年1 月7 日的負(fù)荷預(yù)測(cè)值. 由圖12(b)可知, 本文模型在一周內(nèi)的預(yù)測(cè)效果表現(xiàn)良好, 每天的峰值和谷值出現(xiàn)在同一段時(shí)間內(nèi).
綜上, 本文模型在預(yù)測(cè)中得到的預(yù)測(cè)值整體趨勢(shì)與真實(shí)值一致, 并且負(fù)荷峰值和谷值的出現(xiàn)均在同一時(shí)間段內(nèi), 具有較優(yōu)的擬合效果和穩(wěn)定性.
(3) 本文模型與其他模型預(yù)測(cè)結(jié)果對(duì)比
為了對(duì)比本文模型的預(yù)測(cè)性能, 將本文模型與同樣基于注意力機(jī)制的Transformer 和Informer 進(jìn)行對(duì)比. 為了滿足預(yù)測(cè)效果的要求, 同時(shí)減少模型的時(shí)耗, 將預(yù)測(cè)時(shí)長(zhǎng)設(shè)定為一周, 對(duì)比結(jié)果見表1.
表1 本文模型與其他模型預(yù)測(cè)效果對(duì)比Tab. 1 Comparison of prediction performance with other models
在平均絕對(duì)誤差上, 本文模型的平均絕對(duì)誤差控制在0.251 2, 相比Informer 和Transformer 模型分別降低了13.40%和27.17%. 在均方誤差上, 本文模型的均方誤差控制在0.191 5, 相比Informer 和Transformer 模型分別降低了19.80%和25.24%. 在決定系數(shù)上, 本文模型的決定系數(shù)達(dá)到了0.982 3,分別比Informer 和Transformer 高出了2.18%和6.20%.
綜上, 本文使用的改進(jìn)Autoformer 負(fù)荷預(yù)測(cè)模型在MAE、MSE 和決定系數(shù)3 項(xiàng)指標(biāo)上均得到了顯著的改善, 表明本文方法在預(yù)測(cè)準(zhǔn)確性和模型穩(wěn)定性方面表現(xiàn)出色.
本文在Autoformer 結(jié)構(gòu)基礎(chǔ)上, 加入特征提取層提取負(fù)荷數(shù)據(jù)的序列特征和趨勢(shì)特征, 尋找更可靠的周期性. 在UCI 提供的負(fù)荷數(shù)據(jù)集上, 相比于所對(duì)比的其他模型, 本文方法有最佳的MAE、MSE 和決定系數(shù)指標(biāo), 在電力系統(tǒng)負(fù)荷預(yù)測(cè)方面具有較好的有效性. 此外, 本文方法在不同的預(yù)測(cè)時(shí)長(zhǎng)下均具有有效的負(fù)荷預(yù)測(cè)精度.