伏玥橦, 張政, 袁凱, 李天然
(1.南京師范大學(xué) 南瑞電氣與自動(dòng)化學(xué)院,江蘇 南京 210023; 2.南瑞集團(tuán)有限公司,江蘇 南京 211106)
隨著電力市場(chǎng)的發(fā)展,電價(jià)預(yù)測(cè)已成為市場(chǎng)成員進(jìn)行決策的重要依據(jù)之一,市場(chǎng)成員可以利用預(yù)測(cè)信息制訂最佳決策策略,實(shí)現(xiàn)利益最大化。但是,與其他商品相比,電價(jià)的高頻率、高波動(dòng)性、非線性和均值回歸等特點(diǎn)[1],使得準(zhǔn)確預(yù)測(cè)電價(jià)成為一項(xiàng)相當(dāng)復(fù)雜的任務(wù)。
研究者提出了不同的方法進(jìn)行價(jià)格預(yù)測(cè),主要分為兩類[2]:統(tǒng)計(jì)方法和計(jì)算智能方法。統(tǒng)計(jì)方法對(duì)變化較快的非線性數(shù)據(jù)表征能力有限[3]。計(jì)算智能方法能夠分析具有復(fù)雜非線性問(wèn)題,主要包括BP神經(jīng)網(wǎng)絡(luò)[4]和支持向量機(jī)等。BP神經(jīng)網(wǎng)絡(luò)是最主要的計(jì)算智能方法之一,能夠處理多變量和非線性問(wèn)題,但其存在收斂速度慢和容易陷入局部極小點(diǎn)等弱點(diǎn),這些限制往往會(huì)導(dǎo)致預(yù)測(cè)精度不理想。由此可見(jiàn),單一的預(yù)測(cè)模型并不能滿足電價(jià)預(yù)測(cè)在誤差和準(zhǔn)確性方面的需求。
為了提高預(yù)測(cè)的準(zhǔn)確性,可將遺傳算法(GA)[5]、粒子群[6]這樣的優(yōu)化方法和神經(jīng)網(wǎng)絡(luò)相結(jié)合。文獻(xiàn)[7]提出了一種基于遺傳算法的小波神經(jīng)網(wǎng)絡(luò)模型,利用遺傳算法優(yōu)化網(wǎng)絡(luò)權(quán)重系數(shù)。雖然結(jié)合優(yōu)化算法的混合預(yù)測(cè)方法在一定程度上提高了預(yù)測(cè)精度,但由于大多利用原始數(shù)據(jù)進(jìn)行訓(xùn)練,未考慮輸入數(shù)據(jù)中噪聲等干擾因素的影響,預(yù)測(cè)準(zhǔn)確性仍然較低??柭鼮V波(KF)能有效地解決這個(gè)問(wèn)題[8],它通過(guò)系統(tǒng)輸入輸出觀測(cè)數(shù)據(jù),對(duì)各個(gè)狀態(tài)序列進(jìn)行最優(yōu)估計(jì),從而將真實(shí)的電價(jià)序列從噪聲等干擾中分離出來(lái)。
根據(jù)以上分析,本文采用卡爾曼濾波、遺傳算法和BP神經(jīng)網(wǎng)絡(luò)模型(KF-GA-BP)相結(jié)合的預(yù)測(cè)方法。首先利用卡爾曼濾波對(duì)模型輸入數(shù)據(jù)進(jìn)行處理,過(guò)濾掉噪聲等干擾因素;然后建立基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型;最后利用美國(guó)PJM電力市場(chǎng)數(shù)據(jù)進(jìn)行算例分析,得到電價(jià)預(yù)測(cè)結(jié)果。
影響電力市場(chǎng)價(jià)格的因素包括歷史電價(jià)、歷史負(fù)荷、系統(tǒng)或地區(qū)裝機(jī)容量和燃油價(jià)格等。但很多因素都是不可預(yù)測(cè)或難以獲得的,可獲得的市場(chǎng)數(shù)據(jù)主要為歷史電價(jià)和負(fù)荷,且歷史電價(jià)和負(fù)荷是影響電價(jià)的主要因素。因此本文將一段時(shí)間的歷史電價(jià)和負(fù)荷作為日前電價(jià)預(yù)測(cè)模型的輸入數(shù)據(jù)。
電價(jià)影響因素之間存在復(fù)雜非線性關(guān)系,對(duì)其進(jìn)行預(yù)處理,盡可能消除冗余信息,可提高模型預(yù)測(cè)的準(zhǔn)確性。
本文采用卡爾曼濾波對(duì)模型輸入數(shù)據(jù)進(jìn)行預(yù)處理。KF有兩個(gè)操作步驟:預(yù)測(cè)和校正。預(yù)測(cè)步驟是對(duì)當(dāng)前狀態(tài)及其不確定性的預(yù)測(cè)。
(1)
(2)

