李龍祥,彭 晨,李 軍,王雨嫣,魯榮波
(1.吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南 吉首 416000;2.吉首大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,湖南 吉首 416000;3.懷化學(xué)院,湖南 懷化 418008)
電能是未來(lái)智慧城市發(fā)展最主要也是最重要的能源[1].準(zhǔn)確的住宅負(fù)荷預(yù)測(cè)能夠幫助電力部門合理制定生產(chǎn)調(diào)度計(jì)劃,減少電力的資源浪費(fèi)[2-4],這對(duì)于未來(lái)智慧城市的發(fā)展至關(guān)重要.目前,城市住宅區(qū)負(fù)荷預(yù)測(cè)研究方法主要分為統(tǒng)計(jì)算法和機(jī)器學(xué)習(xí)算法[5].統(tǒng)計(jì)算法主要包括自回歸積分滑動(dòng)平均(Autoregressive Integral Moving Average,ARIMA)[6]、卡爾曼濾波[7]等.這些統(tǒng)計(jì)方法具有計(jì)算速度快、復(fù)雜度低的優(yōu)點(diǎn),但是難以反映非線性特征的影響.機(jī)器學(xué)習(xí)算法能夠較好地處理非線性問(wèn)題,因此近幾年常被應(yīng)用于負(fù)荷預(yù)測(cè)領(lǐng)域.例如,滿達(dá)等[8]設(shè)計(jì)了一種基于長(zhǎng)短時(shí)記憶(Long Short-Time Memory,LSTM)網(wǎng)絡(luò)的預(yù)測(cè)模型,并將該模型用于高校電力負(fù)荷預(yù)測(cè),取得了不錯(cuò)的效果;王義軍等[9]通過(guò)引入粒子群算法來(lái)優(yōu)化支持向量機(jī)(Support Vector Machine,SVM)的方式,從而提高負(fù)荷預(yù)測(cè)的精度.隨著城市區(qū)域的擴(kuò)張、家用電器的多樣化發(fā)展,單一的預(yù)測(cè)方法已不能在日益復(fù)雜的負(fù)荷序列上取得令人滿意的結(jié)果.研究表明[10-13],使用混合模型往往可以取長(zhǎng)補(bǔ)短,獲得更好的預(yù)測(cè)效果.因此,筆者設(shè)計(jì)了一個(gè)將LSTM網(wǎng)絡(luò)與AdaBoost集成方法相結(jié)合的混合模型,并將它用于城市住宅區(qū)短期負(fù)荷預(yù)測(cè).
LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)一個(gè)優(yōu)秀的變種模型.它解決了原始循環(huán)神經(jīng)網(wǎng)絡(luò)在梯度反向傳播過(guò)程中由于逐步縮減而產(chǎn)生的梯度爆炸和消散問(wèn)題,成為當(dāng)前最流行的RNN,在時(shí)間序列分析[14]、語(yǔ)音識(shí)別[15]、自然語(yǔ)言處理[16]等許多領(lǐng)域中被成功應(yīng)用.LSTM的出現(xiàn)使得時(shí)序數(shù)據(jù)在特征抽取和表示上更加強(qiáng)大,因此被筆者選作集成模型的基學(xué)習(xí)器.
LSTM網(wǎng)絡(luò)由記憶單元Ct、輸入門it、遺忘門ft和輸出門ot四部分組成,內(nèi)部模塊結(jié)構(gòu)如圖1所示.記憶單元決定當(dāng)前時(shí)刻的狀態(tài),輸入門和輸出門控制著進(jìn)出記憶單元的信息大小,遺忘門決定丟棄多少之前的信息.
圖1 LSTM的內(nèi)部模塊結(jié)構(gòu)
LSTM門控單元計(jì)算過(guò)程如下:
ft=σ(Wfhht-1+Wfxxt+bf),
it=σ(Wihht-1+Wixxt+bi),
ot=σ(Wohht-1+Woxxt+bo)
LSTM記憶單元具體計(jì)算方法為
ht=ot°tanh(Ct).
為了更進(jìn)一步提升LSTM對(duì)負(fù)荷序列的處理能力,筆者使用2層LSTM網(wǎng)絡(luò)作為基學(xué)習(xí)器,神經(jīng)元的個(gè)數(shù)通過(guò)Keras Tuner優(yōu)化確定為第1層32個(gè),第2層160個(gè).為了減少過(guò)擬合,在每個(gè)LSTM層之后再設(shè)置一個(gè)dropout層進(jìn)行正則化操作并使用損失函數(shù)Huber和RMSprop優(yōu)化器更新模型參數(shù).
集成學(xué)習(xí)大致可以分為2類[17]:一類是基學(xué)習(xí)器之間必須串行生成且具有強(qiáng)依賴關(guān)系的boosting;另一類是可以并行生成基學(xué)習(xí)器的bagging和 “隨機(jī)森林”.
由 Yoav Freund 和 Robert Schapire 開發(fā)的自適應(yīng)提升(Adaptive Boost,AdaBoost)[18]是一種串行生成基學(xué)習(xí)器的集成算法.AdaBoost通過(guò)將多個(gè)基學(xué)習(xí)器進(jìn)行結(jié)合,??色@得比單一的學(xué)習(xí)器更為優(yōu)越的泛化性能,且不易受到過(guò)擬合問(wèn)題的影響.因此,筆者采用AdaBoost集成學(xué)習(xí)算法與LSTM網(wǎng)絡(luò)相結(jié)合的方法來(lái)對(duì)城市住宅區(qū)短期的用電量進(jìn)行預(yù)測(cè).
LSTM-AdaBoost負(fù)荷預(yù)測(cè)模型先通過(guò)AdaBoost集成算法串行訓(xùn)練多個(gè)基學(xué)習(xí)器并計(jì)算每個(gè)基學(xué)習(xí)器的權(quán)重系數(shù),接著將各個(gè)基學(xué)習(xí)器的預(yù)測(cè)結(jié)果進(jìn)行線性組合,生成最終的預(yù)測(cè)結(jié)果.
LSTM-AdaBoost模型算法流程如下:
輸入:訓(xùn)練集D={(x1,y1),(x2,y2),…,(xi,yi),…,(xm,ym)};
基學(xué)習(xí)器LSTM;
基學(xué)習(xí)器數(shù)量T.
過(guò)程:
1.初始化d1=(w11,w12,…,w1i,…,w1m),w1i=1/m,i=1,2,…,m∥初始化訓(xùn)練集權(quán)值
2.fort= 1 toT
3.kt=LSTM(D,dt) ∥使用權(quán)值分布為dt的訓(xùn)練集D訓(xùn)練基學(xué)習(xí)器kt
4.Et=|yi-kt(xi)| ∥計(jì)算訓(xùn)練集上的樣本最大誤差
9.end for
首先,將訓(xùn)練集的權(quán)值初始化并設(shè)置基學(xué)習(xí)器數(shù)量為T;接著,將訓(xùn)練集輸入到LSTM網(wǎng)絡(luò)中進(jìn)行第一輪訓(xùn)練并計(jì)算出樣本的相對(duì)誤差eti、LSTM網(wǎng)絡(luò)的回歸誤差率εt及基學(xué)習(xí)器的權(quán)值系數(shù)αt;最后,通過(guò)eti和εt更新下一輪訓(xùn)練的數(shù)據(jù)集權(quán)值,并將更新后的數(shù)據(jù)集輸入到下一個(gè)LSTM網(wǎng)絡(luò)進(jìn)行學(xué)習(xí).從更新公式可知,在當(dāng)前輪中預(yù)測(cè)錯(cuò)誤的樣本權(quán)值在下一輪訓(xùn)練中會(huì)增大,因此下一個(gè)LSTM網(wǎng)絡(luò)會(huì)更多的關(guān)注權(quán)值大的樣本.重復(fù)上述訓(xùn)練過(guò)程,直至基學(xué)習(xí)器的數(shù)量達(dá)到預(yù)先設(shè)定值T,最后對(duì)計(jì)算出權(quán)值系數(shù)的所有基學(xué)習(xí)器進(jìn)行線性組合就得到了集成模型LSTM-AdaBoost.
實(shí)驗(yàn)采用的是麻省理工大學(xué)提供的公寓數(shù)據(jù)集,該數(shù)據(jù)集以分鐘為頻率記錄了2014到2016年114個(gè)單戶公寓的用電情況,并包含了當(dāng)?shù)剡@3年的天氣數(shù)據(jù).其中天氣數(shù)據(jù)包括溫度、室內(nèi)溫度、露點(diǎn)、濕度、壓力、風(fēng)速等14個(gè)氣候特征.考慮到人類活動(dòng)對(duì)住宅用電量的影響,周類型及白天、黑夜2個(gè)特征被編碼添加到原始數(shù)據(jù)集中.筆者以15 min的頻率重采樣數(shù)據(jù)集,以114個(gè)單戶公寓總計(jì)用電量作為預(yù)測(cè)目標(biāo).數(shù)據(jù)集中某些公寓的缺失值以同一時(shí)刻其他所有公寓負(fù)荷數(shù)據(jù)的均值進(jìn)行填補(bǔ).訓(xùn)練集、驗(yàn)證集、測(cè)試集的大小分別為4,1,1個(gè)月.
盲目構(gòu)建模型輸入特征空間可能會(huì)導(dǎo)致數(shù)據(jù)利用效率降低,因此筆者使用Pearson相關(guān)系數(shù)和最大信息系數(shù)(Maximal Information Coefficient,MIC)來(lái)探索歷史負(fù)荷數(shù)據(jù)與其他外部變量之間的相關(guān)性.首先以Pearson相關(guān)系數(shù)分析歷史負(fù)荷與溫度、濕度等外部變量之間的線性相關(guān)程度的強(qiáng)弱,再使用MIC檢測(cè)輸入變量之間的非線性相關(guān)性.通過(guò)綜合使用Pearson相關(guān)系數(shù)與MIC來(lái)剔除不相干或冗余的特征,從而提高模型計(jì)算效率及預(yù)測(cè)精確度.
氣溫是進(jìn)行負(fù)荷預(yù)測(cè)時(shí)常用的輸入特征之一[19-21],這是因?yàn)槿藗儗?duì)冷熱的感受會(huì)影響住戶對(duì)空調(diào)等一些大功率電器的使用情況.因此,天氣的冷熱和城市住宅區(qū)的用電量是息息相關(guān)的.露點(diǎn)(空氣中的水蒸氣凝結(jié)成水珠的溫度)、室內(nèi)溫度、溫度都是表示天氣溫度高低的數(shù)據(jù)類型,在進(jìn)行變量的相關(guān)性分析過(guò)程中,三者之間展現(xiàn)出較強(qiáng)的相關(guān)性.為避免特征冗余,選取最恰當(dāng)?shù)奶卣髯鳛槟P偷妮斎?,筆者分析了室內(nèi)溫度、溫度及露點(diǎn)各自與歷史負(fù)荷的相關(guān)性,結(jié)果見(jiàn)表1.
表1 相關(guān)性結(jié)果
由表1可知,露點(diǎn)與歷史負(fù)荷的相關(guān)性要比溫度及室內(nèi)溫度強(qiáng),這說(shuō)明露點(diǎn)相較而言更能反映居民對(duì)家用電器的使用情況.最后結(jié)合2種相關(guān)性分析的結(jié)果,露點(diǎn)、濕度、周類型與歷史負(fù)荷等特征被用作模型的輸入.
為了評(píng)估LSTM-AdaBoost集成模型的預(yù)測(cè)準(zhǔn)確性,筆者采用了3個(gè)常用的評(píng)價(jià)指標(biāo),平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE,用ηMAPE表示)、平均絕對(duì)誤差(Mean Absolute Error,MAE,用ηMAE表示)和均方誤差(Mean Square Error,MSE,用ηMSE表示),計(jì)算公式如下:
本研究使用Scikit-Learn包來(lái)搭建集成學(xué)習(xí)框架,使用Tensorflow深度學(xué)習(xí)框架進(jìn)行LSTM網(wǎng)絡(luò)層的搭建,在Google Colaboratory平臺(tái)上進(jìn)行實(shí)驗(yàn)分析.時(shí)間窗口的大小設(shè)置為1 d的采樣值即96,步長(zhǎng)為1.特征矩陣在輸入到模型前先進(jìn)行標(biāo)準(zhǔn)化處理,從而消除由于量綱不同所引起的誤差.
為了驗(yàn)證LSTM-AdaBoost集成模型的優(yōu)越性,以LSTM、SVM、CART決策樹、線性回歸(Linear Regression,LR)和K近鄰法(K-Nearest Neighbor, KNN)作為基準(zhǔn)模型,以MAPE、MSE和MAE作為評(píng)價(jià)模型優(yōu)劣的指標(biāo),模型性能比較見(jiàn)表2.
表2 模型性能比較
從表2可以看出,LSTM網(wǎng)絡(luò)的各項(xiàng)指標(biāo)數(shù)值相較于其他基準(zhǔn)模型均有顯著降低,這說(shuō)明LSTM網(wǎng)絡(luò)對(duì)時(shí)間序列處理的能力是值得肯定的.因此,筆者采用LSTM網(wǎng)絡(luò)作為集成算法的基學(xué)習(xí)器是合理的.
圖2展示了LSTM網(wǎng)絡(luò)與LSTM-AdaBoost集成模型的預(yù)測(cè)結(jié)果.
圖2 LSTM網(wǎng)絡(luò)與LSTM-AdaBoost集成模型的預(yù)測(cè)結(jié)果
由圖2可以看出,LSTM-AdaBoost集成模型與LSTM網(wǎng)絡(luò)在預(yù)測(cè)整體趨勢(shì)方面兩者相差不大,但是在細(xì)節(jié)波動(dòng)的預(yù)測(cè)上LSTM-AdaBoost集成模型的表現(xiàn)更好,這說(shuō)明LSTM-AdaBoost集成模型對(duì)負(fù)荷曲線的擬合效果更好.通過(guò)對(duì)比LSTM網(wǎng)絡(luò)與LSTM-AdaBoost集成模型的評(píng)價(jià)指標(biāo)可以看出,集成算法的使用使對(duì)城市住宅區(qū)的用電量預(yù)測(cè)能力得到進(jìn)一步提升.通過(guò)對(duì)比其他幾種單一預(yù)測(cè)模型與LSTM-AdaBoost集成模型可以看出,混合方法的使用使模型對(duì)城市住宅區(qū)的用電量預(yù)測(cè)更精確.
筆者提出了一種LSTM-AdaBoost集成模型用來(lái)預(yù)測(cè)城市住宅區(qū)短期的電力需求,此模型旨在利用不同參數(shù)優(yōu)化的基學(xué)習(xí)器來(lái)降低陷入局部最優(yōu)的可能性,以求更準(zhǔn)確地?cái)M合負(fù)荷曲線的波動(dòng).集成方法與LSTM網(wǎng)絡(luò)的混合使用豐富了對(duì)城市住宅區(qū)的短期負(fù)荷預(yù)測(cè)方法.在同等條件下,將LSTM-AdaBoost集成模型與LSTM、SVM、CART決策樹等單一預(yù)測(cè)模型進(jìn)行對(duì)比,結(jié)果表明,LSTM-AdaBoost集成模型在對(duì)城市住宅區(qū)進(jìn)行負(fù)荷預(yù)測(cè)時(shí)具有更高的預(yù)測(cè)精度.在之后的研究中,可以通過(guò)修改基學(xué)習(xí)器或者集成方式的方法進(jìn)一步提升模型的預(yù)測(cè)效果.