邱禧荷,茹亞軍,陳 斌,郭 韻
(1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620;2.上海理工大學(xué) 機(jī)械工程學(xué)院,上海 200093;3.上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院,上海 201620)
現(xiàn)如今電力已經(jīng)成為最重要的能源之一,預(yù)測電能消耗有利于更合理地規(guī)劃利用能源,保證電力系統(tǒng)能夠正常運(yùn)行.大多數(shù)電能消耗數(shù)據(jù)都是以小時或者分鐘為單位記錄用電量,這種區(qū)域性時序數(shù)據(jù)預(yù)測可以提供用電負(fù)荷的估計,對電力線路以及供熱網(wǎng)絡(luò)的設(shè)計是至關(guān)重要的.常用的電能消耗預(yù)測方法包括回歸模型法、基于時間序列方法及基于指數(shù)加權(quán)方法.研究人員利用這些模型預(yù)測短期用電量.傳統(tǒng)的時間序列方法中,自回歸移動平均方法(autoregressive integrated moving average,ARIMA)[1]和ARIMA派生方法(seasonal ARIMA,SARIMA)[2]被應(yīng)用于電能消耗預(yù)測中,神經(jīng)網(wǎng)絡(luò)方法[3-4]由于能夠模擬非線性特征,常常被應(yīng)用于電能消耗預(yù)測以及其他任務(wù)的建模中[5-7].
國內(nèi)外學(xué)者對電能消耗預(yù)測的研究成果有很多.程玉桂等[8]使用BP(back propagation)神經(jīng)網(wǎng)絡(luò)對城區(qū)未來十幾年的基本電能消耗進(jìn)行預(yù)測,并做了驗(yàn)證性分析;使用機(jī)器學(xué)習(xí)的方法,利用徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)對電力負(fù)荷進(jìn)行短期預(yù)測,同時結(jié)合嶺回歸方法進(jìn)行參數(shù)估計,該方法提高了預(yù)測結(jié)果的準(zhǔn)確性,同時驗(yàn)證了該方法相比于其他方法的優(yōu)勢.KIM N.等[9]使用長、短期記憶網(wǎng)絡(luò)(long short term memory network,LSTM)來預(yù)測一個月內(nèi)的電能消耗.KANG K.等[10]使用一種自編碼的網(wǎng)絡(luò),將天氣以及節(jié)日信息一同當(dāng)作網(wǎng)絡(luò)輸入,進(jìn)行電能消耗的預(yù)測.M.IBRAHIM等[11]使用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(radial basis function neural network,RBFNN)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)等方法來預(yù)測短期電能消耗,并使用不同的統(tǒng)計方法和時間指標(biāo)來評估不同方法的性能表現(xiàn).
筆者基于美國PJM公司所記錄的數(shù)據(jù)集,通過對歷史數(shù)據(jù)進(jìn)行建模,采用一種時間序列的預(yù)測方法,即基于深度自回歸循環(huán)網(wǎng)絡(luò)(deep autoregressive recurrent networks,Deep AR)預(yù)測模型[12]來預(yù)測Commonwealth Edison公司未來某12 h區(qū)間的電能消耗.
基于Deep AR神經(jīng)網(wǎng)絡(luò)的模型能夠很好地對時間序列數(shù)據(jù)做出預(yù)測,常用時序預(yù)測模型中的ARIMA和LSTM[13]都只能進(jìn)行單點(diǎn)預(yù)測,不能刻畫事件發(fā)生的情況.Deep AR是一種協(xié)變量預(yù)測,不僅能夠進(jìn)行單點(diǎn)預(yù)測,還能描述事件本身的概率分布,屬于全局預(yù)測.基于Deep AR模型電能消耗預(yù)測流程大致如下:數(shù)據(jù)預(yù)處理→Deep AR模型的訓(xùn)練→模型預(yù)測→對結(jié)果的評估.
電能消耗數(shù)據(jù)是按時間記錄的序列數(shù)據(jù).給定時間序列zi,T,其中i表示時間序列的位置,T表示時間序列的時刻.以t0為時間點(diǎn),可將時間序列zi,T劃分為zi,1:t0-1和zi,t0:T,其中zi,1:t0-1表示過去的值,zi,t0:T表示未來的值.給定模型的參數(shù)Θ,目的就是建立模型的概率分布,即QΘ(zi,t0:T∣zi,1:t0-1,xi,1:T),其中xi,1:T為協(xié)變量,表示影響電能消耗的其他特征.該模型的分布可表示成幾個似然因子的乘積:
QΘ(zi,t0:T∣zi,1:t0-1,xi,1:T)=
(1)
式中:l為似然函數(shù);hi,t可由自回歸網(wǎng)絡(luò)輸出;t為時間.自回歸網(wǎng)絡(luò)是基于LSTM網(wǎng)絡(luò)來實(shí)現(xiàn)的,即
hi,t=h(hi,t-1,zi,t-1,xi,t,Θ),
(2)
其中h由帶有多層循環(huán)神經(jīng)網(wǎng)絡(luò)來完成.自回歸網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)如圖1所示,其中S表示sigmoid函數(shù).
圖1 Deep AR中內(nèi)部自回歸網(wǎng)絡(luò)結(jié)構(gòu)
文中所使用模型為循環(huán)模型.也就是說網(wǎng)絡(luò)的前一個輸出hi,t-1作為新的輸入,傳遞到下一個時間步長來作為反饋.其結(jié)構(gòu)中主要有4個變量,分別是f(遺忘門)、I(輸入門)、C(細(xì)胞狀態(tài))和O(輸出門).
該模型的似然函數(shù)是一個固定的分布,文中使用高斯似然,使用均值和方差來參數(shù)化高斯似然,即θ=(μ,σ),其中均值μ是由LSTM網(wǎng)絡(luò)中的hi,t經(jīng)過線性變換得到;方差σ是hi,t經(jīng)過線性變換后,再通過softplus函數(shù)約束得到.計算公式如下:
(3)
(4)
式中:w和b分別為對應(yīng)的權(quán)重矩陣和偏置項.根據(jù)得出的均值和方差,似然函數(shù)可由下式計算:
(5)
在訓(xùn)練階段,給定時間序列和協(xié)變量,通過最大化對數(shù)似然方法得到模型的參數(shù),即
(6)
式中:L是損失函數(shù).
圖2 模型訓(xùn)練和測試時的結(jié)構(gòu)圖
試驗(yàn)使用的數(shù)據(jù)集來自于美國PJM電力公司,該數(shù)據(jù)集記錄了Commonwealth Edison公司從2011年1月1日到2018年8月3日每小時電能消耗,共記錄了66497條數(shù)據(jù)[14].電能消耗數(shù)據(jù)以“yyyy-MM-dd-HH-mm”的形式存儲.圖3為Commonwealth Edison公司的總電能消耗及1周電能消耗的變化趨勢圖.為了將其他特征作為該模型的協(xié)變量,首先通過時間分裂將小時和星期分離出來,以年月日作為數(shù)據(jù)的日期索引,以小時和星期作為該模型的協(xié)變量.
圖3 總電能消耗及1周電能消耗變化趨勢圖
由圖3可知數(shù)據(jù)差異比較大,在試驗(yàn)開始前對其進(jìn)行量綱一處理,將數(shù)據(jù)處理成均值為0,標(biāo)準(zhǔn)差為1的正態(tài)分布,即
(7)
式中:μ和σ分別為數(shù)據(jù)樣本均值和標(biāo)準(zhǔn)差;s為總的樣本數(shù)據(jù).
試驗(yàn)平臺硬件配置為AMD Ryzen7 3700X 8-Core Processor 3.59 GHz處理器,運(yùn)行內(nèi)存是16 G,使用python編程語言和pytorch框架.
參數(shù)設(shè)置時,LSTM層數(shù)設(shè)置為3層,LSTM的隱藏層和嵌入層的維度設(shè)置為64維,批次大小設(shè)置為64次,學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練了1 000輪.試驗(yàn)中,選取數(shù)據(jù)樣本的前70%作為訓(xùn)練集,后30%用作測試集.試驗(yàn)采用Adam優(yōu)化算法進(jìn)行了優(yōu)化.
將試驗(yàn)結(jié)果和2種基線模型ARIMA和Prophet對比,并使用均方根誤差(RMSE)、平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)作為評價指標(biāo).誤差越小,準(zhǔn)確性越高.3種評價指標(biāo)公式如下:
(8)
(9)
(10)
試驗(yàn)中,使用滑動窗口對12 h內(nèi)數(shù)據(jù)進(jìn)行短期預(yù)測,預(yù)測數(shù)據(jù)可以是未來任意12 h的數(shù)據(jù).本試驗(yàn)使用Deep AR預(yù)測樣本數(shù)據(jù)中最后12 h的電能消耗,時間步長為1 h,預(yù)測結(jié)果如圖4所示.圖4中,Deep AR不僅可以預(yù)測具體數(shù)據(jù),還可以預(yù)測事件發(fā)生概率.試驗(yàn)中用預(yù)測值的二分位數(shù)作為預(yù)測結(jié)果,該預(yù)測結(jié)果描述了事件的整體性質(zhì).
圖4 使用Deep AR預(yù)測的最后12 h電能消耗
表1為基線模型ARIMA與Prophet、Deep AR模型的預(yù)測結(jié)果誤差對比.理想情況下,希望RMSE、MAE和MAPE都為0,此時表明預(yù)測值和實(shí)際值完全吻合.隨著數(shù)據(jù)樣本的增多,RMSE和MAE都會增大.RMSE、MAE和MAPE都考慮了預(yù)測值和實(shí)際值的誤差,MAPE同時還考慮了誤差與真實(shí)值之間的比例.因此MAPE是本試驗(yàn)中主要評價指標(biāo).
表1 不同時序模型預(yù)測性能
由表1可知;Deep AR方法在預(yù)測未來某個時間區(qū)間的準(zhǔn)確性更高,可以看到該模型預(yù)測的均方根誤差最小,ARIMA次之,而Prophet最大;Deep AR模型的平均絕對百分比誤差最小,比Prophet小了11.97%;ARIMA的平均絕對誤差最小,Deep AR次之.可見,筆者提出的Deep AR方法在預(yù)測能源消耗方面性能表現(xiàn)較佳.
以上結(jié)果都是在試驗(yàn)后對其預(yù)測值進(jìn)行反量綱一處理后得到的.由于試驗(yàn)數(shù)據(jù)的量級單位比較大,所以性能指標(biāo)評價結(jié)果的量級也比較大.為了使預(yù)測結(jié)果更加直觀,試驗(yàn)比較了不同方法預(yù)測12 h內(nèi)電能消耗數(shù)據(jù),結(jié)果如圖5所示.從圖中可以看出:ARIMA模型在預(yù)測開始時誤差較大,但隨后預(yù)測值越來越接近于真實(shí)值;Prophet模型的預(yù)測結(jié)果和真實(shí)值的誤差比較大;Deep AR整體預(yù)測誤差比較小,試驗(yàn)中以小時和星期為協(xié)變量作為網(wǎng)絡(luò)的輸入.
圖5 不同方法預(yù)測12 h內(nèi)電能消耗數(shù)據(jù)比較
1)筆者采用Deep AR模型進(jìn)行電能消耗預(yù)測,Deep AR是一種時間序列的模型,能夠?qū)r間序列的數(shù)據(jù)做出比較合理預(yù)測.常規(guī)時間序列模型中,ARIMA和LSTM只能做出單點(diǎn)預(yù)測,無法預(yù)測某個事件發(fā)生的概率,而Deep AR模型更加適合全局預(yù)測.
2)對比了Deep AR、ARIMA和Prophet方法,以MAE、RMSE和MAPE為評價指標(biāo)進(jìn)行預(yù)測試驗(yàn).結(jié)果表明,Deep AR模型的MAE、RMSE和MAPE分別為1070.01、1279.31和6.12%,可見其在電能消耗預(yù)測應(yīng)用方面明顯優(yōu)于其他對比模型.