(3)
(4)
(5)

BP神經(jīng)網(wǎng)絡(luò)具有一定的局限性,容易出現(xiàn)局部最優(yōu)解,影響預(yù)測(cè)精度。遺傳算法是一種全局搜索優(yōu)化方法,在搜索范圍內(nèi)尋找最優(yōu)權(quán)重系數(shù)。
基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)的運(yùn)算步驟為:
(1) 確定BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。

圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖1中:p1,p2,…,pR為輸入數(shù)據(jù);Y為輸出數(shù)據(jù)。輸入層和隱含層之間的連接權(quán)重為S×R,將其放入IW加權(quán)矩陣中。
輸入層和隱含層的權(quán)值矩陣分別記為:
(6)
(7)
式中: IW11~I(xiàn)WSR為輸入層和隱含層之間的權(quán)值;LW11~LW1S為隱含層和輸出層之間的權(quán)值。
輸入層偏置矩陣和隱含層偏置矩陣分別記為:
(8)
(9)

BP神經(jīng)網(wǎng)絡(luò)輸入輸出關(guān)系如圖2所示。利用IW和LW權(quán)重矩陣及偏置矩陣b1和b2表示輸入輸出層之間的關(guān)系。

圖2 BP神經(jīng)網(wǎng)絡(luò)輸入輸出關(guān)系
(2) 對(duì)所構(gòu)建網(wǎng)絡(luò)中的權(quán)值偏置編碼。
(3) 確定網(wǎng)絡(luò)初始權(quán)值偏置,訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)并預(yù)測(cè)輸出,通過(guò)式(10)計(jì)算適應(yīng)度值F。
(10)
式中:yi、oi為實(shí)際和期望輸出;k為參數(shù);n為輸出個(gè)數(shù)。
(4) 根據(jù)適應(yīng)度值選擇誤差較小的個(gè)體,并對(duì)群體進(jìn)行交叉變異。
(5) 將得到的最優(yōu)權(quán)值傳遞給神經(jīng)網(wǎng)絡(luò)進(jìn)行二次訓(xùn)練,并預(yù)測(cè)輸出。
KF-GA-BP電價(jià)預(yù)測(cè)模型構(gòu)建的基本流程為:
(1) 數(shù)據(jù)獲取。


(5) 執(zhí)行流程(3)、(4),得到各時(shí)刻電價(jià)的最優(yōu)估值。
(6) 將流程(5)中的最優(yōu)估值分為訓(xùn)練集和測(cè)試集。
(7) 對(duì)神經(jīng)網(wǎng)絡(luò)的初始權(quán)值偏置編碼。
(8) 確定神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn)數(shù)、輸入種群大小和交叉變異概率。
(9) 隨機(jī)初始化種群,種群中個(gè)體包含各層權(quán)值和偏置。
(10) 根據(jù)隨機(jī)生成的權(quán)值偏置對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò),計(jì)算適應(yīng)度值。
(11) 選擇誤差較小染色體,對(duì)群體進(jìn)行交叉變異。
(12) 若誤差滿足一定要求,則停止迭代,并將獲得的最優(yōu)權(quán)值傳遞給神經(jīng)網(wǎng)絡(luò)二次訓(xùn)練。若未滿足要求,則重復(fù)流程(10)、(11)。
(13) 預(yù)測(cè)輸出。
根據(jù)以上步驟,KF-GA-BP模型預(yù)測(cè)流程如圖3所示。

圖3 KF-GA-BP模型預(yù)測(cè)流程
選取美國(guó)PJM電力市場(chǎng)2019年2月1日至2020年2月8日的系統(tǒng)歷史電價(jià)和負(fù)荷值。本文以預(yù)測(cè)日前一天和預(yù)測(cè)日七天前同一時(shí)刻電價(jià)和負(fù)荷值作為模型輸入,并將其分成訓(xùn)練樣本和預(yù)測(cè)樣本。訓(xùn)練樣本為2019年2月1日至2020年2月1日,預(yù)測(cè)樣本為2020年2月2日至2020年2月8日。
利用卡爾曼濾波對(duì)模型輸入數(shù)據(jù)進(jìn)行處理,修正異常點(diǎn),以獲得更能體現(xiàn)電價(jià)規(guī)律的歷史數(shù)據(jù)樣本。卡爾曼濾波處理前后對(duì)比如圖4所示。

