張功勛, 姚方, 曹赟
(山西大學(xué) 電力工程系,山西 太原 030013)
城市短期負(fù)荷預(yù)測(cè)受氣溫、季節(jié)、風(fēng)速和經(jīng)濟(jì)等多方面因素的影響。城市日負(fù)荷預(yù)測(cè)是一個(gè)復(fù)雜的非線性問(wèn)題,數(shù)據(jù)繁雜而冗長(zhǎng),需要以優(yōu)秀的計(jì)算方法做支撐才能得到更好的預(yù)測(cè)表現(xiàn)。相關(guān)學(xué)者提出了不少思路解決日負(fù)荷預(yù)測(cè)問(wèn)題。不乏學(xué)者使用自回歸綜合移動(dòng)平均(autoregressive integrated moving average, ARIMA)模型來(lái)預(yù)測(cè)。最近的研究集中在現(xiàn)代計(jì)算技術(shù)上,例如遺傳算法[1]和模糊邏輯[2]。機(jī)器學(xué)習(xí)技術(shù)也提供了處理復(fù)雜問(wèn)題的有效方法,通過(guò)允許建立高性能模型來(lái)定義影響電力需求的各種因素的非線性相互依賴性。日負(fù)荷預(yù)測(cè)問(wèn)題本質(zhì)上是一個(gè)時(shí)序問(wèn)題?;谶f歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)及其變體、長(zhǎng)短期記憶(long short-term memory, LSTM)和門控遞歸單元(gated recursive unit, GRU)網(wǎng)絡(luò)的模型很好地捕捉了每周負(fù)載周期,但在吸收可能影響消費(fèi)的外部因素方面存在問(wèn)題。不考慮這些因素會(huì)導(dǎo)致預(yù)測(cè)不佳。載荷數(shù)據(jù)的相鄰值的模式可以通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)有效地提取。研究發(fā)現(xiàn)CNN在負(fù)荷預(yù)測(cè)精度方面表現(xiàn)優(yōu)異。
支持向量機(jī)(support vector machines, SVM)在回歸預(yù)測(cè)方面有廣泛應(yīng)用。文獻(xiàn)[3]提出序列極限的支持向量回歸做短期負(fù)荷預(yù)測(cè)的思路,提出信息熵改進(jìn)的變精度粗糙集的SVM對(duì)降溫負(fù)荷進(jìn)行預(yù)測(cè)。文獻(xiàn)[4]以最小二乘法來(lái)改進(jìn)SVM的風(fēng)機(jī)出力預(yù)測(cè)。文獻(xiàn)[5]使用一種支持向量分位數(shù)回歸算法對(duì)短期電力負(fù)荷概率密度預(yù)測(cè)。因此,在對(duì)輸入數(shù)據(jù)處理較好的情況下SVM在時(shí)序數(shù)據(jù)預(yù)測(cè)方面表現(xiàn)優(yōu)異,搭配其他模型或者改進(jìn)SVM是常規(guī)的處理思路?;谶@些特點(diǎn),本文提出了基于CNN-SVR的神經(jīng)網(wǎng)絡(luò)框架。
CNN以卷積運(yùn)算理論為基礎(chǔ),具有參數(shù)共享機(jī)制和深度結(jié)構(gòu)[6],由池化層、卷積層和全連接層三個(gè)部分組成[7]。卷積層用于提取圖像中的特征,使用卷積核對(duì)其中輸入的矩陣數(shù)據(jù)進(jìn)行掃描式局部特征的提取,再次利用非線性函數(shù)作為激活函數(shù)對(duì)其中特征信號(hào)進(jìn)行映射。池化層發(fā)揮了保持特征和減小特征維度的功能。全連接層一般存在于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)底部,用來(lái)合并提取特征信息。合并的特征送到輸出層,經(jīng)指數(shù)函數(shù)或邏輯函數(shù)輸出最終分類標(biāo)簽。
SVR定義了1個(gè)常量ε> 0,對(duì)于某個(gè)點(diǎn)(xi,yi),如果|yi-f(xi)|≤ε,損失忽略;如果|yi-f(xi)|>ε,則相應(yīng)損失為|yi-f(x)|-ε。SVR分為線性回歸和非線性回歸,線性回歸給定1個(gè)數(shù)據(jù)集為:
P:{(x1,y1),(x2,y2),…,(xm,ym)}
(1)
式中:x∈Rn,y∈R。對(duì)于任意的(x1,y1)屬于上述數(shù)據(jù)集P,都存在f(x)=wx+b,使|yi-f(xi)|≤ε(ε>0),則說(shuō)明f(x)=wx+b是上述數(shù)據(jù)集P的ε線性回歸。對(duì)于非線性回歸問(wèn)題使用核函數(shù)解決。
CNN提取的特征作為支持向量回歸機(jī)的輸入,將SVR的預(yù)測(cè)值與真實(shí)值對(duì)比,對(duì)比得到預(yù)測(cè)損失函數(shù)后反向求導(dǎo),并在反向求導(dǎo)中不斷訓(xùn)練優(yōu)化參數(shù),重復(fù)該過(guò)程以得到最優(yōu)參數(shù)。SVR表示為:
(2)
(3)
將上式構(gòu)造轉(zhuǎn)化偶函數(shù),參數(shù)求極值后化簡(jiǎn)得到只含有α的SVR對(duì)偶式。
(4)
結(jié)合KKT條件和核函數(shù)為:
(5)
最后SVR可以表示為:
(6)
出于對(duì)試驗(yàn)適用性、線性不可分以及受影響的參數(shù)少和便于使用的特點(diǎn)考量,本文使用RBF徑向基核函數(shù)。
CNN-SVR的模型架構(gòu)設(shè)計(jì)如圖1所示。
圖1 CNN-SVR結(jié)構(gòu)圖
輸入設(shè)置為8×8的數(shù)據(jù),Conv1使用10個(gè)3×3的卷積核,步長(zhǎng)為1,卷積后的數(shù)據(jù)為6×6。Conv2使用5個(gè)1×1的卷積核,步長(zhǎng)為1,把上一層卷積結(jié)果的數(shù)量從10降到5,以此達(dá)到降低下一層卷積計(jì)算量的目的。第二層卷積后得到5個(gè)6×6的數(shù)據(jù)。Conv3使用20個(gè)2×2的卷積核,步長(zhǎng)同樣設(shè)置為1,得到20個(gè)5×5的數(shù)據(jù)。在全連接層中卷積層3的數(shù)據(jù)轉(zhuǎn)化為二維數(shù)據(jù)后再作為輸入傳遞給支持向量回歸機(jī)。
負(fù)荷數(shù)據(jù)本質(zhì)上是一個(gè)時(shí)間序列。時(shí)間序列是按時(shí)間順序進(jìn)行觀察的。在現(xiàn)實(shí)生活中,人們的日常用電負(fù)荷量主要受到溫度、風(fēng)速、空氣濕度、降雨量、寒冷度、光照強(qiáng)度和云層覆蓋度等諸多因數(shù)影響。本文考慮這些因素作為輸入變量,所有的影響因素指標(biāo)均使用當(dāng)日數(shù)據(jù)的平均值。不同原始數(shù)據(jù)的特征范圍往往差別巨大,導(dǎo)致訓(xùn)練時(shí)出現(xiàn)梯度下降慢、收斂速度慢和精度差的問(wèn)題。對(duì)數(shù)據(jù)進(jìn)行歸一化之后這類問(wèn)題就能順利解決。歸一化公式如式(7)所示。
(7)
設(shè)計(jì)CNN-SVR模型預(yù)測(cè)流程如圖2所示。出于對(duì)特征梯度和模型收斂的考慮,首先對(duì)數(shù)據(jù)進(jìn)行歸一化處理。再通過(guò)Python編碼將數(shù)據(jù)矩陣化,使用訓(xùn)練集對(duì)模型進(jìn)行訓(xùn)練。通過(guò)卷積層1實(shí)現(xiàn)特征的初步提取,卷積層2實(shí)現(xiàn)降維功能并降低模型的運(yùn)算量,卷積層3實(shí)現(xiàn)進(jìn)一步提取特征。全連接層將卷積特征傳遞給支持向量機(jī),由于50次訓(xùn)練后誤差基本上穩(wěn)定在較低的狀態(tài)。最后測(cè)試集對(duì)模型反復(fù)訓(xùn)練50次以確定權(quán)重(w)和偏置(b)等參數(shù)。輸出反歸一化后的回歸結(jié)果。
圖2 CNN-SVR模型預(yù)測(cè)流程圖
本文使用的數(shù)據(jù)源于東南亞某邦區(qū)域負(fù)荷調(diào)度中心,訓(xùn)練集采用2017年1月到2019年1月9日的負(fù)荷數(shù)據(jù),測(cè)試集使用數(shù)據(jù)集最后21天的數(shù)據(jù)。該模型基于jupyter notebook在pytorch框架下進(jìn)行編程。該模型對(duì)包括周日和假日在內(nèi)的做出了相當(dāng)好的預(yù)測(cè)。三個(gè)性能指標(biāo)用于評(píng)估模型在測(cè)試數(shù)據(jù)上的性能:均方根誤差(RMSE)、決定系數(shù)(R2)和平均絕對(duì)百分比誤差(MAPE),分別在式(8)~式(10)中描述。
(8)
(9)
(10)
為了驗(yàn)證CNN-SVR組合模型在日負(fù)荷預(yù)測(cè)方面的優(yōu)越性,本文單獨(dú)設(shè)計(jì)了SVR模型和CNN模型,并使用同樣的數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測(cè),測(cè)試主要參考MAPE和RMSE 2個(gè)指標(biāo)。平均絕對(duì)誤差主要考察測(cè)試數(shù)據(jù)的離散程度,均方根誤差主要考察測(cè)試結(jié)果的準(zhǔn)確性。由表1可以看出,CNN-SVR組合模型相比獨(dú)立的CNN模型和SVR模型在離散度和準(zhǔn)確度兩方面的表現(xiàn)均更勝一籌。證明了該組合模型更適合城市日負(fù)荷的預(yù)測(cè)。
表1 RMSE和MAPE對(duì)比
訓(xùn)練集和測(cè)試集均取得了不錯(cuò)的預(yù)測(cè)效果,為了更直觀地感受訓(xùn)練和測(cè)試的效果,本文插入了連續(xù)兩年日負(fù)荷訓(xùn)練數(shù)據(jù)的訓(xùn)練成效和21天日負(fù)荷的測(cè)試成效,如圖3、圖4所示。
圖3 由訓(xùn)練好的模型對(duì)訓(xùn)練集做出的預(yù)測(cè)
圖4 由訓(xùn)練好的模型對(duì)測(cè)試集做出的預(yù)測(cè)
本文對(duì)于城市電力負(fù)荷預(yù)測(cè)使用CNN和SVR結(jié)合的方法在測(cè)試中取得了比較理想的試驗(yàn)數(shù)據(jù)和試驗(yàn)圖像。該方法對(duì)于工程和理論研究均具有重要的參考意義。