陳振宇,楊 斌,阮文俊,沈 杰,吳麗莉
(1.國網(wǎng)江蘇省電力有限公司,江蘇 南京 211106;2.國網(wǎng)江蘇省電力有限公司蘇州供電公司,江蘇 蘇州 215004;3.國網(wǎng)江蘇省電力有限公司泰州供電公司,江蘇 泰州 225000)
近年來,電力預(yù)測技術(shù)已逐漸從傳統(tǒng)預(yù)測方法過渡到人工智能預(yù)測技術(shù)。支持向量機、神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用大大提高了電力預(yù)測的精度。文獻(xiàn)[1-2]利用最小二乘支持向量機(LS-SVM)預(yù)測模型,研究了在氣象、日期等外部因素數(shù)據(jù)影響下對短期用電需求的預(yù)測、評估,不同預(yù)測周期下的實驗結(jié)果同其他傳統(tǒng)方法相比具有更好的準(zhǔn)確性和可解釋能力。SVM 進(jìn)行預(yù)測能夠克服神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu)解、運算時間長等常見問題,采用灰狼優(yōu)化算法優(yōu)化 SVR 參數(shù)后,對預(yù)測精度有一定的改善[3]。文獻(xiàn)[4]是一種改進(jìn)型果蠅優(yōu)化算法,以風(fēng)速子序列重構(gòu)參數(shù)和最小二乘支持向量機(LS-SVM) 參數(shù)作為優(yōu)化目標(biāo)建立風(fēng)速預(yù)測模型,相比LS-SVM 預(yù)測方法具有更高的預(yù)測精度。文獻(xiàn)[5]建立了基于提升小波和改進(jìn)PSO-Elman神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測模型可平滑負(fù)荷序列的隨機性和不確定性,具有較高的預(yù)測精度。文獻(xiàn)[6]采用Stacking集成學(xué)習(xí)架構(gòu),建立了多模型融合的負(fù)荷預(yù)測模型,在數(shù)據(jù)測試中取得了優(yōu)于單個模型的預(yù)測精度。同樣處理電力負(fù)荷隨機性較強導(dǎo)致預(yù)測精度不高的問題,通過構(gòu)建集合經(jīng)驗?zāi)B(tài)分解以及門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)和多元線性回歸組合而成的 EEMD-GRU-MLR(EGM)預(yù)測方法,有效提高了電力負(fù)荷短期預(yù)測精度[7]。無論是發(fā)電企業(yè)、用電企業(yè)還是電力輸送網(wǎng)絡(luò)企業(yè),對于詳細(xì)的電力市場分析、精確的用戶用電量預(yù)測和負(fù)荷特性分析的需求在不斷地增長[8-10]。
本文首先分析了短期負(fù)荷預(yù)測的關(guān)鍵影響因素,以自回歸方法為例介紹了傳統(tǒng)負(fù)荷預(yù)測模型框架。接下來以BP神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)為例,闡述了神經(jīng)網(wǎng)絡(luò)模型原理以及與負(fù)荷預(yù)測任務(wù)的契合點。最后基于盧布爾雅那城市全年的真實負(fù)荷數(shù)據(jù)和氣象數(shù)據(jù),提出了基于電能負(fù)荷歷史數(shù)據(jù)的遞歸神經(jīng)網(wǎng)絡(luò)預(yù)測方法,開展了基于長短期記憶單元的短期負(fù)荷建模預(yù)測研究。
智能電網(wǎng)的負(fù)荷預(yù)測、電網(wǎng)安全、諧波監(jiān)測及安全預(yù)警等方面的需求特性決定了負(fù)荷預(yù)測的重要地位[11],電力負(fù)荷消耗同社會發(fā)展和自然因素等多方面因素密切相關(guān)。其中社會因素主要包括人口、經(jīng)濟、社會結(jié)構(gòu)等方面,比如經(jīng)濟發(fā)達(dá)地區(qū)的能耗顯著高于經(jīng)濟欠發(fā)達(dá)地區(qū),人口密集區(qū)域能耗顯著高于人口稀疏區(qū)域。但對于短時負(fù)荷來說,這些宏觀因素可以視作常數(shù),作用可忽略不計。相比之下,天氣等短時變化十分劇烈的因素對于電能負(fù)荷的影響至關(guān)重要,也是負(fù)荷預(yù)測模型中考慮最多的因素。文獻(xiàn)[12]為了準(zhǔn)確實現(xiàn)天象與地表輻照度的實時映射關(guān)系,提出了一種基于深度學(xué)習(xí)的混合映射模型,用于太陽能光伏發(fā)電預(yù)測。
通常天氣因素包含溫度、降水、濕度、風(fēng)速以及氣象(如霧、霾等)[13]。其中溫度是最重要的天氣因素,因為人類活動和行為很大程度上受溫度的影響,負(fù)荷和溫度之間存在著很強的相關(guān)性。目前幾乎所有新提出的短期負(fù)荷預(yù)測方法都以某種形式的溫度作為預(yù)測的基礎(chǔ)。降水對戶外活動和一些工業(yè)過程影響較大,它的增加使得戶外活動的負(fù)荷降低,室內(nèi)活動的負(fù)荷升高。風(fēng)速和風(fēng)向組成了一個風(fēng)向量,常被用來調(diào)整預(yù)測模型。當(dāng)風(fēng)力強過某一閾值時,負(fù)荷會降低;當(dāng)風(fēng)力低于某一閾值時,負(fù)荷會升高。云量對于以商業(yè)建筑用途的短期負(fù)荷預(yù)測非常重要,有很強的地域性,因為對照明的影響,從而對負(fù)荷也產(chǎn)生一定影響。濕度主要是運用在短期負(fù)載預(yù)測中,加上其他天氣因素如溫度等,可描述在一些氣候條件下的負(fù)荷增加行為。
除此之外,電能負(fù)荷作為時序數(shù)據(jù),另一個重要特性為周期性。對于每天的能耗數(shù)據(jù),波峰與波谷總是根據(jù)用能對象出現(xiàn)在基本一致的時段內(nèi),并且負(fù)荷變化曲線基本一致。將時間尺度拉長,工作日的工業(yè)能耗明顯高于休息日,而居民能耗則呈現(xiàn)相反的趨勢。這一周期性本質(zhì)上是由人類的作息制度導(dǎo)致的,反應(yīng)在數(shù)據(jù)上,呈現(xiàn)出與時間的強相關(guān)性。
時間序列分析是基于一串等間隔、連續(xù)時間的同類數(shù)據(jù),采用之前時刻的數(shù)據(jù),對未來時刻進(jìn)行預(yù)測。目前電力系統(tǒng)通常配備有智能電表,可定時記錄用能對象的用能數(shù)據(jù),因此電能負(fù)荷預(yù)測顯然很好地契合這一要求[14-17]。最典型的時間序列分析方法為自回歸滑動平均模型(Auto Regressive Moving Average, ARMA)[18]。
(1)自回歸模型AR
自回歸即強調(diào)數(shù)據(jù)本身存在密切的耦合關(guān)系,采用歷史值來對當(dāng)前值進(jìn)行描述,可以根據(jù)先驗知識來確定歷史跨度。一般的p自回歸模型為:
(1)
其中ut為獨立同分布的隨機噪聲,通常采用高斯白噪聲。
(2)滑動平均模型MA
在自回歸模型中,假如ut不是一個白噪聲,通常認(rèn)為它是一個q階滑動平均,即:
(2)
其中εt表示白噪聲序列。特別的,當(dāng)xt=ut時,則
(3)
(3)自回歸滑動平均模型(ARMA)
將AR模型與MA模型線性疊加起來,即構(gòu)成了ARMA模型。
(4)
ARMA模型理論上十分適合時間序列數(shù)據(jù)的處理,但在實際應(yīng)用中建模過程十分復(fù)雜,需要諸多專業(yè)的先驗知識參與,并且對于偶然因素并不能做出可靠的預(yù)測。
隨著人工智能技術(shù)的發(fā)展,對負(fù)荷預(yù)測提供了新的解決方案。文獻(xiàn)[19]證實了深度 LSTM 具有對輸入負(fù)荷數(shù)據(jù)特征學(xué)習(xí)以及長短期相關(guān)性挖掘的能力, 對區(qū)域級負(fù)荷可以取得很好的超短期預(yù)測效果。以神經(jīng)網(wǎng)絡(luò)為代表的建模方法,能夠?qū)?shù)據(jù)內(nèi)在的非線性關(guān)系和耦合進(jìn)行很好地建模[20-24]。并且以長短期記憶單元為代表的遞歸神經(jīng)網(wǎng)絡(luò)能夠充分挖掘數(shù)據(jù)之間的時序性關(guān)系,十分適用于負(fù)荷數(shù)據(jù)的建模預(yù)測。
神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本單元,其基本結(jié)構(gòu)如圖1所示。
圖1 神經(jīng)元的基本結(jié)構(gòu)Fig.1 Basic structure of neurons
其中pi,i=1,2,…,r為該神經(jīng)元的i個輸入值,wi,i=1,2,…,r為第i個輸入對應(yīng)的權(quán)值。f(·)是激活函數(shù),b為偏置項,a為神經(jīng)元的輸出,輸出的表達(dá)式為:
(5)
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)由三個部分組成,輸入層、隱層和輸出層,如圖2所示。BP神經(jīng)網(wǎng)絡(luò)算法的核心主要分為兩個部分。一是輸入信號的前向傳遞。數(shù)據(jù)由輸入層輸入,傳遞到隱層并進(jìn)行計算,再通過輸出層輸出。二是誤差的反向傳播,在該階段中,根據(jù)輸出結(jié)果與真實值的誤差,從輸出層逐層反向傳播,并逐層修改網(wǎng)絡(luò)內(nèi)的權(quán)值和偏置項,從而使得網(wǎng)絡(luò)的輸出能夠接近真實值。
圖2 BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)Fig.2 Basic structure of neural networks
遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的結(jié)構(gòu)如圖3所示,與BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不同的是RNN考慮了時序因素,存在著隱層到隱層自身的鏈接,即隱層的輸出不僅傳遞到輸出層,也將傳遞到下一時間步的隱藏層。這使得RNN的結(jié)構(gòu)能夠在一定程度上記憶歷史信息,并利用歷史信息計算當(dāng)前神經(jīng)元的輸出,從而賦予了遞歸神經(jīng)網(wǎng)絡(luò)對時序數(shù)據(jù)進(jìn)行建模的能力。
圖3 RNN的基本結(jié)構(gòu)Fig.3 Basic structure of RNN
RNN模型通過時序概念的引入,相比于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)存在非常大的優(yōu)勢,可在網(wǎng)絡(luò)內(nèi)部保存之前時刻學(xué)到的信息,在對每一時刻的數(shù)據(jù)進(jìn)行處理時,都能利用之前時刻的信息,信息傳遞具有持續(xù)性,從而使得RNN能夠很好地處理時間序列等周期性數(shù)據(jù)建模的問題。但是,RNN也存在一些明顯的缺點。對于標(biāo)準(zhǔn)的RNN網(wǎng)絡(luò)來說,當(dāng)只使用與當(dāng)前時刻相差不遠(yuǎn)的信息時,RNN的表現(xiàn)較好。但如果使用與當(dāng)前時刻相差較長的信息時,RNN往往不能充分利用這些信息,這就是RNN的梯度消失問題。雖然在理論上RNN能夠處理時間跨度很長的信息,但因為梯度消失的問題,在實踐中RNN只能處理十分有限時間內(nèi)的信息。
為了解決RNN的無法處理長間隔強相關(guān)序列數(shù)據(jù)的缺點,長短期記憶(LSTM)模型可以做到這一點。最初的LSTM單元采用一個遞歸連接的記憶單元和輸入門、輸出門兩個控制門限構(gòu)成。記憶單元內(nèi)存儲神經(jīng)元當(dāng)前的隱態(tài);輸入門本質(zhì)上是一個普通神經(jīng)元,用來表示當(dāng)前輸入對隱態(tài)的影響;輸出門表示隱態(tài)對LSTM單元輸出的作用程度。直觀地說,它們可以被看作是通過LSTM連接的數(shù)值流的監(jiān)管者,因此被叫作“門”。在初始LSTM單元的基礎(chǔ)上,將遞歸連接的記憶單元增加了一個遺忘門,提高了區(qū)分不同間隔的數(shù)據(jù)對記憶隱態(tài)影響的能力,提高了神經(jīng)元性能[25-27],因此被稱作標(biāo)準(zhǔn)LSTM單元。LSTM基本結(jié)構(gòu)如圖4所示。
圖4 LSTM的基本結(jié)構(gòu)Fig.4 Basic structure of LSTM
網(wǎng)絡(luò)前向傳播過程如下。
輸入門:
(6)
(7)
遺忘門:
(8)
(9)
記憶單元:
(10)
(11)
輸出門:
(12)
(13)
單元輸出:
(14)
網(wǎng)絡(luò)反向傳播過程如下。
定義:
(15)
(16)
單元輸出:
(17)
輸出門:
(18)
狀態(tài):
(19)
記憶單元:
(20)
遺忘門:
(21)
輸入門:
(22)
LSTM的提出,解決了傳統(tǒng)RNN網(wǎng)絡(luò)存在的梯度消失的問題,由于在誤差的傳播過程中,可以在有些神經(jīng)元中通過“門”的結(jié)構(gòu)完好無損地通過下一層而不發(fā)生衰減。從而使LSTM網(wǎng)絡(luò)可以記憶長時間的信息,彌補了RNN的缺點?;陂L時記憶的優(yōu)點,LSTM網(wǎng)絡(luò)如今在機器翻譯、語音識別等領(lǐng)域展現(xiàn)了強大的建模能力。
本實驗基于TensorFlow平臺,TensorFlow是由谷歌2015年發(fā)布的第二代機器學(xué)習(xí)系統(tǒng),被廣泛地應(yīng)用在各種機器學(xué)習(xí)任務(wù)中。實驗所采用的數(shù)據(jù)集是來自斯洛文尼亞盧布爾雅那市2011年全年的電力負(fù)荷數(shù)據(jù)。在負(fù)荷之外也包含著其他的信息,包括溫度、濕度、壓力、風(fēng)向和風(fēng)速。因此除去時間戳外,每條數(shù)據(jù)的維度為7。原始數(shù)據(jù)的粒度為幾分鐘,各個數(shù)據(jù)點的測量間隔也稍有不同,故采用了取平均值的方式將其整合為粒度為一小時的數(shù)據(jù)。截取的部分實驗數(shù)據(jù)如圖5所示。
圖5 實驗數(shù)據(jù)樣表Fig.5 Experimental data sample
根據(jù)前文所討論過的電力負(fù)荷預(yù)測的影響因素與分類,該數(shù)據(jù)集只包含了時間數(shù)據(jù)和天氣數(shù)據(jù),缺少經(jīng)濟因素與社會因素數(shù)據(jù)。時間長度上也較短,只有一年,因此該數(shù)據(jù)集較為適合開展短期負(fù)荷預(yù)測,難以進(jìn)行中長期的負(fù)荷預(yù)測。故本文將進(jìn)行預(yù)測時長分別為一小時和一周的短期負(fù)荷預(yù)測實驗。實驗數(shù)據(jù)按照4∶1的比例,將前80%的數(shù)據(jù)(7008條)用作訓(xùn)練集,后20%的數(shù)據(jù)(1752條)用作測試集。另外,由于不同的數(shù)據(jù)在量綱上的不同,在天氣數(shù)據(jù)輸入網(wǎng)絡(luò)前需要將其歸一化到(0,1)的范圍內(nèi)。
為了判斷模型的效果好壞,需要有一種方法來量化模型的預(yù)測性能。本文使用平均絕對百分誤差(MAPE)和均方根誤差(RMSE)來衡量模型的預(yù)測結(jié)果。
MAPE的計算公式如下
(23)
RMSE的計算公式如下
(24)
其中yi代表i時刻的實際值predi代表i時刻模型的預(yù)測值,n為樣本總量。由這兩個公式易知,MAPE、RMSE越低,代表著預(yù)測模型的精度就越高。
3.2.1 基于前日數(shù)據(jù)的當(dāng)前時刻負(fù)荷預(yù)測
首先為了檢驗LSTM網(wǎng)絡(luò)對于超短期負(fù)荷預(yù)測性能,在一小時尺度下,設(shè)計使用前一天的所有信息來預(yù)測當(dāng)前時刻電力負(fù)荷值,故輸入層含有7×24個神經(jīng)元,輸出層為1個神經(jīng)元,中間的隱層設(shè)計為2層,第一層包含20個LSTM單元,第二層包含50個LSTM單元。損失函數(shù)使用平方誤差,采用Adam算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。Adam算法是一種隨機梯度下降的擴展方法,它能基于訓(xùn)練數(shù)據(jù)迭代地更新神經(jīng)網(wǎng)絡(luò)權(quán)重。隨機梯度下降保持單一的學(xué)習(xí)率來更新所有的權(quán)重,學(xué)習(xí)率在訓(xùn)練過程中并不會改變。而Adam通過計算梯度的一階矩估計和二階矩估計而為不同的參數(shù)設(shè)計獨立的自適應(yīng)性學(xué)習(xí)率,能夠使得參數(shù)收斂到更優(yōu)的結(jié)果并加快運算的速度,具有良好的適用性。初始學(xué)習(xí)率設(shè)為0.0005,Loss曲線結(jié)果如圖6所示。輸入測試數(shù)據(jù)進(jìn)行預(yù)測并與實際值進(jìn)行對比,得到的結(jié)果如圖7所示。
圖6 Loss曲線Fig.6 Loss curve
圖7 連續(xù)一周的預(yù)測效果Fig.7 One consecutive week of prediction
由圖6迭代次數(shù)與損失函數(shù)的關(guān)系可以看出,當(dāng)?shù)螖?shù)達(dá)到1000次時,損失函數(shù)的值已基本不變,可以認(rèn)為模型已經(jīng)收斂。圖7中,藍(lán)色線是實際值的曲線,橙色線是預(yù)測值的曲線。從以上的實驗結(jié)果圖中可以看出,基于前一天歷史信息的單步預(yù)測效果較好,預(yù)測值與實際值的變化趨勢相同,絕對誤差也較小。計算得到MAPE為2.09%,RMSE為47.30。
3.2.2 基于上周數(shù)據(jù)的一周負(fù)荷預(yù)測
接下來為了檢驗更大時間跨度下LSTM網(wǎng)絡(luò)對于負(fù)荷預(yù)測的效果,依舊在一小時尺度下,設(shè)計使用一周的能耗和天氣數(shù)據(jù)來預(yù)測下一周的電力負(fù)荷值,修改模型輸入改為7×168,輸出為1×168,其他結(jié)構(gòu)保持不變?;谠撃P偷倪B續(xù)兩周預(yù)測數(shù)據(jù)如圖8所示,可以看出,相比于預(yù)測時長為一小時的結(jié)果,預(yù)測時長為一周時,預(yù)測結(jié)果開始變差。絕對誤差較高,但預(yù)測值的變化趨勢與實際值仍較為相符。說明網(wǎng)絡(luò)對于預(yù)測較長時間后的負(fù)荷值的能力有限,但學(xué)習(xí)到了每周、每日的周期性變化規(guī)律。計算得到RMSE為140.71,MAPE為7.03%。
圖8 連續(xù)兩周預(yù)測效果Fig.8 Two consecutive weeks of prediction
3.2.3 基于上周數(shù)據(jù)和星期的一周負(fù)荷預(yù)測
對于電能負(fù)荷數(shù)據(jù)來說,一個基本的先驗知識是能耗數(shù)據(jù)除了自身呈現(xiàn)周期性特征以外,這樣的周期性與時間還存在著密切關(guān)系。在一周跨度下,對于城市整體而言,通常工作日用電量較高,而休息日會明顯降低。因此考慮在原有序列數(shù)據(jù)條的基礎(chǔ)上,加入one-hot編碼的星期信息來顯式地描述能耗模型的周期性特性。修改模型輸入維度至(7+7)×168,其余部分保持不變。
截取與圖8相同時間段的部分實驗測試結(jié)果,如圖9所示,可以看出引入日期這個周期性因素后,網(wǎng)絡(luò)模型對于尖峰負(fù)荷的預(yù)測更為準(zhǔn)確。計算得到RMSE為130.19,MAPE為5.99%,在加入了星期信息后,兩項指標(biāo)數(shù)值均有所降低,即預(yù)測精度稍有提高。驗證了基本先驗知識,日期信息,對存在著以一周為周期的時間序列建模的幫助。
圖9 基于歷史數(shù)據(jù)和氣象數(shù)據(jù)模型的連續(xù)兩周預(yù)測效果Fig.9 Two consecutive weeks of prediction based on historical data and meteorological data mode
本文分析了影響短期電能負(fù)荷的關(guān)鍵影響因素,回顧了以往對于負(fù)荷預(yù)測的研究、建模方法。以對時序數(shù)據(jù)的建模能力為主要切入點遞進(jìn)地分析了BP神經(jīng)網(wǎng)絡(luò)、RNN和LSTM網(wǎng)絡(luò)。選擇了能夠記憶長短時信息的LSTM網(wǎng)絡(luò)作為實驗使用的預(yù)測模型。
根據(jù)數(shù)據(jù)集的特性,本文實驗以短期負(fù)荷預(yù)測為主題,從預(yù)測時長為一小時和一周兩個方向分別搭建了對應(yīng)的LSTM網(wǎng)絡(luò)。一小時的預(yù)測模型效果較好,一周的預(yù)測模型由于預(yù)測時長較長而效果相對較差,但通過增加星期信息的輸入,使得預(yù)測效果有所改善。驗證了基于歷史數(shù)據(jù)和天氣對于短期電力負(fù)荷預(yù)測的有效性和星期信息對以一周為周期的時間序列建模的明顯幫助。