趙倩,鄭貴林
(武漢大學(xué) 電氣與自動(dòng)化學(xué)院, 武漢 430072)
隨著經(jīng)濟(jì)社會(huì)的發(fā)展,電力需求呈現(xiàn)出不斷飆升與峰谷差愈來愈顯著的態(tài)勢,因此,需求側(cè)負(fù)荷預(yù)測成為電力系統(tǒng)源-網(wǎng)-荷協(xié)調(diào)調(diào)度的一項(xiàng)重要技術(shù)。準(zhǔn)確的需求側(cè)負(fù)荷預(yù)測,對于電力供需平衡、電力系統(tǒng)穩(wěn)定、保障電力服務(wù)、有效地降低發(fā)電成本等有著重大意義。
許多學(xué)者對需求側(cè)負(fù)荷預(yù)測開展了多方位的研究,提出了多種預(yù)測方法,如線性外推法、回歸分析法、時(shí)間序列法、小波分析法、人工神經(jīng)網(wǎng)絡(luò)法、支持向量機(jī)法以及組合預(yù)測法等[1-8]。
由于電力需求側(cè)的特點(diǎn),千家萬戶、千變?nèi)f化、千姿百態(tài),具有隨機(jī)變化性強(qiáng),非線性顯著,近年來,對于需求側(cè)負(fù)荷預(yù)測的研究工作也傾向于先對負(fù)荷進(jìn)行分解之后再進(jìn)行預(yù)測,也產(chǎn)生了很多負(fù)荷分解方法,如小波分解法[9]、改進(jìn)局域均值分解法[10]、頻域分解法[11]等。
由于單一的預(yù)測方法都有其局限性,因此組合預(yù)測的方法應(yīng)運(yùn)而生。第一類方法是進(jìn)行多組單一方法預(yù)測,將預(yù)測結(jié)果通過權(quán)重分配進(jìn)行組合得到預(yù)測結(jié)果。但是,基于權(quán)重的組合預(yù)測算法中模型的拓展性較差。第二類方法即為負(fù)荷分解的方法,最常用的是小波變化和EMD分解。
小波分解適用于分解非平穩(wěn)信號(hào)且分解速度較快,文中將電力負(fù)荷數(shù)據(jù)通過小波分解的方法分解為頻率不同的若干分量,對較為平穩(wěn)的低頻分量建立PSO-LSSVM預(yù)測模型進(jìn)行預(yù)測,對變化較大的高頻分量通過LSTM網(wǎng)絡(luò)進(jìn)行預(yù)測,將所得結(jié)果疊加還原,得到最后的預(yù)測結(jié)果。
小波變換是在克服傅里葉變換缺點(diǎn)的基礎(chǔ)上發(fā)展而來的一種新的變換方法。它是一種在時(shí)間和頻域的局域變換,主要通過對信號(hào)的伸縮平移運(yùn)算實(shí)現(xiàn)對信號(hào)的多尺度細(xì)化,它能夠提供目標(biāo)信號(hào)各個(gè)頻率子段的頻率信息,非常適用于非穩(wěn)定信號(hào)的分析。
文中利用小波分解算法將用電量離散時(shí)間序列分解為不同頻率的分量,但是分解后得到的分量長度不同,而且長度不同于原始數(shù)據(jù),因此需要對這些分量進(jìn)行小波重構(gòu)[12],進(jìn)而得到和原始數(shù)據(jù)長度相等、頻率不同的分量,如圖1所示。
圖1 小波分解與重構(gòu)結(jié)果
圖1中,s為原數(shù)據(jù)波形;a5為變化緩慢的低頻分量,包含信號(hào)的低頻信息;d1、d2、d3、d4、d5是變化迅速的高頻分量,包含信號(hào)的高頻信息。
對于訓(xùn)練集中的一個(gè)樣(xi,yi),其函數(shù)間隔為:
ri=yi(Wxi+b)
(1)
訓(xùn)練集的函數(shù)間隔等于所有樣本點(diǎn)的函數(shù)間隔的最小值:
(2)
函數(shù)間隔只能表示分類預(yù)測的正確性,不能表示樣本到分隔超平面的準(zhǔn)確距離。
對于訓(xùn)練集中的一個(gè)樣本(xi,yi),其幾何間隔為:
(3)
訓(xùn)練集的幾何間隔等于所有樣本點(diǎn)的幾何間隔的最小值:
(4)
幾何間隔不但可以表示分類預(yù)測的正確性還能準(zhǔn)確地表示樣本到分隔超平面的距離。
SVM的優(yōu)化問題轉(zhuǎn)化為最大化訓(xùn)練樣本的幾何距離:
(5)
s.t.yi(Wxi+b)≥r,i=1,2,…m
(6)
函數(shù)間隔的取值不會(huì)影響最優(yōu)問題的解,將訓(xùn)練樣本的函數(shù)間隔取值為1,上述問題轉(zhuǎn)化為:
(7)
s.t.yi(Wxi+b)≥1,i=1,2,…m
(8)
由此可知SVM的優(yōu)化問題是一個(gè)帶有分等式約束的QP(Quandratic Programming)問題。
LSSVM將SVM優(yōu)化問題的非等式約束用等式約約束替換,具體形式如下:
(9)
s.t.yi(Wxi+b)=1,i=1,2,…m
(10)
為了解決存在部分特異點(diǎn)的情況,給每一個(gè)樣本引入誤差變量ei,并在原始函數(shù)中加入誤差變量的L2正則項(xiàng),這樣LSSVM的優(yōu)化問題就轉(zhuǎn)化為:
(11)
s.t.yi(Wxi+b)=1-ei,i=1,2,…m
(12)
式中C為正則化參數(shù),對于非線性可分的訓(xùn)練樣本,可以將原始樣本從映射到更高的線性可分的空間中,φ(xi)將xi映射到更高維空間中。LSSVM的優(yōu)化問題是一個(gè)帶有等式的約束的QP問題,為求解該問題,先列出上述優(yōu)化問題的Lagrange函數(shù):
(13)
式中αi表示對應(yīng)于xi的lagrange乘子。lagrange函數(shù)對各個(gè)變量進(jìn)行求道,并使導(dǎo)數(shù)為零:
(14)
(15)
(16)
(17)
(18)
(19)
粒子群優(yōu)化算法(PSO)是通過模擬鳥群覓食行為而發(fā)展起來的一種基于群體協(xié)作的隨機(jī)搜索算法。
PSO初始化為一群隨機(jī)粒子,然后通過迭代找到最優(yōu)解,每次迭代粒子通過跟蹤兩個(gè)“極值”來更新自己,即個(gè)體最優(yōu)解和種群最優(yōu)解。所有的粒子通過一個(gè)適應(yīng)度函數(shù)確定本身的適應(yīng)值,用以判斷目前位置的好壞。每個(gè)粒子僅具備速度和位置屬性。
PSO的標(biāo)準(zhǔn)形式如式(20)、式(21)所示:
vi=ω×vi+c1×rand()×(pbestt-xi)+c2×rand()×(gbesti-xi),i=1,2,3…N
(20)
xi=xi+vi
(21)
(22)
式中ω為慣性權(quán)重;vi為粒子的速度;N為種群粒子數(shù);rand()為介于(0,1)之間的隨機(jī)數(shù);xi為粒子的當(dāng)前位置;c1和c2為學(xué)習(xí)因子;pbesti表示粒子經(jīng)過的最好位置;gbesti表示種群所經(jīng)歷的最好位置。粒子通過pbestt和gbesti兩個(gè)極值來更新自己。文章采用典型線性遞減策略來確定慣性權(quán)重,如式(22)所示,ωmax為慣性權(quán)重最大值,ωmin為慣性權(quán)重最小值,t為當(dāng)前迭代次數(shù),tmax為總的迭代次數(shù)。
LSTM網(wǎng)絡(luò)是一種具有記憶的神經(jīng)網(wǎng)絡(luò)模型,使得處理時(shí)序的屬性數(shù)據(jù)具有很好的效果。標(biāo)準(zhǔn)LSTM網(wǎng)絡(luò)架構(gòu)中的核心單元。主要通過通入門、遺忘門以及輸出門這三個(gè)門達(dá)到了對網(wǎng)絡(luò)具有記憶效果?;镜腖STM網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 LSTM結(jié)構(gòu)示意圖
遺忘門決定從狀態(tài)中丟棄什么信息,主要通過sigmoid函數(shù)去參考上一次的結(jié)果與當(dāng)前的內(nèi)容,其數(shù)學(xué)模型為:
ft=σ(Wf[ht-1,xt]+bf)
(23)
式中h為上一次輸出的結(jié)果;x為當(dāng)前輸入的信息;ft為輸出0到1的概率;Wf和bf為遺忘門權(quán)重矩陣和偏置項(xiàng);σ表示sigmoid函數(shù)。
輸入門作用是控制哪些信息被放入細(xì)胞狀態(tài)值中,其數(shù)學(xué)模型如式(24)和式(25)所示:
it=σ(Wi[ht-1,xt]+bi)
(24)
(25)
(26)
式中ft表示遺忘門。
輸出門確定細(xì)胞狀態(tài)的哪個(gè)部分將輸出,其數(shù)學(xué)模型為:
σt=σ(Wo[ht-1,xt]+bo)
(27)
ht=ot*tanh (Ct)
(28)
式中ot為輸出門的輸出;tanh為激活函數(shù)。
該模型的主要思想是將用電量時(shí)間序列進(jìn)行小波分解之后得到不同頻率的分量,對各分量進(jìn)行小波重構(gòu),然后對低頻分量構(gòu)建LSSVM預(yù)測模型,通過PSO算法找到LSSVM模型的最佳參數(shù),對高頻分量構(gòu)建LSTM模型進(jìn)行預(yù)測,將預(yù)測結(jié)果疊加在一起得到最終的預(yù)測結(jié)果。
如圖3所示,在LSSVM建模過程中,重要的一個(gè)步驟是確定兩個(gè)參數(shù)C和σ。只有設(shè)置合適的參數(shù)才能使模型得到較好的預(yù)測效果。
圖3 WD-LSSVM-LSTM預(yù)測模型流程圖
LSSVM建模的步驟如下:
步驟一:確定輸入,對輸入進(jìn)行預(yù)處理并進(jìn)行標(biāo)準(zhǔn)化;
步驟二:形成訓(xùn)練樣本;
步驟三:確定參數(shù)C和σ;
步驟四:計(jì)算α、b參數(shù),建立LSSVM預(yù)測模型;
步驟五:進(jìn)行短期負(fù)荷預(yù)測。
為了使預(yù)測效果達(dá)到最大化,通過粒子群算法對LSSVM方法的核函數(shù)參數(shù)進(jìn)行優(yōu)化,建立PSO-LSSVM模型。
粒子群優(yōu)化算法尋找最小二乘支持向量機(jī)最優(yōu)參數(shù)的步驟如下:
步驟1:設(shè)定參數(shù)。設(shè)置粒子群優(yōu)化算法的搜索范圍:C∈[0.1,100],σ∈[0.1,10];粒子數(shù)m=20;加速常數(shù)c1=c2=2;
步驟2:在速度區(qū)間和搜索空間上隨機(jī)初始化粒子速度和位置;
步驟3:定義適應(yīng)度函數(shù)。將pbesti和gbesti作為支持向量機(jī)的C和σ參數(shù)代入LSSVM模型,通過式(30)計(jì)算出每個(gè)粒子的適應(yīng)值,式中fi為第i個(gè)粒子的適應(yīng)值,n為樣本個(gè)數(shù),yij為第i個(gè)粒子的第j個(gè)樣本的模型預(yù)測值,Yj為第j個(gè)樣本的模型期望值。適應(yīng)值最小的粒子的值記為前群體的最優(yōu)位置。
(29)
步驟4:按照式(20)、式(21)更新粒子速度和位置。重復(fù)步驟3,計(jì)算更新后的每個(gè)粒子的適應(yīng)值。最小值對應(yīng)的粒子的兩個(gè)極值作為LSSVM的最優(yōu)參數(shù);
步驟5:達(dá)到迭代次數(shù)后就結(jié)束搜索計(jì)算過程;
步驟6:將最優(yōu)解作為LSSVM的參數(shù),代入模型后進(jìn)行負(fù)荷預(yù)測。
針對隨機(jī)性較強(qiáng)的負(fù)荷分量,LSTM神經(jīng)網(wǎng)絡(luò)既有較強(qiáng)的非線性擬合能力,并且能夠挖掘時(shí)間序列自身特征,使得預(yù)測結(jié)果盡可能準(zhǔn)確。因此通過LSTM神經(jīng)網(wǎng)絡(luò)來預(yù)測負(fù)荷的高頻分量。
WD-LSTM建模過程如下:
(1)采用WD分解技術(shù)將輸入負(fù)荷分解成頻率不同的分量;
(2)對分解后得到的負(fù)荷分量數(shù)據(jù)進(jìn)行預(yù)處理,對數(shù)據(jù)進(jìn)行歸一化處理;
(3)實(shí)現(xiàn)LSTM模型,需要設(shè)置網(wǎng)絡(luò)的相關(guān)參數(shù)。
文中選擇當(dāng)前時(shí)刻的前96個(gè)電力負(fù)荷數(shù)據(jù)作為網(wǎng)絡(luò)的輸入預(yù)測下一時(shí)刻的負(fù)荷數(shù)據(jù),因此設(shè)置輸入層節(jié)點(diǎn)數(shù)為96,輸出層節(jié)點(diǎn)數(shù)為1。隱藏層采用LSTM細(xì)胞和Dropout搭建雙層循環(huán)神經(jīng)網(wǎng)絡(luò)[13]。由于LSTM神經(jīng)網(wǎng)絡(luò)模塊的層數(shù)越多,學(xué)習(xí)能力越強(qiáng),但是層數(shù)過多又會(huì)造成網(wǎng)絡(luò)訓(xùn)練難以收斂,因此訓(xùn)練過程中網(wǎng)絡(luò)的層數(shù)一般不超過3層[14-15],文中采用2層。文中隱藏層的每個(gè)LSTM層后面加入了一個(gè)Dropout層,在前向傳播時(shí)讓神經(jīng)元的激活值以指定的概率停止工作,從而增強(qiáng)模型的泛化性,防止過擬合;
(4)對每個(gè)高頻分量分別建立LSTM模型;
(5)在進(jìn)行預(yù)測后,對預(yù)測值進(jìn)行反歸一化處理,然后將低頻分量預(yù)測值和高頻分量預(yù)測值進(jìn)行疊加,得到最后的預(yù)測結(jié)果。
試驗(yàn)以2016年電工數(shù)學(xué)建模競賽[16]提供的2009年1月1日~2015年1月10日的電力負(fù)荷為數(shù)據(jù),數(shù)據(jù)的采樣周期為15分鐘,每天產(chǎn)生96組數(shù)據(jù)。以2009年1月1日~2015年1月1日的數(shù)據(jù)為訓(xùn)練數(shù)據(jù),以2015年1月2日~2015年1月9日的負(fù)荷數(shù)據(jù)為測試數(shù)據(jù)。預(yù)測1月10日的短期電力負(fù)荷,并與真實(shí)負(fù)荷進(jìn)行對比。
選取連續(xù)三天的電力負(fù)荷數(shù)據(jù)做出變化曲線如圖4所示。
圖4 電力負(fù)荷變化曲線圖
可以看出電力負(fù)荷數(shù)據(jù)有相似的波動(dòng)規(guī)律,總體上與時(shí)間存在一定的周期關(guān)系。
對樣本數(shù)據(jù)進(jìn)行歸一化處理,將其轉(zhuǎn)化為無量綱的純數(shù)值。這樣不僅可以提升模型的收斂速度,還可以提升模型的精度。歸一化公式如下所示:
(30)
式中Z′為歸一化后的樣本值;Z為原樣本值;Zmax為原樣本集中的最大值;Zmin為原樣本集中的最小值。
文中仿真實(shí)驗(yàn)使用matlab2016b編程軟件進(jìn)行分析。對歸一化后的低頻樣本分量建立PSO-LSSVM預(yù)測模型進(jìn)行預(yù)測,高頻樣本分量分別建立LSTM預(yù)測模型進(jìn)行預(yù)存,得到各分量的初始預(yù)測值,之后對這些初始值進(jìn)行反歸一化得到實(shí)際預(yù)測值。最后,將各個(gè)樣本分量的預(yù)測值進(jìn)行疊加,得到最終的預(yù)測結(jié)果,做出預(yù)測值與實(shí)際值曲線的對比圖,如圖5所示。圖5顯示了基于小波分析的WD-LSSVM-LSTM預(yù)測模型的最終預(yù)測結(jié)果。
圖5 基于小波分析的PSO-SVM模型預(yù)測結(jié)果
為了評(píng)估該模型的精確度,對負(fù)荷原始數(shù)據(jù)分別構(gòu)建PSO-LSSVM預(yù)測模型、基于小波分析的PSO-LSSVM預(yù)測模型和BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進(jìn)行預(yù)測,將所有預(yù)測模型的預(yù)測結(jié)果做出曲線對比圖,如圖6所示,并做出各模型的逐點(diǎn)相對誤差如圖7所示。
圖6 幾種預(yù)測模型預(yù)測結(jié)果
圖7 逐點(diǎn)相對誤差對比
為了比較這幾種預(yù)測模型的精確性,選擇平均絕對誤差和均方根誤差作為評(píng)價(jià)標(biāo)準(zhǔn),有:
(31)
(32)
式中n為預(yù)測樣本數(shù)量;xi為實(shí)際用電量;x′i為預(yù)測用電量。
經(jīng)計(jì)算,得到幾種預(yù)測模型預(yù)測結(jié)果的MAE值和RMSE值,如表1所示。
表1 幾種預(yù)測模型預(yù)測結(jié)果的比較
可以看出WD-LSSVM-LSTM預(yù)測模型誤差降低,精度有一定提升。
文中針對電力負(fù)荷預(yù)測提出了基于小波分析的LSSVM-LSTM預(yù)測模型。由于電力負(fù)荷隨機(jī)變化性強(qiáng),非線性顯著,文章采用小波分析方法對電力負(fù)荷做了小波分解和重構(gòu),為優(yōu)化的LSSVM模型和LSTM模型得到更高的預(yù)測精度提供了保障。對電力負(fù)荷進(jìn)行WD分解,得到不同頻率的分量,隨后,分別采用PSO-LSSVM與LSTM網(wǎng)絡(luò)對分解后的低頻與高頻負(fù)荷數(shù)據(jù)進(jìn)行預(yù)測,將預(yù)測結(jié)果進(jìn)行疊加,得到電力負(fù)荷預(yù)測結(jié)果。實(shí)驗(yàn)結(jié)果表明,該預(yù)測模型有較高的預(yù)測精度,整體上對電力負(fù)荷的趨勢預(yù)測較為準(zhǔn)確。文中研究的方法仍然需要進(jìn)一步完善和改善,使預(yù)測的效果更加符合實(shí)際的需求。