圖4 卡爾曼濾波處理前后對(duì)比
數(shù)據(jù)處理后,在MATLAB上建立GA-BP神經(jīng)網(wǎng)絡(luò)。通過(guò)反復(fù)測(cè)試,設(shè)定在遺傳算法中采用概率為0.9的兩點(diǎn)交叉和概率為0.1的均勻變異,重復(fù)次數(shù)、種群數(shù)和最大生成數(shù)分別為1 000、40和100。隱含層神經(jīng)元數(shù)為30,網(wǎng)絡(luò)迭代次數(shù)為1 000次,期望誤差為10-3,學(xué)習(xí)率為0.01,性能誤差函數(shù)為均方誤差。模型訓(xùn)練過(guò)程如圖5所示(在第4輪獲得的最優(yōu)結(jié)果是0.029 711)。模型訓(xùn)練誤差精度如圖6所示。

圖5 GA-BP模型訓(xùn)練

圖6 模型訓(xùn)練誤差精度
由于模型存在隨機(jī)過(guò)程,利用測(cè)試集進(jìn)行了50次試驗(yàn),各次結(jié)果的統(tǒng)計(jì)數(shù)據(jù)如表1所示。其中指標(biāo)MSE、R2分別為預(yù)測(cè)集上的均方誤差、可決系數(shù)。

表1 KF-GA-BP模型預(yù)測(cè)結(jié)果統(tǒng)計(jì)
為了更好地驗(yàn)證所提方法的預(yù)測(cè)效果,研究2020年4、7、10和12月的最后一周,代表春、夏、秋和冬季四個(gè)季節(jié)。利用MAPE、MAE和RMSE誤差指標(biāo)來(lái)評(píng)價(jià)所提方法的預(yù)測(cè)性能。具體定義如式(11)~式(13)。
(11)
(12)
(13)

本文研究的PJM市場(chǎng)真實(shí)值和預(yù)測(cè)值如圖7~圖10所示。KF-GA-BP模型的誤差指標(biāo)統(tǒng)計(jì)如表2所示。
從表2中可以看出,春、夏、秋和冬季測(cè)試周MAPE分別為6.17%、9.83%、7.05%和4.94%,其中冬季周的預(yù)測(cè)最準(zhǔn)確。從總體上看,除少數(shù)峰值外,該方法的預(yù)測(cè)結(jié)果與實(shí)際電價(jià)基本一致。

圖7 4月真實(shí)值和預(yù)測(cè)值

圖8 7月真實(shí)值和預(yù)測(cè)值

圖9 10月真實(shí)值和預(yù)測(cè)值

圖10 12月真實(shí)值和預(yù)測(cè)值

表2 KF-GA-BP模型誤差指標(biāo)統(tǒng)計(jì)
為了充分驗(yàn)證KF-GA-BP預(yù)測(cè)模型的優(yōu)越性,本文利用BP、GA-BP和KF-GA-BP模型進(jìn)行對(duì)比。模型的預(yù)測(cè)結(jié)果統(tǒng)計(jì)如表3所示。

表3 不同模型預(yù)測(cè)誤差結(jié)果統(tǒng)計(jì)
從以上預(yù)測(cè)結(jié)果平均誤差可以看出,KF-GA-BP模型取得了最高的預(yù)測(cè)精度,較相同條件下的BP、GA-BP模型分別相對(duì)減少了32.7%、17.3%。由多次測(cè)試的誤差分布來(lái)看,KF-GA-BP模型較為穩(wěn)定,誤差的標(biāo)準(zhǔn)差最小。從訓(xùn)練時(shí)間上看,KF-GA-BP模型訓(xùn)練時(shí)間最少,更能適應(yīng)大規(guī)模的樣本訓(xùn)練。綜上,KF-GA-BP模型可以顯著降低預(yù)測(cè)誤差,具有較強(qiáng)的優(yōu)越性。
本文提出了結(jié)合卡爾曼濾波、遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的電力市場(chǎng)日前電價(jià)預(yù)測(cè)算法,利用卡爾曼濾波對(duì)歷史市場(chǎng)電價(jià)及其負(fù)荷進(jìn)行最佳估計(jì),降低輸入數(shù)據(jù)中噪聲等干擾的影響,并基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè)。實(shí)際數(shù)據(jù)驗(yàn)證分析表明,本文建立的預(yù)測(cè)模型加快了收斂速度,有效提高了預(yù)測(cè)精度。