趙 輝,楊 賽,岳有軍,王紅君
(1.天津理工大學(xué)天津市復(fù)雜系統(tǒng)控制理論與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津 300384;2.天津農(nóng)學(xué)院工程技術(shù)學(xué)院,天津 300392)
隨著中國經(jīng)濟(jì)社會的發(fā)展,用電需求量不斷增加,提高負(fù)荷預(yù)測準(zhǔn)確性顯得更加重要。負(fù)荷預(yù)測精度越高,用電設(shè)備的利用率越高,越能減少能源浪費(fèi)。短期負(fù)荷預(yù)測是負(fù)荷預(yù)測的重要組成部分,它對于經(jīng)濟(jì)調(diào)度,市場交易,最優(yōu)潮流以及電力系統(tǒng)安全穩(wěn)定運(yùn)行有著重要意義[1]。
長期以來,中外專家學(xué)者對提高負(fù)荷預(yù)測精度進(jìn)行了大量的探索與實(shí)驗(yàn),提出了不同的預(yù)測方法,如最小二乘法、回歸分析法、灰色系統(tǒng)理論、支持向量機(jī)[2]、人工神經(jīng)網(wǎng)絡(luò)[3]、組合預(yù)測等方法。由于負(fù)荷數(shù)據(jù)的非平穩(wěn)性,目前大多數(shù)學(xué)者在進(jìn)行負(fù)荷預(yù)測之前都會對數(shù)據(jù)進(jìn)行預(yù)處理,讓數(shù)據(jù)的平穩(wěn)性增強(qiáng),提高模型預(yù)測精度。文獻(xiàn)[4]采用極點(diǎn)對稱模態(tài)分解對歷史數(shù)據(jù)進(jìn)行分解,通過計(jì)算樣本熵對分解后的序列進(jìn)行重構(gòu),降低了序列的非平穩(wěn)性,提高了預(yù)測精度;文獻(xiàn)[5]提出了一種基于小波分解和灰色神經(jīng)網(wǎng)絡(luò)模型結(jié)合單位根檢驗(yàn)(augmented Dickey-Fuller,ADF)的短期負(fù)荷預(yù)測方法,來提高負(fù)荷預(yù)測的準(zhǔn)確性;由于短期負(fù)荷預(yù)測不僅與歷史負(fù)荷數(shù)據(jù)有關(guān),同時還會受到日期類型、大型節(jié)假日、溫度等外界因素的影響,因此文獻(xiàn)[6]將歷史負(fù)荷數(shù)據(jù)、氣象信息、日期信息構(gòu)造特征圖作為輸入,利用卷積神經(jīng)網(wǎng)絡(luò)對特征進(jìn)行提取,通過雙向門控循環(huán)單元、全連接神經(jīng)網(wǎng)絡(luò)的混合模型得到預(yù)測結(jié)果;文獻(xiàn)[7]提出了一種聚類和前饋神經(jīng)網(wǎng)絡(luò)組合的混合模型,預(yù)測短期公共汽車的負(fù)荷。通過仿真實(shí)驗(yàn)與其他不同的聚類模型預(yù)測結(jié)果進(jìn)行對比,表明該模型具有較好的魯棒性,預(yù)測精度更高。
支持向量機(jī)是基于統(tǒng)計(jì)學(xué)理論提出的,建立在結(jié)構(gòu)風(fēng)險最小原理基礎(chǔ)上。支持向量機(jī)的出現(xiàn)有效地解決了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中結(jié)果容易陷入局部極小值、過擬合等問題,其中支持向量回歸(support vector regression,SVR)是支持向量機(jī)在函數(shù)回歸領(lǐng)域的應(yīng)用。文獻(xiàn)[8]采用最小二乘法來改進(jìn)支持向量機(jī)算法,簡化了計(jì)算的復(fù)雜度,不僅加快了計(jì)算速度,精度也有所提高??梢娭С窒蛄繖C(jī)在提高數(shù)據(jù)預(yù)測精度方面具有優(yōu)勢,但對輸入數(shù)據(jù)要求很高,通常需要搭配其他算法聯(lián)合使用,存在計(jì)算速度慢、占用內(nèi)存大等問題[9];文獻(xiàn)[10]提出了一種支持向量機(jī)的大壩變形預(yù)測模型,然后通過改進(jìn)的灰狼算法對其優(yōu)化,預(yù)測精度有所提高。表明支持向量機(jī)對時序數(shù)據(jù)具有不錯的預(yù)測精度,但是存在一些弊端,只適用于樣本數(shù)量少的情況;近年來,深度學(xué)習(xí)在預(yù)測方向應(yīng)用廣泛,其思想主要來自對人工神經(jīng)網(wǎng)絡(luò)的研究。深度學(xué)習(xí)具有逼近復(fù)雜函數(shù)功能的能力,并且可以準(zhǔn)確地提高負(fù)荷預(yù)測的精度。文獻(xiàn)[11]提出了一種帶注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)-門控循環(huán)單元(convolutional neural network-gated recurrent unit,CNN-GRU)負(fù)荷預(yù)測模型。其中GRU網(wǎng)絡(luò)是長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)的一種變體,其簡化了LSTM的結(jié)構(gòu)參數(shù),只包含更新門和重置門,與LSTM模型相比收斂速度更快。該模型將負(fù)荷數(shù)據(jù)作為輸入,通過CNN網(wǎng)絡(luò)的卷積層可充分提取數(shù)據(jù)的隱含特征,提高了預(yù)測準(zhǔn)確度。
針對上述問題以及不同模型的優(yōu)勢,可以將神經(jīng)網(wǎng)絡(luò)算法和支持向量機(jī)進(jìn)行結(jié)合,利用神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)的特征進(jìn)行提取,再通過支持向量機(jī)對提取的特征進(jìn)行預(yù)測,這樣不僅降低了模型訓(xùn)練的難度,同時也提高了預(yù)測精度[12-14]。
因此,現(xiàn)提出一種基于小波分解的卷積神經(jīng)網(wǎng)絡(luò)和支持向量回歸機(jī)的短期負(fù)荷預(yù)測組合模型。將輸入的負(fù)荷數(shù)據(jù)、日期、天氣因素進(jìn)行劃分,分別輸入不同的預(yù)測模型,最后通過CNN的全連接層進(jìn)行拼接輸出到SVR模型中,獲得最終的預(yù)測結(jié)果。通過與傳統(tǒng)方法以及輸入不劃分的模型進(jìn)行對比,證明方法的預(yù)測效率和精度。
小波變換是繼承了傅里葉變換局部化思想的一種新的變換分析方法,克服了窗口大小不隨頻率變化的缺點(diǎn)。其主要特點(diǎn)是通過變換能突出某些問題的特征,對時間和空間的頻率進(jìn)行局部分析,通過伸縮平移運(yùn)算對信號進(jìn)行逐步細(xì)分。該方法被廣泛應(yīng)用在信號處理、圖像處理、語音處理等領(lǐng)域[15]。
小波是函數(shù)空間L2(R)中滿足下述條件的一個函數(shù)或者信號ψ(x),表達(dá)式為
(1)
將小波函數(shù)ψ(x)經(jīng)過平移伸縮變換得
(2)
式(2)中:a、b均為常數(shù),且a>0,其中a為伸縮因子,b為平移因子。
對信號f(x)的連續(xù)小波變換為
(3)
其逆變換為
(4)
對信號f(x)的離散小波變換為
(5)
其逆變換為
(6)
式(6)中:N是一個與信號無關(guān)的常數(shù)。
由于負(fù)荷歷史數(shù)據(jù)是一種離散的時間序列數(shù)據(jù),采用離散小波分解算法對非平穩(wěn)的離散數(shù)據(jù)進(jìn)行分解,由于分解后的序列長度不同,需要重構(gòu)得到長度相同且頻率不同的序列。選用部分歷史負(fù)荷數(shù)據(jù)進(jìn)行離散小波分解重構(gòu)后結(jié)果如圖1所示。
圖1 小波分解與重構(gòu)結(jié)果Fig.1 Wavelet decomposition and reconstruction results
卷積神經(jīng)網(wǎng)絡(luò)是1989年由紐約大學(xué)Lecun提出的一種專門用來處理具有類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),例如時間序列數(shù)據(jù)和圖像數(shù)據(jù)等。卷積神經(jīng)網(wǎng)絡(luò)可以看作是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的改進(jìn),都采用了層級網(wǎng)絡(luò)結(jié)構(gòu)。其本質(zhì)是一種從輸入到輸出的映射,能夠?qū)W習(xí)大量的映射關(guān)系。CNN網(wǎng)絡(luò)主要由輸入層、卷積層、池化層和輸出層構(gòu)成,其中輸入層主要是對原始數(shù)據(jù)進(jìn)行預(yù)處理,包括去均值、歸一化。卷積計(jì)算層有兩個重要的操作:局部關(guān)聯(lián)和窗口滑動。池化層位于兩個卷積層中間,用于壓縮數(shù)據(jù),減小過擬合。全連接層在CNN網(wǎng)絡(luò)的尾部,將池化層的輸出數(shù)據(jù)進(jìn)行拼接。CNN網(wǎng)絡(luò)最主要的優(yōu)勢在于權(quán)值共享的特殊結(jié)構(gòu),降低了網(wǎng)絡(luò)的復(fù)雜性,對高維數(shù)據(jù)的處理無壓力。同時CNN也避免了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)反向傳播梯度損失過快的缺點(diǎn)[16]。CNN結(jié)構(gòu)如圖2所示。
圖2 CNN結(jié)構(gòu)Fig.2 CNN structure
支持向量機(jī)(support vector machines,SVM)是基于統(tǒng)計(jì)學(xué)理論提出的,建立在結(jié)構(gòu)風(fēng)險最小原理基礎(chǔ)上的,利用有限的樣本信息在學(xué)習(xí)精度和學(xué)習(xí)時間方面達(dá)到最佳,得到最好的泛化能力[17]。當(dāng)把SVM用于回歸問題時就產(chǎn)生了支持向量回歸(support vector regression,SVR)。SVR尋求的最優(yōu)超平面是使樣本離超平面的總方差最小。非線性SVR的基本思想是通過事先確定的非線性映射,將輸入向量映射到一個高維特征空間中并在高維空間中進(jìn)行線性回歸,得到在原空間非線性回歸的效果[18]。其推導(dǎo)過程如下。
假設(shè)給定樣本D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈R,希望通過學(xué)習(xí)得到一個形如f(x)=ωTx+b的回歸模型,使得f(x)與y盡可能地接近,其中ω和b是待定的模型參數(shù)。于是,SVR問題可以表示為
(7)
式(7)中:C為正則化常數(shù);l∈為不敏感損失函數(shù),表達(dá)式為
(8)
(9)
(10)
(11)
(12)
(13)
C=αi+μi
(14)
(15)
將式(12)~式(15)代入式(11)中,即得到SVR的對偶問題,表達(dá)式為
(16)
(17)
通過求解上述問題,SVR的決策函數(shù)可表示為
(18)
式(18)中:k(x,xi)=φ(xi)Tφ(xj)為核函數(shù)。
結(jié)合上述模型的原理及優(yōu)勢,提出了一種基于小波分解的卷積神經(jīng)網(wǎng)絡(luò)支持向量回歸機(jī)的負(fù)荷預(yù)測模型。由于短期負(fù)荷預(yù)測的最大特點(diǎn)是具有明顯的周期性,主要包括3個方面:①不同日之間24 h整體變化規(guī)律具有相似性;②不同周,同一星期類型日的相似性;③工作日相似性,休息日相似性。
因此選擇相近負(fù)荷與相似負(fù)荷作為歷史負(fù)荷數(shù)據(jù),其中相似負(fù)荷取值為預(yù)測負(fù)荷點(diǎn)前7 d同一時刻的負(fù)荷值;相近負(fù)荷為預(yù)測點(diǎn)前一天的負(fù)荷值。
本文模型預(yù)測具體步驟如下。
步驟一收集原始負(fù)荷數(shù)據(jù)以及對應(yīng)的每日最高溫度、最低溫度、平均濕度、降雨量等輔助天氣因素。
步驟二對收集到的數(shù)據(jù)進(jìn)行預(yù)處理,進(jìn)行小波分解重構(gòu)。
步驟三將重構(gòu)后的數(shù)據(jù)進(jìn)行特征構(gòu)造,其中將負(fù)荷數(shù)據(jù)構(gòu)造成相似日負(fù)荷數(shù)據(jù)和相近日負(fù)荷數(shù)據(jù),將不同的天氣因素進(jìn)行Pearson相關(guān)性分析,構(gòu)造天氣特征輸入。
步驟四對數(shù)據(jù)集進(jìn)行劃分,搭建預(yù)測模型,將負(fù)荷數(shù)據(jù)與天氣數(shù)據(jù)分為兩部分分別輸入到不同的模型中進(jìn)行訓(xùn)練,最后通過SVR模型得到預(yù)測結(jié)果。將數(shù)據(jù)分為兩部分訓(xùn)練有利于模型更好地學(xué)習(xí)各自的特征,提高預(yù)測精度。
步驟五計(jì)算平均絕對誤差和均方根誤差來判斷預(yù)測結(jié)果的合理性。
輸入劃分的CNN-SVR模型預(yù)測流程,如圖3所示。
圖3 模型整體預(yù)測流程Fig.3 Model overall forecasting process
采用電工數(shù)學(xué)建模競賽提供的數(shù)據(jù)集,該數(shù)據(jù)集中包含了2009—2015年的負(fù)荷歷史數(shù)據(jù)和2012—2015年的日最高溫度、最低溫度、平均濕度、降雨量等輔助天氣信息。以2012年1月1日—12月31日的負(fù)荷數(shù)據(jù)和同期的天氣因素作為訓(xùn)練集,對2013年1月1日的負(fù)荷值進(jìn)行預(yù)測。編程環(huán)境為python3.6。
選取2012年1月1—3日連續(xù)3 d的負(fù)荷數(shù)據(jù)畫出負(fù)荷曲線,如圖4所示,根據(jù)2012年一整年的負(fù)荷數(shù)據(jù)畫出負(fù)荷曲線,如圖5所示。
由圖4和圖5可知,負(fù)荷數(shù)據(jù)與年、月、日、節(jié)假日有很大的相關(guān)性,同時在連續(xù)的時間內(nèi)會有相似的波動性。
圖4 連續(xù)3 d負(fù)荷變化曲線Fig.4 Load change curve for three consecutive days
圖5 2012年全年的負(fù)荷變化曲線Fig.5 Load change curve for the whole year of 2012
為使模型訓(xùn)練方便,此次實(shí)驗(yàn)采用數(shù)據(jù)歸一化處理的方法,將數(shù)據(jù)轉(zhuǎn)換到[-1,1]范圍內(nèi),加快訓(xùn)練速度,歸一化公式為
(19)
Pearson相關(guān)系數(shù)是用來衡量變量間相關(guān)性的一種統(tǒng)計(jì)學(xué)方法,其相關(guān)性大小由r決定,r的計(jì)算公式為
(20)
其中相關(guān)系數(shù)r的取值范圍為[-1,1]。相關(guān)性強(qiáng)度如表1所示。
由于負(fù)荷預(yù)測結(jié)果不僅與歷史負(fù)荷數(shù)據(jù)有關(guān),同時還受到最高溫度、最低溫度、平均溫度、平均濕度、降雨量等氣象因素影響。因此對同期的輔助因素進(jìn)行了相關(guān)性分析,分析結(jié)果如表2所示。
表1 |r|的相關(guān)性強(qiáng)度Table 1 |r|correlation strength
表2 氣象因素與負(fù)荷數(shù)據(jù)的相關(guān)性Table 2 Correlation between meteorological factors and load data
由表2可知,最高溫度、最低溫度、平均溫度與負(fù)荷數(shù)據(jù)具有中等程度的相關(guān)性,而平均濕度和降雨量與負(fù)荷數(shù)據(jù)具有極弱的相關(guān)性。因此為了保證預(yù)測結(jié)果的準(zhǔn)確性,把以上氣象因素均作為輸入數(shù)據(jù)對模型進(jìn)行訓(xùn)練。
基于Keras深度學(xué)習(xí)框架來進(jìn)行仿真實(shí)驗(yàn),通過對CNN模型、SVR模型、劃分輸入的CNN-SVR模型和不劃分輸入的CNN-SVR模型進(jìn)行訓(xùn)練,對未來一天的負(fù)荷值進(jìn)行預(yù)測,驗(yàn)證本文模型的優(yōu)勢。其中SVR模型負(fù)荷預(yù)測的仿真結(jié)果如圖6所示。
由圖6可以看出,SVR模型的預(yù)測值曲線與真實(shí)值曲線有很大的偏差,預(yù)測效果很差。
CNN模型負(fù)荷預(yù)測結(jié)果如圖7所示。
圖6 SVR模型負(fù)荷預(yù)測結(jié)果Fig.6 SVR model load forecast results
圖7 CNN模型負(fù)荷預(yù)測結(jié)果Fig.7 CNN model load prediction results
由圖7可以看出,CNN模型的預(yù)測曲線與真實(shí)值曲線有較小的偏差,大部分的點(diǎn)預(yù)測值和真實(shí)值重合,預(yù)測效果比SVR模型有了很大的提高。
輸入數(shù)據(jù)不劃分和劃分的CNN-SVR模型負(fù)荷預(yù)測結(jié)果如圖8和圖9所示。由圖8和圖9可以看出,輸入數(shù)據(jù)劃分的CNN-SVR模型預(yù)測效果要比輸入數(shù)據(jù)不劃分的CNN-SVR模型預(yù)測效果有所改善。不同模型負(fù)荷預(yù)測結(jié)果對比如圖10所示。
圖8 輸入不分的CNN-SVR模型預(yù)測結(jié)果Fig.8 The prediction results of the CNN-SVR model without distinction of input
圖9 劃分輸入的CNN-SVR模型預(yù)測結(jié)果Fig.9 The prediction results of the CNN-SVR model divided into the input
為了更清楚地比較這幾種預(yù)測模型的預(yù)測精度,選取了平均絕對百分比誤差(mean absolute percentage error,MAPE)和均方根誤差(root mean squared error,RMSE)作為模型預(yù)測結(jié)果的評價指標(biāo)。其計(jì)算公式為
(21)
(22)
經(jīng)計(jì)算,得到本文模型和對比模型的MAPE和RMSE,如表3所示。
表3 不同模型誤差對比Table 3 Error comparison of different models
由表3可以看出,SVR模型的MAPE和RMSE值均高于其他模型,所以SVR模型的預(yù)測效果不好,精度最低;而CNN模型的預(yù)測誤差比SVR模型低很多,主要因?yàn)镾VR模型主要通過公式求解模型權(quán)重,當(dāng)訓(xùn)練數(shù)據(jù)較多時難以運(yùn)行,因此導(dǎo)致預(yù)測精度不高,而CNN模型成功地避免了這一問題,在輸入數(shù)據(jù)較多的情況,預(yù)測結(jié)果更準(zhǔn)確;輸入數(shù)據(jù)不劃分的CNN-SVR模型與單一的CNN模型相比,MAPE降低了5.73%,RMSE降低了4.82%,預(yù)測精度更高,由圖8可以看出,SVR的加入降低了模型的過擬合;同時,可以看出本文模型輸入數(shù)據(jù)劃分的CNN-SVR模型MAPE和RMSE的值均最低,與不劃分的模型相比分別降低了48.65%、37.83%,預(yù)測效果更好。主要因?yàn)檩斎霐?shù)據(jù)既包含了負(fù)荷數(shù)據(jù),也包含了天氣數(shù)據(jù),而負(fù)荷數(shù)據(jù)具有時間關(guān)聯(lián)性,天氣特征數(shù)據(jù)則沒有時間關(guān)聯(lián)性,因此將兩部分輸入數(shù)據(jù)分別輸入兩個模型中,不僅提高了模型的學(xué)習(xí)能力,也提高了訓(xùn)練速度。
提出了一種考慮天氣因素,輸入數(shù)據(jù)劃分的小波分解CNN-SVR的短期負(fù)荷預(yù)測模型,并與SVR模型、CNN模型和輸入不劃分的CNN-SVR模型預(yù)測結(jié)果進(jìn)行對比,得出以下結(jié)論。
(1)小波分解與重構(gòu)對原始負(fù)荷數(shù)據(jù)進(jìn)行預(yù)處理,有效地降低了原始負(fù)荷數(shù)據(jù)的隨機(jī)性和非平穩(wěn)性,為負(fù)荷預(yù)測提供了保障。
(2)考慮到相似負(fù)荷數(shù)據(jù)和相近負(fù)荷數(shù)據(jù)對負(fù)荷預(yù)測的重要性,將相似負(fù)荷和相近負(fù)荷作為模型的輸入負(fù)荷數(shù)據(jù),可以有效提高預(yù)測精度。
(3)考慮到天氣因素對負(fù)荷預(yù)測的重要影響,將天氣數(shù)據(jù)作為輸入的一部分,采用CNN和BP兩個模型對負(fù)荷數(shù)據(jù)和天氣數(shù)據(jù)進(jìn)行訓(xùn)練,最后通過卷積神經(jīng)網(wǎng)絡(luò)的全連接層將兩部分?jǐn)?shù)據(jù)進(jìn)行拼接,輸出到SVR模型中,得到最終預(yù)測結(jié)果。預(yù)測精度得到提高。