高 翱,李國(guó)玉,撖奧洋,周生奇,魏 振,張智晟
(1.青島大學(xué)電氣工程學(xué)院,山東青島 266071;2.青島地鐵集團(tuán)有限公司,山東青島 266000;3.國(guó)網(wǎng)青島供電公司,山東青島 266002)
隨著電網(wǎng)復(fù)雜性的增加,電力系統(tǒng)對(duì)電力供需 實(shí)時(shí)平衡提出了更高的要求[1-2]。準(zhǔn)確的短期負(fù)荷預(yù)測(cè)可以幫助電網(wǎng)工作人員制定準(zhǔn)確合理的生產(chǎn)計(jì)劃,維持供需平衡,保證電網(wǎng)安全運(yùn)行[3-5]。
利用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行負(fù)荷預(yù)測(cè)屬于智能預(yù)測(cè)法。文獻(xiàn)[6]采用改進(jìn)的粒子群算法優(yōu)化循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),但是RNN 容易出現(xiàn)梯度消失和梯度爆炸現(xiàn)象。文獻(xiàn)[7]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法,LSTM 神經(jīng)網(wǎng)絡(luò)解決了循環(huán)神經(jīng)網(wǎng)絡(luò)中存在的梯度消失和梯度爆炸的問(wèn)題,但是在運(yùn)行時(shí),計(jì)算量偏大,計(jì)算時(shí)間偏長(zhǎng)。文獻(xiàn)[8]提出了一種CNN-GRU 混合神經(jīng)網(wǎng)絡(luò),利用CNN 提取特征向量,將其輸入到GRU 神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,在提高預(yù)測(cè)精度的同時(shí),也加快了模型的訓(xùn)練速度。
該文采用Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)模型,不僅解決了RNN 模型中存在的梯度消失和梯度爆炸的問(wèn)題,而且解決了LSTM 模型中存在的收斂速度較慢的問(wèn)題。Adam 算法有效解決了隨機(jī)梯度下降算法前期收斂速度慢和容易產(chǎn)生精度下降的問(wèn)題。以某地區(qū)的實(shí)際電網(wǎng)負(fù)荷數(shù)據(jù)為例,對(duì)該文提出的模型進(jìn)行仿真驗(yàn)證,證明了該模型能夠有效提高短期負(fù)荷預(yù)測(cè)的準(zhǔn)確性。
GRU是在LSTM神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上提出來(lái)的[9-10]。LSTM 神經(jīng)網(wǎng)絡(luò)由輸入門(mén)、遺忘門(mén)、輸出門(mén)組成[11-12],GRU 將LSTM 的遺忘門(mén)和輸入門(mén)合并成更新門(mén),同時(shí)將記憶單元與隱含層合并成重置門(mén),進(jìn)而讓整個(gè)結(jié)構(gòu)運(yùn)算變得更加簡(jiǎn)化且性能得以增強(qiáng)[13-15]。GRU結(jié)構(gòu)圖如圖1 所示。
圖1 GRU結(jié)構(gòu)圖
圖1 中:xt為t時(shí)刻的輸入;ht-1為t-1時(shí)刻的輸出;zt為更新門(mén),rt為重置門(mén);為t時(shí)刻隱含層的激活狀態(tài);ht為t時(shí)刻的輸出。σ為sigmoid函數(shù),可以將數(shù)據(jù)限制在0~1 范圍內(nèi);tanh 激活函數(shù)將數(shù)據(jù)放縮到-1~1 范圍內(nèi);⊕代表進(jìn)行矩陣加法操作;?代表矩陣之間按元素相乘,要求相乘兩個(gè)矩陣是同型的;1-表示運(yùn)算后的輸出為1-zt。
GRU 可由下式描述:
其中,Wz、Uz、Wr、Ur、W、U、Wy為GRU 神經(jīng)網(wǎng)絡(luò)的權(quán)值,W為輸入層到隱含層的權(quán)值,U為隱含層自身的權(quán)值,Wy為隱含層到輸出層的權(quán)值,Wz為輸入到更新門(mén)zt的權(quán)值,Uz為上一時(shí)刻隱含層到更新門(mén)zt的權(quán)值,Wr為輸入到重置門(mén)rt的權(quán)值,Ur為上一時(shí)刻隱含層到重置門(mén)rt的權(quán)值,y為神經(jīng)網(wǎng)絡(luò)的輸出,⊙表示矩陣中對(duì)應(yīng)的元素相乘。
常規(guī)的GRU 神經(jīng)網(wǎng)絡(luò)采用隨機(jī)梯度下降算法迭代更新神經(jīng)網(wǎng)絡(luò)的權(quán)重,此模型算法前期的收斂速度較慢,而且容易出現(xiàn)精度下降的問(wèn)題。為了提高預(yù)測(cè)的精度,加快模型前期的收斂速度,文中采用Adam 優(yōu)化算法并引入學(xué)習(xí)率衰減策略,對(duì)GRU 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化。
Adam 通過(guò)計(jì)算梯度的一階和二階矩估計(jì)為不同的參數(shù)設(shè)計(jì)獨(dú)立的自適應(yīng)性學(xué)習(xí)率[16]。
其算法如下:
首先,計(jì)算mt和vt的衰減平均值:
一階矩估計(jì):
二階矩估計(jì):
其中,beta1 為一階矩估計(jì)的指數(shù)衰減率;beta2為二階矩估計(jì)的指數(shù)衰減率,dx為梯度。該文令參數(shù)beta1=0.9,beta2=0.999。
第二步進(jìn)行偏差修正,通過(guò)計(jì)算偏差,修正了第一和第二矩估計(jì)。
一階矩估計(jì)、二階矩估計(jì)偏差修正:
參數(shù)更新:
其中,xt、xt+1為參數(shù)向量,參數(shù)eps是一個(gè)接近于0 的正數(shù),可以防止公式計(jì)算中分母為0;alpha代表學(xué)習(xí)率。eps=1×10-8,且參數(shù)eps的初始值為0。
該文在Adam 算法的基礎(chǔ)上引入了學(xué)習(xí)率衰減策略[17],可以加快參數(shù)的更新速度,使Adam 算法在前期的收斂速度加快,并且可以提升模型的精度。
該文采用的是分?jǐn)?shù)衰減方式,分?jǐn)?shù)衰減的公式為:
其中,epoch代表樣本集內(nèi)所有的數(shù)據(jù)經(jīng)過(guò)了一次訓(xùn)練;decayrate為衰減率。文中令參數(shù)decayrate=1,epoch=1。
隨著迭代次數(shù)的增加,學(xué)習(xí)率將以分?jǐn)?shù)衰減方式衰減,通過(guò)衰減后的學(xué)習(xí)率尋求全局最優(yōu)解。采用此方法的目的是希望減少迭代過(guò)程中收斂曲線的振蕩,提高模型收斂速度和穩(wěn)定性,得到全局最優(yōu)解。
為了避免出現(xiàn)采用學(xué)習(xí)率衰減策略時(shí)學(xué)習(xí)率衰減到零的情況,令最小學(xué)習(xí)率為0.000 5。在算法迭代過(guò)程中,當(dāng)學(xué)習(xí)率小于0.000 5 時(shí),將不再進(jìn)行學(xué)習(xí)率衰減。
為了驗(yàn)證該文模型的有效性,將某地區(qū)實(shí)際電網(wǎng)負(fù)荷數(shù)據(jù)作為算例進(jìn)行預(yù)測(cè)仿真,預(yù)測(cè)日負(fù)荷96個(gè)點(diǎn)的數(shù)據(jù)。
該文采用了15 維的輸入變量。要預(yù)測(cè)某天t時(shí)刻的負(fù)荷數(shù)據(jù),需要考慮15 維的輸入變量,包括預(yù)測(cè)日前3 天的t-1 時(shí)刻、t時(shí)刻、t+1 時(shí)刻的負(fù)荷數(shù)據(jù)(共9 維),以及預(yù)測(cè)日當(dāng)天的最低氣溫、最高氣溫、平均氣溫、天氣因素、降水概率、日類(lèi)型(共6 維)。為了使輸入數(shù)據(jù)的量綱統(tǒng)一,對(duì)輸入數(shù)據(jù)采用歸一化處理,即:
其中,X為歸一化處理之后的輸入數(shù)據(jù);x為實(shí)際的輸入數(shù)據(jù);xmax為實(shí)際輸入數(shù)據(jù)的最大值;xmin為實(shí)際輸入數(shù)據(jù)的最小值。
基于Adam 算法優(yōu)化的GRU 神經(jīng)網(wǎng)絡(luò)模型采用15-10-1 結(jié)構(gòu)。輸入維數(shù)是15 維,隱含層神經(jīng)元個(gè)數(shù)為10 個(gè),輸出維數(shù)為1 維。模型的初始學(xué)習(xí)率alpha0=0.6,經(jīng)學(xué)習(xí)率衰減后的最小學(xué)習(xí)率為0.000 5。最大迭代次數(shù)為8 000 次,在訓(xùn)練過(guò)程中,當(dāng)預(yù)測(cè)值與實(shí)際值誤差小于0.05%時(shí),終止循環(huán),將此時(shí)的權(quán)值賦給GRU 神經(jīng)網(wǎng)絡(luò)。
為了驗(yàn)證學(xué)習(xí)率衰減策略能提高預(yù)測(cè)的精度,將采用學(xué)習(xí)率衰減策略的Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)的模型與不采用學(xué)習(xí)率衰減策略的Adam 算法優(yōu)化GRU神經(jīng)網(wǎng)絡(luò)的模型進(jìn)行對(duì)比分析,如圖2所示。
圖2 有無(wú)學(xué)習(xí)率衰減策略的Adam-GRU 模型負(fù)荷預(yù)測(cè)對(duì)比圖
采用平均絕對(duì)百分比誤差EMAPE和最大相對(duì)誤差Emax來(lái)評(píng)估模型的預(yù)測(cè)效果。EMAPE如式(13)所示:
其中,n為預(yù)測(cè)負(fù)荷點(diǎn)的總個(gè)數(shù);yact(i)為i時(shí)刻負(fù)荷的真實(shí)值;ypred(i)為i時(shí)刻負(fù)荷的預(yù)測(cè)值。
由圖2 可知,不采用學(xué)習(xí)率衰減策略的Adam-GRU 負(fù)荷預(yù)測(cè)模型的EMAPE為1.78%,Emax為6.46%;采用學(xué)習(xí)率衰減策略的Adam-GRU 負(fù)荷預(yù)測(cè)模型的EMAPE為1.40%,Emax為5.38%。由此可知,學(xué)習(xí)率衰減策略有效提升了模型的預(yù)測(cè)精度。
為了驗(yàn)證基于Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測(cè)模型的有效性,將該模型與BP 神經(jīng)網(wǎng)絡(luò)模型和GRU 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比研究分析。3 種模型的負(fù)荷預(yù)測(cè)對(duì)比圖如圖3 所示。
3 種模型的誤差對(duì)比如表1 所示。對(duì)比表1 數(shù)據(jù)可知,該文模型與BP 神經(jīng)網(wǎng)絡(luò)模型相比,EMAPE下降了1.19%,Emax下降了6.60%;與常規(guī)GRU 神經(jīng)網(wǎng)絡(luò)模型相比,EMAPE下降了0.79%,Emax下降了2.34%。觀察圖3 可以看出,Adam-GRU 模型全程的預(yù)測(cè)精度更好,在負(fù)荷波峰和波谷處的誤差更小,預(yù)測(cè)數(shù)據(jù)更加接近真實(shí)值。由此可見(jiàn)該模型的預(yù)測(cè)精度更高,穩(wěn)定性更好,具有良好的可行性。
圖3 3種模型的負(fù)荷預(yù)測(cè)對(duì)比圖
表1 預(yù)測(cè)結(jié)果誤差對(duì)比
為了進(jìn)一步驗(yàn)證基于Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)模型的穩(wěn)定性,采用傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)模型、常規(guī)GRU 神經(jīng)網(wǎng)絡(luò)模型和基于Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)模型分別對(duì)該地區(qū)電網(wǎng)進(jìn)行連續(xù)一周的負(fù)荷預(yù)測(cè)。預(yù)測(cè)結(jié)果如表2 所示。
表2 連續(xù)一周預(yù)測(cè)結(jié)果誤差對(duì)比
由表2 可以看出,3 種模型的工作日誤差均比休息日誤差要小。Adam-GRU 模型與GRU 網(wǎng)絡(luò)模型相比,連續(xù)一周預(yù)測(cè)結(jié)果的EMAPE的平均值下降了0.67%,Emax的平均值下降了0.63%。與BP 網(wǎng)絡(luò)模型相比,連續(xù)一周預(yù)測(cè)結(jié)果的EMAPE的平均值下降了1.64%,Emax的平均值下降了2.35%。結(jié)果表明,基于Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測(cè)模型能夠解決常規(guī)GRU 神經(jīng)網(wǎng)絡(luò)模型中的精度下降問(wèn)題,有效提高了負(fù)荷預(yù)測(cè)的精度和穩(wěn)定性。
為了進(jìn)一步提高負(fù)荷預(yù)測(cè)的精度,該文提出了采用Adam 算法優(yōu)化GRU 神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測(cè)模型,并采用了學(xué)習(xí)率衰減策略,與隨機(jī)梯度下降算法相比,Adam 算法可以在訓(xùn)練過(guò)程中調(diào)整學(xué)習(xí)率,為不同參數(shù)產(chǎn)生自適應(yīng)的學(xué)習(xí)率。而且Adam 算法能保證模型在訓(xùn)練過(guò)程中每一次更新時(shí),上一次更新的梯度與當(dāng)前更新的梯度不會(huì)相差太大,即梯度平滑、穩(wěn)定地過(guò)渡,可以適應(yīng)不穩(wěn)定的目標(biāo)函數(shù)。后續(xù)研究工作考慮將GRU 神經(jīng)網(wǎng)絡(luò)和其他模型結(jié)合,進(jìn)一步提高預(yù)測(cè)模型的預(yù)測(cè)精度。