蔡君懿,李琪林,嚴(yán) 平
(國網(wǎng)四川省電力公司計(jì)量中心,四川 成都 610045)
隨著以新能源作為主要供給的新型電力系統(tǒng)不斷發(fā)展,為確保多元化新能源的高效消納利用并發(fā)揮主體電源的電力支撐作用,需提升電力系統(tǒng)靈活調(diào)節(jié)能力。準(zhǔn)確的電力負(fù)荷預(yù)測可以在保障電網(wǎng)的安全前提下,經(jīng)濟(jì)合理地安排電網(wǎng)內(nèi)部發(fā)電機(jī)組的啟停、安排機(jī)組檢修計(jì)劃,為電力系統(tǒng)靈活調(diào)節(jié)、供需平衡提供基礎(chǔ)。因此,電力負(fù)荷預(yù)測對于整個電力系統(tǒng)的運(yùn)營決策和控制至關(guān)重要[1]。根據(jù)時間尺度劃分,電力負(fù)荷預(yù)測一般包括3種:1)中長期負(fù)荷預(yù)測(以年度為單位給出預(yù)測結(jié)果);2)短期負(fù)荷預(yù)測(從次日到第8天的預(yù)測);3)超短期負(fù)荷預(yù)測(15 min以下的電力負(fù)荷預(yù)測)[2]。其中,短期負(fù)荷預(yù)期是電力系統(tǒng)運(yùn)行和控制所需的,所受關(guān)注最高。
短期負(fù)荷預(yù)測技術(shù)主要有統(tǒng)計(jì)學(xué)方法和機(jī)器學(xué)習(xí)方法兩類[3]。統(tǒng)計(jì)學(xué)方法包括自回歸滑動平均(auto-regressive moving average,ARMA)[4]、差分自回歸滑動平均(auto-regressive integrated moving average,ARIMA)[5]、卡爾曼濾波[6]、多元線性回歸(multiple linear regression,MLR)[7]等算法。由于基于時間序列的實(shí)際電力負(fù)荷數(shù)據(jù)存在非線性與非平穩(wěn),若單獨(dú)采用統(tǒng)計(jì)學(xué)方法進(jìn)行負(fù)荷預(yù)測,則可能會對其非線性部分或非平穩(wěn)部分預(yù)測造成缺失。為了改善此情況,基于機(jī)器學(xué)習(xí)的負(fù)荷預(yù)測方法得到了發(fā)展與應(yīng)用。其中,支持向量機(jī)[8-9]、神經(jīng)網(wǎng)絡(luò)[10-11]以及它們的拓展算法[12-15]是最常見的用于短期負(fù)荷預(yù)測的機(jī)器學(xué)習(xí)算法。為了優(yōu)化機(jī)器學(xué)習(xí)的效果,學(xué)者們使用了一些結(jié)合方法來提高預(yù)測精度,如:使用注意力機(jī)制、引入門控循環(huán)單元和時間認(rèn)知分別對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化[16-18];基于小波去噪強(qiáng)化神經(jīng)網(wǎng)絡(luò)來提升短期負(fù)荷預(yù)測需求[19];使用變分模態(tài)分解負(fù)荷時間序列再進(jìn)行支持向量機(jī)預(yù)測[20];使用主成分分析法對負(fù)荷序列進(jìn)行降維處理,提升聚類效果[21]等??偟膩碚f,機(jī)器學(xué)習(xí)算法的非線性擬合能力較強(qiáng),其短期負(fù)荷預(yù)測準(zhǔn)確度普遍優(yōu)于統(tǒng)計(jì)學(xué)方法[3]。
由于電力系統(tǒng)中負(fù)荷數(shù)量多且短期負(fù)荷特征受天氣、時間等諸多因素的影響,單一預(yù)測模型可能難以滿足預(yù)測的準(zhǔn)確性要求。因此提出了一種預(yù)測短期電力負(fù)荷的聯(lián)合模型方法,該方法基于ARIMA模型和長短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)模型的集成,以考慮兩種技術(shù)的優(yōu)勢來提升預(yù)測精度。首先,描述了ARIMA和LSTM基礎(chǔ)模型;然后,提出了基于混合粒子群優(yōu)化算法的聯(lián)合模型;最后,通過實(shí)際負(fù)荷數(shù)據(jù)對比、分析來驗(yàn)證所提方法。
不同于自回歸滑動平均(ARMA)模型只能處理平穩(wěn)序列,差分自回歸滑動平均(ARIMA)模型是一種可用于非平穩(wěn)時間序列的模型。ARIMA模型最為關(guān)鍵的3個參數(shù)是自回歸階次n、差分階次d以及滑動平均階次m,因此一般表示為ARIMA(n,d,m),是ARMA(n,m)模型的擴(kuò)展。
對于一個非平穩(wěn)的時間序列x,對第T個元素進(jìn)行一階差分的公式為
?xT=xT-xT-1=(1-B)xT
(1)
式中,B為延遲算子。
d階差分后的時間序列y為
yT=?dxT=(1-B)dxT
(2)
在ARIMA(n,d,m)模型中,若差分階次d為0,則ARIMA(n,0,m)就變?yōu)锳RMA(n,m)模型。因此,非平穩(wěn)時間序列經(jīng)過若干次的差分后會變得平穩(wěn)化,從而可構(gòu)建相應(yīng)的ARMA模型。ARMA(n,m)的第T個元素如式(3)所示[22]。
(3)
式中:εT為服從均值為0正態(tài)分布的白噪聲序列ε的第T個元素;φI為第I個自回歸系數(shù);θJ為第J個移動平均系數(shù)。
在實(shí)際運(yùn)用時,由于1階差分之后信號通??勺兊闷椒€(wěn),因此差分階次d可取1。當(dāng)信號平穩(wěn)以后,對信號進(jìn)行偏自相關(guān)計(jì)算,根據(jù)偏自相關(guān)函數(shù)的截斷項(xiàng)確定自回歸階次n;對信號進(jìn)行自相關(guān)計(jì)算,根據(jù)自相關(guān)函數(shù)的截斷項(xiàng)確定滑動平均階次m。
長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)模型的核心思想是通過加入遺忘門、輸入門和輸出門組成的高效結(jié)構(gòu),使傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)具備了學(xué)習(xí)長期信息的能力,從而解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)存在的梯度消失或梯度爆炸的問題[23],其細(xì)胞結(jié)構(gòu)如圖1所示。
圖1 LSTM細(xì)胞結(jié)構(gòu)
3個邏輯門中的主要功能[24]分別為:
1)遺忘門:決定保留或刪除t-1刻輸出ht-1的信息,并將輸入門處理后得到的狀態(tài)信息與當(dāng)前處理結(jié)果相加,生成更新后的記憶單元狀態(tài)。σ( )為sigmoid函數(shù),用于在0~1之間產(chǎn)生一個權(quán)值,其表達(dá)式為
(4)
式中,xin為函數(shù)輸入。
在遺忘門中t時刻的輸出為
ft=σ[Wf(ht-1,xin,t)+bf]
(5)
式中:xin,t為t時刻的網(wǎng)絡(luò)輸入;Wf、bf分別為遺忘門sigmoid函數(shù)的權(quán)值和偏置。
2)輸入門:通過調(diào)整新信息的權(quán)重,從而更新細(xì)胞狀態(tài)。輸入門sigmoid函數(shù)t時刻的輸出為
it=σ[Wi(ht-1,xin,t)+bi]
(6)
式中,Wi和bi分別為輸入門sigmoid函數(shù)的權(quán)值和偏置。
tanh函數(shù)的作用是將值歸一化到-1~1之間,其表達(dá)式為
(7)
輸入門tanh函數(shù)t時刻的輸出為
(8)
式中,Wc和bc分別為輸入門tanh函數(shù)的權(quán)值和偏置。利用遺忘門和輸入門的輸出即可對細(xì)胞t時刻的狀態(tài)Ct進(jìn)行更新,如式(9)所示。
(9)
3)輸出門:控制LSTM記憶模塊的輸出,其依賴于上一個記憶單元的輸出和當(dāng)前遺忘門的狀態(tài)。輸出門sigmoid函數(shù)t時刻的輸出為
Ot=σ[Wo(ht-1,xin,t)+bo]
(10)
式中,Wo和bo分別為輸出門sigmoid函數(shù)的權(quán)值和偏置。
該LSTM細(xì)胞結(jié)構(gòu)的最終輸出為
ht=OttanhCt
(11)
LSTM模型用于預(yù)測分析時,可有兩種方式:1)每次預(yù)測時,使用前一次預(yù)測結(jié)果作為函數(shù)的輸入,即使用預(yù)測值進(jìn)行預(yù)測;2)對新序列進(jìn)行預(yù)測時進(jìn)行網(wǎng)絡(luò)狀態(tài)重置,即使用觀測值進(jìn)行預(yù)測。
LSTM算法最關(guān)鍵的參數(shù)為隱藏層神經(jīng)元數(shù)量和學(xué)習(xí)率。由于LSTM模型中的3個門是全連接層,在算法執(zhí)行的過程中,會存在用隱藏層來做矩陣相乘運(yùn)算。通常,細(xì)胞數(shù)量和各隱藏層神經(jīng)元數(shù)量相同,若隱藏層神經(jīng)元太少將導(dǎo)致欠擬合,而隱藏層神經(jīng)元太多可能會導(dǎo)致過擬合并增加訓(xùn)練時間。隱藏層神經(jīng)元數(shù)量一般根據(jù)問題的復(fù)雜度和可用的計(jì)算資源進(jìn)行經(jīng)驗(yàn)調(diào)節(jié)確定。學(xué)習(xí)率是對LSTM模型進(jìn)行調(diào)整的幅度。學(xué)習(xí)率越大,模型更新的幅度也越大,模型的訓(xùn)練速度也會提高使模型不穩(wěn)定,甚至無法收斂;學(xué)習(xí)率過小則會使模型訓(xùn)練速度緩慢,也會導(dǎo)致無法收斂。一般而言,初始學(xué)習(xí)率可以設(shè)置為較小的值,然后如果模型的損失函數(shù)下降緩慢,則可以適當(dāng)增大學(xué)習(xí)率;如果模型的損失函數(shù)出現(xiàn)不穩(wěn)定或震蕩,則可以適當(dāng)減小學(xué)習(xí)率。
在模型訓(xùn)練中,若ARIMA模型得到的負(fù)荷序列為a、LSTM模型得到的負(fù)荷序列為b、相應(yīng)的實(shí)際負(fù)荷序列為s,各有n個采樣點(diǎn)。對LSTM模型負(fù)荷序列和ARIMA負(fù)荷序列分別賦予權(quán)重ω1和ω2,且ω1+ω2=1,則訓(xùn)練過程中聯(lián)合預(yù)測模型的誤差為
ε=s-ω1a-ω2b=s-ω1b-(1-ω1)b
(12)
以聯(lián)合預(yù)測模型誤差最小化作為優(yōu)化目標(biāo)求解權(quán)重,得到
ω1*=arg min|ε|=arg min[|s-ω1b-(1-ω1)b|]
(13)
為尋求最優(yōu)聯(lián)合模型權(quán)重,通過隨機(jī)優(yōu)化搜索算法進(jìn)行尋找。設(shè)置目標(biāo)函數(shù)為
(14)
設(shè)置權(quán)重搜索范圍為
0≤ω1≤1
(15)
粒子群優(yōu)化算法(particle swarm optimization,PSO)是目前常用的隨機(jī)搜索算法,具有參數(shù)少、收斂快等優(yōu)點(diǎn),其迭代公式[25]為:
vq(k+1)=Wvq(k)+c1rand(0,1)[pqbest(k)-
pq(k)]+c2rand(0,1)[pgbest(k)-
pq(k)]
(16)
xq(k+1)=xq(k)+vq(k+1)
(17)
式中:vq和xq分別為第q個個體的速度和位置;rand(0,1)為0~1之間的隨機(jī)數(shù);k為迭代次數(shù);pqbest為第q個粒子的最佳位置;pgbest為所有個體的最佳位置;c1和c2為學(xué)習(xí)因子;W為慣性權(quán)重。
由于粒子群優(yōu)化算法的種群多樣性易損失,導(dǎo)致其易發(fā)生早期收斂性。為此,使用混合粒子群優(yōu)化算法增加收斂精度,該混合粒子群優(yōu)化算法使用差分進(jìn)化(differential evolution,DE)算法的變異、交叉操作來提高粒子群優(yōu)化算法的種群多樣性,從而提高搜索準(zhǔn)確度。變異操作是基于3個隨機(jī)個體Ar1、Ar2、Ar3進(jìn)行的,第q個個體的第k次迭代表達(dá)式[26]為
Vq(k)=Ar1(k)+F×(Ar2(k)-Ar3(k))
(18)
式中,F為縮放因子。
交叉操作是將有N維分量的第q個個體的第u分量進(jìn)行交叉,其規(guī)則為
(19)
式中,C為交叉率,其值在0~1之間。
通過尋找式(19)的最小值,即可得到最優(yōu)聯(lián)合模型權(quán)重。
聯(lián)合模型預(yù)測方法的流程如圖2所示。首先,分別使用ARIMA模型和LSTM模型得到單一模型的預(yù)測結(jié)果;然后,基于混合粒子群算法求出最優(yōu)的聯(lián)合模型權(quán)重,從而對單一模型預(yù)測結(jié)果進(jìn)行合成,得到聯(lián)合模型的預(yù)測結(jié)果。
圖2 聯(lián)合模型預(yù)測方法流程
選用某地2014年12月份31天的負(fù)荷數(shù)據(jù)作為案例進(jìn)行分析驗(yàn)證[27]。負(fù)荷數(shù)據(jù)每小時檢測一次,一天共有24個數(shù)據(jù),波形曲線如圖3所示。
圖3 案例負(fù)荷數(shù)據(jù)波形
利用最大譜峰搜索對負(fù)荷數(shù)據(jù)序列進(jìn)行周期分解[28],得到周期分量和剩余非周期分量如圖4所示。可以看出其中周期分量幅值較小,所占比例較少,大部分為非周期分量。因此無法直接判斷下一周期內(nèi)的電力負(fù)荷,須使用預(yù)測模型與算法進(jìn)行預(yù)測。
圖4 案例負(fù)荷數(shù)據(jù)周期分量
為分析不同預(yù)測模型的實(shí)際效果,分別利用前10天、前20天和前30天的數(shù)據(jù)預(yù)測第11天、第21天和第31天的負(fù)荷序列,此3天的日內(nèi)負(fù)荷曲線如圖5所示。
圖5 第11天、第21天和第31天負(fù)荷曲線
負(fù)荷數(shù)據(jù)自相關(guān)與偏自相關(guān)在6階時系數(shù)為0或接近于0,且后續(xù)階數(shù)基本落在2倍標(biāo)準(zhǔn)差范圍,如圖6所示,所以n與m皆取6,從而建立模型ARIMA(6,1,6)。根據(jù)模型參數(shù)進(jìn)行程序編制,輸入進(jìn)行訓(xùn)練的負(fù)荷數(shù)據(jù),得到使用ARIMA模型預(yù)測不同日期的電力負(fù)荷序列結(jié)果如圖7所示。從圖中可以看出ARIMA模型能夠?qū)﹄娏ω?fù)荷趨勢進(jìn)行一定的預(yù)測,但是幅值上存在明顯的偏移,最大的預(yù)測誤差絕對值達(dá)到了287 MW,這是由于原始負(fù)荷數(shù)據(jù)中存在較多的非周期成分,導(dǎo)致ARIMA模型的適用性下降造成的。
圖6 負(fù)荷數(shù)據(jù)自相關(guān)與偏自相關(guān)分析
圖7 ARIMA模型預(yù)測結(jié)果
通過調(diào)節(jié),確定所使用的LSTM模型的隱藏層神經(jīng)元數(shù)量為200,學(xué)習(xí)率為0.005。使用LSTM模型預(yù)測不同日期的電力負(fù)荷序列結(jié)果如圖8所示??梢钥闯鯨STM模型均能對電力負(fù)荷進(jìn)行一定的預(yù)測,其中有重置網(wǎng)絡(luò)的LSTM模型預(yù)測結(jié)果相較于無重置網(wǎng)絡(luò)的LSTM模型預(yù)測結(jié)果更貼近于實(shí)際曲線。無重置網(wǎng)絡(luò)的LSTM模型預(yù)測結(jié)果的最大預(yù)測誤差絕對值為503 MW,而有重置網(wǎng)絡(luò)的LSTM模型預(yù)測結(jié)果的最大預(yù)測誤差絕對值僅為159 MW。進(jìn)一步以均方根誤差(root mean square error,RMSE)作為預(yù)測評價指標(biāo),表達(dá)式為
圖8 LSTM模型預(yù)測結(jié)果
(20)
有無重置網(wǎng)絡(luò)LSTM模型預(yù)測性能對比結(jié)果如表1所示。結(jié)果顯示,有重置網(wǎng)絡(luò)的LSTM模型的預(yù)測結(jié)果RMSE比無重置網(wǎng)絡(luò)的LSTM模型的預(yù)測結(jié)果RMSE至少減少了50.73%,這表明當(dāng)LSTM模型隨預(yù)測結(jié)果進(jìn)行重置網(wǎng)絡(luò)后可以大幅有效地提升預(yù)測結(jié)果性能,這是因?yàn)橹刂镁W(wǎng)絡(luò)狀態(tài)可防止先前的預(yù)測影響對新數(shù)據(jù)的預(yù)測。因此,后續(xù)使用有重置網(wǎng)絡(luò)的LSTM模型進(jìn)行聯(lián)合模型預(yù)測。
表1 有無重置網(wǎng)絡(luò)LSTM模型預(yù)測性能對比
使用混合粒子群算法,以第11天ARIMA模型和有重置網(wǎng)絡(luò)的LSTM模型預(yù)測結(jié)果進(jìn)行聯(lián)合模型權(quán)重系數(shù)尋優(yōu),得到ω1=0.908 1,ω2=0.091 9。進(jìn)一步得到第11天、第21天、第31天的聯(lián)合模型預(yù)測結(jié)果,如圖9所示。可以看出聯(lián)合模型的預(yù)測結(jié)果與實(shí)際曲線非常接近,各日期下預(yù)測誤差均較小。
圖9 聯(lián)合模型預(yù)測結(jié)果
除了所使用的ARIMA和LSTM這兩種單一模型以外,還將常用于預(yù)測分析的BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)[28]與聯(lián)合模型的結(jié)果進(jìn)行對比,如圖10所示。圖10顯示ARIMA模型的預(yù)測曲線與真實(shí)曲線的偏差較大,而LSTM模型、BPNN模型和聯(lián)合模型的預(yù)測曲線與真實(shí)曲線較為相似。
圖10 單一模型與聯(lián)合模型預(yù)測結(jié)果對比
單一模型與聯(lián)合模型預(yù)測性能對比如表2所示。從表中可以看出,LSTM模型和BPNN模型的預(yù)測效果優(yōu)于ARIMA模型預(yù)測效果,這是因此負(fù)荷序列存在非平穩(wěn)、非線性部分,機(jī)器學(xué)習(xí)方法更為適用;而聯(lián)合模型相較于單一模型取得了更好的預(yù)測精度,這是因?yàn)槁?lián)合模型可以消除單一模型在不同方向上的誤差,從而提升預(yù)測性能。綜上所述,ARIMA-LSTIM聯(lián)合模型的預(yù)測精度最優(yōu),可以較準(zhǔn)確地對短期電力負(fù)荷進(jìn)行預(yù)測。
表2 單一模型與聯(lián)合模型預(yù)測性能對比
為進(jìn)一步提高短期電力負(fù)荷預(yù)測的準(zhǔn)確度,上面提出了基于ARIMA和LSTM的聯(lián)合模型,實(shí)現(xiàn)對電力系統(tǒng)短期負(fù)荷進(jìn)行精準(zhǔn)預(yù)測。實(shí)驗(yàn)驗(yàn)證結(jié)果表明:
1)混合粒子群算法可以準(zhǔn)確計(jì)算出聯(lián)合模型中各單一模型的最優(yōu)權(quán)重,實(shí)現(xiàn)基于ARIMA和LSTM單一模型的聯(lián)合優(yōu)化;
2)相較于單一預(yù)測模型,ARIMA-LSTM聯(lián)合模型可以消除單一模型在不同方向上的誤差,使短期電力負(fù)荷預(yù)測精度提升,具有較高的工程實(shí)用價值。
所提方法為多種負(fù)荷預(yù)測算法的聯(lián)合使用提供了一種思路,除所使用的ARIMA和LSTM算法以外,所提出的算法聯(lián)合使用計(jì)算方法,也望應(yīng)用于其他算法來提高短期電力負(fù)荷預(yù)測精度。