王旭東,嚴(yán) 珂,陸慧娟,葉敏超
(中國(guó)計(jì)量大學(xué) 信息工程學(xué)院,浙江 杭州 310018)
隨著世界人口數(shù)目的不斷增多,人類對(duì)能源需求日趨增大.目前,家庭住宅的能源消耗約占全世界能源使用總量的30%~40%[1-3],住宅負(fù)荷經(jīng)常對(duì)季節(jié)和日用電高峰需求有顯著影響[4].通常,為了滿足高峰時(shí)期的用電需求,電力公司會(huì)提高發(fā)電能力以滿足需求.但是提升20%的發(fā)電能力大約可以應(yīng)對(duì)潛在發(fā)生的5%的峰值需求[5],這對(duì)電力資源是一種極大的浪費(fèi).準(zhǔn)確的預(yù)測(cè)家庭住宅用電需求,平衡用電高峰的供需關(guān)系,將會(huì)減少電力資源的浪費(fèi),對(duì)保護(hù)生態(tài)環(huán)境產(chǎn)生積極影響.隨著智能電網(wǎng)的出現(xiàn)和大量智能電表的安裝[6],降低了數(shù)據(jù)獲取的難度,因此短時(shí)家庭電力負(fù)荷預(yù)測(cè)具有可行性和現(xiàn)實(shí)意義.
關(guān)于家庭層面的用電需求預(yù)測(cè),近幾年相關(guān)研究很多,大部分都采用了機(jī)器學(xué)習(xí)的方法.Ghofrani等[7]使用卡爾曼濾波研究了負(fù)荷預(yù)測(cè).Humeau等[8]利用支持向量回歸和神經(jīng)網(wǎng)絡(luò)研究了個(gè)體級(jí)別的住宅負(fù)荷預(yù)測(cè)和總體水平.Sevlian和Rajagopal[9]研究了預(yù)測(cè)精度與聚合水平之間的比例關(guān)系.Arora和Taylor[10]考慮了負(fù)荷預(yù)測(cè)的條件核密度估計(jì),并討論了其在分時(shí)定價(jià)中的應(yīng)用.Haben等人[11]提出了一種新的評(píng)估個(gè)體家庭負(fù)荷預(yù)測(cè)誤差的方法,以更好地描述波動(dòng)性和噪聲負(fù)荷信號(hào).Yu等[12]提出了利用稀疏編碼的方式對(duì)短期家庭需求進(jìn)行預(yù)測(cè),提升了預(yù)測(cè)精度.Shi等[13]使用一種基于池化處理的深度循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)克服家庭電力需求數(shù)據(jù)隨機(jī)性大的問(wèn)題.
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,一些深度學(xué)習(xí)模型逐漸被應(yīng)用到時(shí)序數(shù)據(jù)的研究中[14].其中,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)是一種帶有自循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),允許時(shí)間序列數(shù)據(jù)在網(wǎng)絡(luò)層上信息流動(dòng)的持久化,在理論上十分適合處理時(shí)間序列數(shù)據(jù).RNN產(chǎn)生了眾多變體,如雙向循環(huán)神經(jīng)網(wǎng)絡(luò)[15]、長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)[16]、門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)[17]等.在眾多RNN的變體中,LSTM網(wǎng)絡(luò)彌補(bǔ)了RNN的梯度消失和梯度爆炸、長(zhǎng)期記憶能力不足等問(wèn)題,使得循環(huán)神經(jīng)網(wǎng)絡(luò)能夠真正有效地利用長(zhǎng)距離的時(shí)序信息.并且LSTM網(wǎng)絡(luò)已經(jīng)在股票預(yù)測(cè)[18]、故障時(shí)間序列預(yù)測(cè)[19]、語(yǔ)音識(shí)別[20]、航空發(fā)動(dòng)機(jī)過(guò)度振動(dòng)預(yù)測(cè)[21]等時(shí)間序列相關(guān)研究領(lǐng)域取得了應(yīng)用.
本文針對(duì)短時(shí)家庭電力需求數(shù)據(jù)維度單一、數(shù)據(jù)隨機(jī)性強(qiáng)的問(wèn)題,提出了一種基于LSTM的單變量短時(shí)家庭電力需求預(yù)測(cè)模型,來(lái)對(duì)1 h為單位的家庭電力需求進(jìn)行預(yù)測(cè).
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)是一種具有反饋結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),其輸入不僅和當(dāng)前輸入和網(wǎng)絡(luò)的權(quán)值有關(guān),而且也和之前的網(wǎng)絡(luò)輸入有關(guān),因此,在理論上說(shuō),RNN非常適合處理序列數(shù)據(jù).但是用循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)長(zhǎng)期依賴問(wèn)題時(shí),會(huì)出現(xiàn)梯度消失或者梯度爆炸問(wèn)題[22],導(dǎo)致模型無(wú)法訓(xùn)練.為了克服這一問(wèn)題,Hochreiter等人[16]提出了長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(long short-term memory,LSTM),引入了細(xì)胞狀態(tài)和三個(gè)門結(jié)構(gòu)控制信息在細(xì)胞狀態(tài)上的更新,實(shí)現(xiàn)了信息在網(wǎng)絡(luò)上的長(zhǎng)期流動(dòng).
圖1 LSTM神經(jīng)元內(nèi)部結(jié)構(gòu)圖Figure 1 Internal structure of LSTM neural networks
LSTM神經(jīng)元內(nèi)部結(jié)構(gòu)如圖1.為了建立時(shí)間連接,LSTM在整個(gè)循環(huán)周期內(nèi)定義和維護(hù)一個(gè)內(nèi)部記憶單元狀態(tài)——細(xì)胞狀態(tài)Ct,然后通過(guò)遺忘門ft、輸入門it、輸出門ot三個(gè)門結(jié)構(gòu)來(lái)更新、維護(hù)或刪除細(xì)胞狀態(tài)內(nèi)的信息.前向計(jì)算過(guò)程如下:
ft=σ(Wf·[ht-1,xt]+bf),
(1)
it=σ(Wi·[ht-1,xt]+bi),
(2)
(3)
(4)
ot=σ(Wo·[ht-1,xt]+bo),
(5)
ht=ot·tanh(Ct).
(6)
LSTM網(wǎng)絡(luò)訓(xùn)練過(guò)程采用通過(guò)時(shí)間反向傳播算法(back-propagation through time,BPTT),反向計(jì)算每個(gè)LSTM神經(jīng)元輸出值與真實(shí)值的誤差項(xiàng),根據(jù)相應(yīng)的誤差項(xiàng),計(jì)算每個(gè)權(quán)重的梯度,應(yīng)用梯度優(yōu)化算法更新權(quán)重.
家庭級(jí)別的電力需求數(shù)據(jù),是通過(guò)智能電表自動(dòng)采集單位時(shí)間內(nèi)的用電量來(lái)收集,相對(duì)于城市級(jí)別的電力需求數(shù)據(jù),家庭電力需求數(shù)據(jù)維度單一且隨機(jī)性強(qiáng),預(yù)測(cè)難度更大.考慮到家庭電力需求數(shù)據(jù)的特點(diǎn),現(xiàn)提出一種基于LSTM的單變量的家庭電力需求預(yù)測(cè)模型.模型包括輸入層、隱藏層、輸出層、網(wǎng)絡(luò)訓(xùn)練及優(yōu)化四個(gè)模塊,網(wǎng)絡(luò)模型整體框架圖如圖2:
圖2 基于LSTM的單變量短期家庭電力需求預(yù)測(cè)模型框架Figure 2 Short-term forecast framework of household electricity demand based LSTM single variable
圖3 網(wǎng)絡(luò)層上數(shù)據(jù)流動(dòng)形式Figure 3 Data flow-chart on the network layer
由于訓(xùn)練樣本基數(shù)大,訓(xùn)練過(guò)程中優(yōu)化算法使用小批量梯度下降算法(Mini-batch gradient descent),相對(duì)于批量梯度下降,小批量梯度下降每次選取一個(gè)批大小的樣本更新參數(shù),節(jié)省了運(yùn)算成本,提高了運(yùn)算速度;相比于隨機(jī)梯度下降,小批量梯度下降降低了收斂的波動(dòng)性,使得參數(shù)更新更加穩(wěn)定.網(wǎng)絡(luò)的損失函數(shù)定義為
(7)
其中:B表示一個(gè)批次中樣本的數(shù)量.
學(xué)習(xí)率η的選取對(duì)模型性能有重要影響,同時(shí)也常常是模型中最難調(diào)試的一個(gè)參數(shù),為了降低參數(shù)調(diào)試難度,使模型表現(xiàn)最優(yōu),本文使用超參數(shù)優(yōu)化算法來(lái)對(duì)學(xué)習(xí)率η進(jìn)行參數(shù)優(yōu)化.常用的自適應(yīng)學(xué)習(xí)率優(yōu)化算法有AdaGrad、RMSProp,Adam等,其中RMSprop使用指數(shù)衰減平均以丟棄遙遠(yuǎn)過(guò)去的歷史,使其能夠在找到凸碗狀結(jié)構(gòu)后快速收斂,因此選用RMSProp算法作為模型的超參數(shù)優(yōu)化算法.
本章使用英國(guó)能源中心提供的英國(guó)倫敦家庭電力需求數(shù)據(jù),來(lái)對(duì)提出的基于LSTM的單變量短期家庭電力需求預(yù)測(cè)模型進(jìn)行訓(xùn)練及性能測(cè)試.
本數(shù)據(jù)來(lái)自于英國(guó)倫敦的家庭電力使用記錄[23].該數(shù)據(jù)集使用智能電表收集了五個(gè)英國(guó)家庭2012年至2014年以6 s為采樣間隔的電力消費(fèi)數(shù)據(jù).
原始電力需求數(shù)據(jù)是以6 s為采集頻率采集的,本文是對(duì)1 h家庭電力需求進(jìn)行預(yù)測(cè),因此要先進(jìn)行數(shù)據(jù)合并得到實(shí)驗(yàn)數(shù)據(jù)集,合并后的數(shù)據(jù)選取90%作為訓(xùn)練集,其中的5%作為驗(yàn)證集;10%作為測(cè)試集,數(shù)據(jù)具體值如表1.
表1 實(shí)驗(yàn)數(shù)據(jù)集描述
實(shí)驗(yàn)中所用的計(jì)算機(jī)配置環(huán)境為:處理器為Intel(R)Core(TM)i7-7700 CPU @ 2.80 GHZ,內(nèi)存為8.00GB,GPU為基于Pascal架構(gòu)NVIDIA GeForce GTX1050顯卡,顯存為2.00GB;操作系統(tǒng)為Windows10(64-bit);程序設(shè)計(jì)語(yǔ)言為Python 3.5.2(64-bit);集成開(kāi)發(fā)環(huán)境為PYCharm Comm Edition 2016.3.2.深度學(xué)習(xí)代碼后端基于Google的深度學(xué)習(xí)開(kāi)源框架Tensorflow訓(xùn)練,版本為tensorflow-gpu 1.30,前端為Keras 2.0.8.
本文選用均方誤差(Mean Square Error,MSE)作為評(píng)價(jià)標(biāo)準(zhǔn),MSE的計(jì)算公式為
(8)
MSE越小,表明預(yù)測(cè)的用電需求值和實(shí)際需求值越接近,預(yù)測(cè)越準(zhǔn)確.
模型使用英國(guó)倫敦家庭電力需求數(shù)據(jù)進(jìn)行性能評(píng)估.其中,迭代次數(shù)、學(xué)習(xí)率是重要的超參數(shù),這些超參數(shù)的取值對(duì)模型的性能表現(xiàn)產(chǎn)生重大影響,需要選取合適的參數(shù).
當(dāng)固定學(xué)習(xí)率為0.005,序列長(zhǎng)度為23,批樣本為512,優(yōu)化器選擇RMSprop時(shí),觀察不同的迭代次數(shù)下訓(xùn)練誤差和驗(yàn)證誤差變化,如圖4.
圖4 不同迭代次數(shù)下,LSTM模型訓(xùn)練誤差和驗(yàn)證誤差變化Figure 4 LSTM model training error and verification error under different epochs
由圖4可以看出,隨著迭代次數(shù)的不斷增大,訓(xùn)練誤差呈下降趨勢(shì),并且在迭代次數(shù)為60之后,趨于平穩(wěn);驗(yàn)證誤差隨著迭代次數(shù)增大經(jīng)歷了先下降又遞增的過(guò)程,這說(shuō)明迭代次數(shù)過(guò)大將導(dǎo)致模型產(chǎn)生了嚴(yán)重的過(guò)擬合.因此,將迭代次數(shù)定為20.
在相同參數(shù)下取不同學(xué)習(xí)率(LR=0.001,0.002,0.003,0.004,0.005)對(duì)模型進(jìn)行訓(xùn)練,得到的預(yù)測(cè)精度如圖5,可清楚的看出,學(xué)習(xí)率為0.002時(shí)預(yù)測(cè)精度最高(MSE最低),因此,將模型學(xué)習(xí)率定為0.002.
實(shí)驗(yàn)選取不同的序列長(zhǎng)度(L=4,6,8,10,12,14,16,18,20,22,24,26,28,30)來(lái)訓(xùn)練LSTM模型,預(yù)測(cè)精度隨序列長(zhǎng)度變化如圖6.序列長(zhǎng)度為24時(shí)MSE最小,因此,模型的序列長(zhǎng)度定為24.
圖5 不同學(xué)習(xí)率下,均方誤差(MSE)變化Figure 5 Mean square errors(MSE) in different learn rate
圖6 不同序列長(zhǎng)度下,均方誤差(MSE)變化Figure 6 Mean square errors(MSE) in different sequence length
將本模型在五個(gè)數(shù)據(jù)量、生活習(xí)慣不同的用電家庭數(shù)據(jù)集上進(jìn)行測(cè)試,評(píng)價(jià)指標(biāo)使用均方誤差(MSE),并和傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2.從表2可以清楚的看出,LSTM模型在第1、2、5家庭中預(yù)測(cè)表現(xiàn)最優(yōu),而RNN方法只在家庭4中表現(xiàn)最優(yōu),GRU方法只在家庭3中表現(xiàn)最優(yōu).這說(shuō)明LSTM短期電力需求預(yù)測(cè)模型泛化能力比RNN、GRU好.同時(shí)和表1聯(lián)合觀察可知,家庭3訓(xùn)練集數(shù)據(jù)過(guò)少(小于1 000),預(yù)測(cè)精度不高(MSE最高),其余四個(gè)家庭數(shù)據(jù)集MSE在5以下,說(shuō)明LSTM在訓(xùn)練集大于1 000時(shí)表現(xiàn)較好,但是數(shù)據(jù)集過(guò)大(家庭1),精度提升不會(huì)過(guò)于明顯,因此,我們選取家庭2作為實(shí)驗(yàn)結(jié)果比較的主要對(duì)象.
表2 三種方法在5個(gè)英國(guó)家庭中的均方誤差Table 2 Forecasting MSE of three models in 5 British households
圖7是LSTM、RNN、GRU三種模型對(duì)英國(guó)家庭2電力需求預(yù)測(cè)一周的曲線變化.從圖上可以清楚的看出,傳統(tǒng)的RNN方法對(duì)用電平穩(wěn)的時(shí)間段預(yù)測(cè)效果較為精準(zhǔn),但是當(dāng)用電峰值來(lái)臨時(shí),RNN方法預(yù)測(cè)誤差很大,達(dá)不到實(shí)際應(yīng)用要求.LSTM和GRU方法都能夠準(zhǔn)確的反映家庭2的用電趨勢(shì)變化,但是本文提出的LSTM模型對(duì)峰值擬合程度更高,整體表現(xiàn)更好.同時(shí)從表2可知,RNN、GRU、LSTM三種方法在英國(guó)家庭2測(cè)試集上的均方誤差分別為1.460、1.628、1.357,本文的LSTM模型均方誤差最小.綜上,LSTM模型在整體預(yù)測(cè)精度和峰值預(yù)測(cè)表現(xiàn)均優(yōu)于RNN和GRU方法.當(dāng)突發(fā)性的用電峰值來(lái)臨時(shí),如115 h、139 h,本文提出的LSTM模型對(duì)于突發(fā)性的用電峰值預(yù)測(cè)還存在較大誤差.造成這一問(wèn)題的原因是家庭的用電需求會(huì)受到突發(fā)性的社會(huì)活動(dòng)影響,這就造成了一個(gè)家庭短時(shí)間內(nèi)用電需求的大幅提升,從而影響了預(yù)測(cè)精度.
圖7 三種模型對(duì)英國(guó)家庭2電力需求預(yù)測(cè)曲線Figure 7 Electricity demand forecasting results using three models for family 2.
本文提出了基于LSTM的單變量短期家庭電力負(fù)荷預(yù)測(cè)模型,包括模型的框架,網(wǎng)絡(luò)結(jié)構(gòu)、超參數(shù)優(yōu)化等內(nèi)容.并使用倫敦家庭用電數(shù)據(jù)進(jìn)行訓(xùn)練,對(duì)1 h內(nèi)家庭電力需求進(jìn)行預(yù)測(cè).本模型克服了數(shù)據(jù)本身特征維度低、隨機(jī)性強(qiáng)的問(wèn)題,為智能電網(wǎng)在家庭層面用電需求的準(zhǔn)確及時(shí)預(yù)測(cè)提供了保障,對(duì)推動(dòng)個(gè)性化用電套餐的廣泛普及及減少能源浪費(fèi)發(fā)揮了重要影響.但是,該模型在對(duì)用電峰值的預(yù)測(cè)上精度還不夠高,后續(xù)的工作準(zhǔn)備通過(guò)拓展網(wǎng)絡(luò)層數(shù)與尋求更有效的參數(shù)優(yōu)化方法等提高預(yù)測(cè)模型的峰值預(yù)測(cè)精度.