馬麗瑩,魏云冰
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
電價(jià)預(yù)測(cè)問(wèn)題影響著現(xiàn)代電力系統(tǒng)運(yùn)行的各個(gè)過(guò)程。這些過(guò)程與其他當(dāng)代科學(xué)和工程問(wèn)題有關(guān),如最優(yōu)電網(wǎng)調(diào)度、能源消耗、能源開(kāi)發(fā)、溫室氣體排放、電力系統(tǒng)模擬和電力負(fù)荷需求建模[1-2]。因此,電價(jià)預(yù)測(cè)是電力系統(tǒng)領(lǐng)域的一個(gè)牽涉到多學(xué)科的綜合研究課題。但是電價(jià)預(yù)測(cè)受到多種因素的影響,例如節(jié)假日、溫度、節(jié)日、季節(jié)等,具有一定的波動(dòng)性。此外,由于電力資源的波動(dòng)和不平衡有可能造成電力負(fù)荷增加,導(dǎo)致電價(jià)升高[3-4]。近年來(lái),許多研究人員已經(jīng)證明,電力相關(guān)預(yù)測(cè)是一項(xiàng)艱巨的任務(wù),因?yàn)殡娏π枨笤诤艽蟪潭壬弦Q于多種因素[5-7]。
為了實(shí)現(xiàn)對(duì)電價(jià)的高精度預(yù)測(cè),一些學(xué)者開(kāi)始提出一些電價(jià)預(yù)測(cè)的方法,大致可分為2 類(lèi):傳統(tǒng)方法和人工智能方法。傳統(tǒng)方法主要包括自回歸綜合移動(dòng)平均[8]、模糊推理系統(tǒng)[9]和貝葉斯隨機(jī)波動(dòng)率[10]等方法。由于電價(jià)變化較快,具有一定的波動(dòng)性和非線(xiàn)性,傳統(tǒng)的預(yù)測(cè)方法無(wú)法取得較好的預(yù)測(cè)效果。
為了解決非線(xiàn)性的問(wèn)題,一些研究人員采用人工智能方法實(shí)現(xiàn)電價(jià)預(yù)測(cè)。例如極限學(xué)習(xí)機(jī)、支持向量機(jī)(support vector machines,SVM)和人工神經(jīng)網(wǎng)絡(luò)等。Shrivastava 等人[11]將極限學(xué)習(xí)機(jī)與小波技術(shù)相結(jié)合提高了電價(jià)預(yù)測(cè)的精度和可靠性。Yan 等人[12]提出了一種基于多SVM 的中期電力市場(chǎng)出清價(jià)格預(yù)測(cè)模型。Panapakidis 等人[13]將人工神經(jīng)網(wǎng)絡(luò)與聚類(lèi)算法相結(jié)合提出了一種混合模型,來(lái)實(shí)現(xiàn)日前電價(jià)預(yù)測(cè)。然而,由于電價(jià)數(shù)據(jù)具有一定的記憶性、即存在長(zhǎng)期依賴(lài)關(guān)系,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)在電價(jià)時(shí)間序列分析的研究中面臨著一定挑戰(zhàn)。
LSTM 作為一種特殊的RNN,能夠應(yīng)用于長(zhǎng)期依賴(lài)關(guān)系的序列預(yù)測(cè)。Liu 等人[14]利用經(jīng)驗(yàn)小波變換和LSTM 的混合模型預(yù)測(cè)風(fēng)速。實(shí)際電價(jià)數(shù)據(jù)具有非線(xiàn)性、非平穩(wěn)和長(zhǎng)期依賴(lài)性的特點(diǎn),而LSTM 很好地解決了這些問(wèn)題。Peng 等人[15]在預(yù)測(cè)電價(jià)時(shí)采用了差分進(jìn)化算法來(lái)識(shí)別LSTM 的參數(shù),并通過(guò)實(shí)驗(yàn)驗(yàn)證了長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)在電價(jià)預(yù)測(cè)精度方面明顯優(yōu)于傳統(tǒng)的智能計(jì)算方法。其主要原因在于LSTM 能更好地捕捉并處理電價(jià)不規(guī)律性的特征?;陔S機(jī)梯度的方法在深度學(xué)習(xí)優(yōu)化領(lǐng)域具有十分重要的實(shí)際意義,對(duì)預(yù)測(cè)的準(zhǔn)確性起著至關(guān)重要的作用。Adam 是一種常見(jiàn)且高效的優(yōu)化算法[16-17],其優(yōu)勢(shì)在于對(duì)內(nèi)存需求較少,計(jì)算效率高,可以很好地處理稀疏梯度,在非線(xiàn)性和非平穩(wěn)設(shè)置下表現(xiàn)出優(yōu)異的性能。該算法可以通過(guò)尋找一系列參數(shù)使目標(biāo)函數(shù)最小化來(lái)達(dá)到優(yōu)化深度學(xué)習(xí)模型的目的。因此,Adam 優(yōu)化的LSTM 神經(jīng)網(wǎng)絡(luò)被認(rèn)為是預(yù)測(cè)電價(jià)的有力工具。
將VMD 分解算法和Adma 優(yōu)化的LSTM 神經(jīng)網(wǎng)絡(luò)相結(jié)合用于電價(jià)時(shí)間序列的分析和預(yù)測(cè)是一種比較新穎的想法。VMD 分解方法有效解決了EMD中存在的模態(tài)混疊問(wèn)題。因此,本文提出了一種基于VMD 和Adam 優(yōu)化的LSTM 網(wǎng)絡(luò)的混合模型,即VMD-Adam-LSTM 模型。通過(guò)美國(guó)PJM 的電價(jià)數(shù)據(jù)來(lái)驗(yàn)證該模型的預(yù)測(cè)效果。為了說(shuō)明該模型的性能,將其與傳統(tǒng)模型和混合模型進(jìn)行了對(duì)比來(lái)驗(yàn)證該模型的預(yù)測(cè)精度。
本文的框架結(jié)構(gòu)如下所示:第1 節(jié)介紹了VMD分解和Adam 優(yōu)化LSTM 的基本理論;第2 節(jié)詳細(xì)描述了所提出的混合模型;在第3 節(jié)中,給出了電價(jià)預(yù)測(cè)案例;結(jié)論見(jiàn)第4 節(jié)。
在本節(jié)中,將介紹提出的混合模型中采用的2 種算法。在1.1 節(jié)中,簡(jiǎn)要介紹VMD 分解算法原理,在1.2 節(jié)中介紹Adma 優(yōu)化的LSTM 神經(jīng)網(wǎng)絡(luò)。
2014 年,Dragomiretskiy 等人[18]提出了VMD 方法[18-19]。VMD 方法解決了局部均值分解、經(jīng)驗(yàn)?zāi)B(tài)分解等方法中存在的模態(tài)混合問(wèn)題[19]。作為一種非遞歸算法,VMD 將輸入信號(hào)同時(shí)分解為多個(gè)IMF。這里需用到的數(shù)學(xué)公式為:
其中,Ak(t)是uk(t)的瞬時(shí)幅值,ωk =?k'(t)是瞬時(shí)頻率。約束變分問(wèn)題描述為:
其中,x(t)是要分解的原始信號(hào);uk,ωk分別是IMF 和中心頻率;“*”是卷積符號(hào)。引入懲罰因子a和拉格朗日乘數(shù)λ來(lái)解決方程(2)的約束問(wèn)題:
uk,ωk和λ的更新公式見(jiàn)如下:
LSTM 神經(jīng)網(wǎng)絡(luò)擁有很多層連接的記憶塊,每個(gè)記憶塊包含管理塊的輸出門(mén)和狀態(tài)門(mén)。LSTM 神經(jīng)網(wǎng)絡(luò)具有一定的記憶性,即下一個(gè)狀態(tài)的信息不僅與當(dāng)前狀態(tài)有關(guān),還與歷史狀態(tài)有關(guān)。LSTM 每個(gè)單元內(nèi)主要包括遺忘門(mén)、輸入門(mén)和輸出門(mén),如圖1所示。對(duì)此擬展開(kāi)闡釋分述如下。
圖1 LSTM 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 LSTM neural network structure
(1)遺忘門(mén)ft:有條件地決定塊中保留的信息。推得的數(shù)學(xué)公式具體如下:
其中,ωf和bf分別表示權(quán)重矩陣和偏置向量。ht-1是先前狀態(tài)的輸出;xt表示輸入值;σ(·)表示sigmoid函數(shù)。
(2)輸入門(mén)it:有條件地確定輸入哪些值來(lái)更新記憶狀態(tài)。推得的數(shù)學(xué)公式具體如下:
(3)輸出門(mén)ot:根據(jù)輸入和塊記憶有條件地決定輸出。推得的數(shù)學(xué)公式具體如下:
在每個(gè)時(shí)間t內(nèi),輸入特征由輸入xt和之前隱藏狀態(tài)ht-1計(jì)算,并且tanh 函數(shù)取值范圍在-1 到1之間。由此推得的數(shù)學(xué)公式為:
記憶單元由調(diào)節(jié)的輸入特征和前一個(gè)記憶單元ct-1的遺忘部分更新。研究推得的公式為:
最終由輸出門(mén)ot和記憶單元ct計(jì)算得到隱藏狀態(tài)輸出ht。研究用到的公式為:
在式(7)~(12)中,矩陣ωf、ωi、ωo和ωc是權(quán)重矩陣;向量bf、bi、bo和bc是偏置向量;ht-1是前一個(gè)隱藏狀態(tài)計(jì)算的結(jié)果;ht是t時(shí)刻隱藏狀態(tài)的輸出;xt表示輸入信息。
Adam 是一種隨機(jī)梯度下降的一階優(yōu)化算法,在深度學(xué)習(xí)中有著廣泛的用途[20]。該方法的優(yōu)勢(shì)在于具有高效的計(jì)算能力,對(duì)內(nèi)存的需求不高,實(shí)現(xiàn)過(guò)程中對(duì)需要調(diào)節(jié)的參數(shù)較少、且操作原理簡(jiǎn)單。Adam 優(yōu)化算法的具體步驟如下所示。
步驟1初始化步長(zhǎng)α =0.001,初始化矩估計(jì)指數(shù)衰減率β1,β2∈[0,1),這里 取β1=0.9,β2=0.99,設(shè)定誤差值ε =10-8,f(θ)是參數(shù)為θ的隨機(jī)目標(biāo)函數(shù)。這里使用均方誤差,Adam 的目標(biāo)是找到一組使均方誤差最小化的參數(shù)θ。
步驟2初始化第一個(gè)矩向量m0=0,第二個(gè)矩向量v0=0,初始時(shí)間t =0。
步驟3更新參數(shù)。相關(guān)系列公式見(jiàn)如下:
(1)t =t +1
(2)運(yùn)算得到t時(shí)刻的梯度隨機(jī)目標(biāo):gt =?θt f(θt-1)
(3)更新有偏差的第一矩估計(jì):mt =β1·mt-1+(1-β1)·gt
(4)更新有偏差的二階原始矩估計(jì):vt =β2·vt-1+(1-β2)·
(5)計(jì)算偏差校正的第一矩估計(jì),即:
(6)計(jì)算偏差校正的二階原始矩估計(jì),即:
(7)θt =θt-1-α·
步驟4判斷θt是否收斂,若不收斂,繼續(xù)執(zhí)行步驟3,直到滿(mǎn)足條件時(shí)循環(huán)結(jié)束。得到返回值
如這里的Adam 算法所述,首先需要確定參數(shù)α、β1、β2以及隨機(jī)目標(biāo)函數(shù)f(θ),接下來(lái)初始化參數(shù)向量、第一個(gè)矩向量、第二個(gè)矩向量和時(shí)間。再進(jìn)行多次循環(huán)迭代,更新計(jì)算參數(shù)向量(t、gt、mt、vt、mbt、vbt和θt),當(dāng)參數(shù)θ收斂時(shí)則認(rèn)為循環(huán)停止。Adam 通過(guò)優(yōu)化目標(biāo)函數(shù)f(θ)適用于LSTM 神經(jīng)網(wǎng)絡(luò),找到一組使均方誤差最小化的參數(shù)。
利用VMD 分解和Adam 優(yōu)化LSTM 的混合模型預(yù)測(cè)電價(jià)的過(guò)程大致分為以下6 個(gè)步驟:
步驟1本文研究采用美國(guó)PJM 電力市場(chǎng)2012 年1 月的節(jié)點(diǎn)邊際電價(jià)數(shù)據(jù)進(jìn)行實(shí)驗(yàn)分析,來(lái)驗(yàn)證VMD-Adam-LSTM混合模型的有效性。
步驟2數(shù)據(jù)預(yù)處理。為了進(jìn)一步提高模型對(duì)價(jià)格序列的預(yù)測(cè)精度,根據(jù)3σ準(zhǔn)則對(duì)原始數(shù)據(jù)訓(xùn)練集的異常值進(jìn)行處理。通過(guò)計(jì)算一組電價(jià)序列的均值和標(biāo)準(zhǔn)差,并根據(jù)一定的概率確定一個(gè)范圍,認(rèn)為超出這個(gè)范圍的數(shù)據(jù)屬于異常值,通過(guò)3σ準(zhǔn)則剔除異常數(shù)據(jù)。具體計(jì)算流程如下:
(1)計(jì)算樣本電價(jià)數(shù)據(jù)的均值μ和方差σ2。
(2)根據(jù)3σ準(zhǔn)則判斷數(shù)據(jù)是否在(μ -3σ,μ +3σ)范圍內(nèi)。超出范圍則剔除異常數(shù)據(jù)。
步驟3電價(jià)數(shù)據(jù)的VMD 分解。由式(2)可知,VMD 方法的輸入不僅是原始信號(hào),還需要確定參數(shù)K的具體值。K決定了分解過(guò)程中提取的模態(tài)數(shù)量。如果提取模態(tài)太多,會(huì)導(dǎo)致精度降低和計(jì)算復(fù)雜性變大。但是,如果模態(tài)數(shù)量太少,模態(tài)中包含的信息不足以訓(xùn)練出具有較高精度的預(yù)測(cè)模型。因此,如何為K選擇一個(gè)合適值是非常重要的。本文通過(guò)中心頻率確定VMD 分解個(gè)數(shù)K,并對(duì)分解后K個(gè)IMF和殘差進(jìn)行預(yù)測(cè)。
步驟4Adam 優(yōu)化的LSTM 模型預(yù)測(cè)。經(jīng)過(guò)上述VMD 分解后,利用LSTM 神經(jīng)網(wǎng)絡(luò)對(duì)VMD 分解后的時(shí)間序列進(jìn)行訓(xùn)練和預(yù)測(cè),從而得到更準(zhǔn)確的預(yù)測(cè)結(jié)果。該網(wǎng)絡(luò)采用單輸入/單輸出的結(jié)構(gòu),隱含層個(gè)數(shù)為4,使用默認(rèn)的sigmoid激活函數(shù)。網(wǎng)絡(luò)訓(xùn)練1 000 個(gè)周期,前一時(shí)刻步長(zhǎng)作為輸入變量來(lái)預(yù)測(cè)下一個(gè)時(shí)刻的數(shù)據(jù)。作為一種高效的隨機(jī)梯度優(yōu)化器,Adam 被用于LSTM 的電價(jià)預(yù)測(cè)中。
步驟5計(jì)算原始電價(jià)預(yù)測(cè)結(jié)果。由式(2)的約束條件可知,將K個(gè)IMF分別預(yù)測(cè)的結(jié)果和殘差預(yù)測(cè)的結(jié)果相加,即為原始電價(jià)預(yù)測(cè)結(jié)果。
步驟6預(yù)測(cè)模型評(píng)估。將預(yù)測(cè)結(jié)果與實(shí)際電價(jià)數(shù)據(jù)比較,計(jì)算3 種評(píng)估指標(biāo),研究?jī)?nèi)容詳見(jiàn)第3節(jié)。
根據(jù)上述預(yù)測(cè)步驟,基于VMD 分解和Adam 優(yōu)化LSTM 神經(jīng)網(wǎng)絡(luò)的混合模型預(yù)測(cè)電價(jià)的過(guò)程如圖2 所示。
圖2 基于VMD-Adam-LSTM 混合預(yù)測(cè)模型流程圖Fig. 2 Flow chart of VMD-Adam-LSTM hybrid prediction model
為了評(píng)估預(yù)測(cè)模型的精度,使用平均絕對(duì)誤差(mean absolute error,MAE)、均方根誤差(root mean square error,RMSE)和R2的典型誤差評(píng)估指標(biāo)。對(duì)此可做探討闡述如下。
(1)MAE。反映了絕對(duì)誤差的平均值。MAE越小,預(yù)測(cè)越準(zhǔn)確,推得的數(shù)學(xué)公式可寫(xiě)為:
其中,x(t)為t時(shí)刻的原始電價(jià)數(shù)據(jù);為t時(shí)刻的預(yù)測(cè)電價(jià);m為預(yù)測(cè)點(diǎn)數(shù)。
(2)RMSE。描述了預(yù)測(cè)誤差的離散程度。RMSE越小,預(yù)測(cè)越準(zhǔn)確。推得的數(shù)學(xué)公式可寫(xiě)為:
(3)R2。是擬合程度的統(tǒng)計(jì),反映了解釋的程度。R2結(jié)果越接近1,預(yù)測(cè)精度越高。推得的數(shù)學(xué)公式可寫(xiě)為:
其中,是x(t)的均值。
為了驗(yàn)證本文提出的VMD-Adam-LSTM 混合模型的有效性,采用美國(guó)PJM 電力市場(chǎng)2012 年1月的節(jié)點(diǎn)邊際電價(jià)數(shù)據(jù)進(jìn)行實(shí)驗(yàn)仿真驗(yàn)證。在此數(shù)據(jù)采集過(guò)程中,每隔1 h 統(tǒng)計(jì)得到一個(gè)電價(jià)數(shù)據(jù),選取1 月份前30 天的數(shù)據(jù)、共計(jì)720 個(gè)數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)。
不同模態(tài)個(gè)數(shù)會(huì)直接影響預(yù)測(cè)結(jié)果,因此在采用VMD 算法對(duì)電價(jià)數(shù)據(jù)進(jìn)行模態(tài)分解之前,需要先確定分解的模態(tài)個(gè)數(shù)。如果分解的模態(tài)個(gè)數(shù)較少,可能導(dǎo)致原始電價(jià)數(shù)據(jù)的信息丟失;如果模態(tài)個(gè)數(shù)較多,相鄰IMF分量的中心頻率較近還可能出現(xiàn)頻率混疊,也會(huì)導(dǎo)致精度降低和計(jì)算復(fù)雜性較高。根據(jù)中心頻率不宜較近的方法選擇合適的模態(tài)個(gè)數(shù),通過(guò)比較較為接近的2 個(gè)中心頻率之間的差值,如果較小則不能選擇此次分解的模態(tài)個(gè)數(shù)。將原始電價(jià)數(shù)據(jù)通過(guò)3σ準(zhǔn)則對(duì)異常值處理后經(jīng)VMD 分解,得到不同模態(tài)個(gè)數(shù)下的中心頻率,其計(jì)算結(jié)果見(jiàn)表1。
表1 不同模態(tài)個(gè)數(shù)下VMD 分解的中心頻率Tab.1 Center frequency of VMD decomposition under different number of modes
從表1 中可以看出IMF個(gè)數(shù)為5 時(shí),中心頻率2 828和3 048 較為接近,可能造成頻率混疊。因此選擇分解的模態(tài)個(gè)數(shù)為4,具體分解結(jié)果如圖3 所示。
圖3 電價(jià)數(shù)據(jù)的VMD 分解結(jié)果Fig. 3 VMD decomposition results of electricity price data
接下來(lái),采用Adam 優(yōu)化的LSTM 分別對(duì)各個(gè)IMF分量和殘差進(jìn)行預(yù)測(cè)。選取前29 天數(shù)據(jù)、即0到696 h,作為訓(xùn)練集,最后一天697 到720 h 數(shù)據(jù)作為測(cè)試集。LSTM 神經(jīng)網(wǎng)絡(luò)采用單輸入/單輸出的方式,隱含層個(gè)數(shù)為4,隱含層神經(jīng)元個(gè)數(shù)為10,激勵(lì)函數(shù)為sigmoid函數(shù)。將4 個(gè)IMF分量預(yù)測(cè)結(jié)果和殘差預(yù)測(cè)結(jié)果相加得到原始電價(jià)數(shù)據(jù)的預(yù)測(cè)結(jié)果。
為了驗(yàn)證本文提出的VMD-Adam-LSTM 混合模型的有效性,分別與單一的LSTM 預(yù)測(cè)模型和EMD-Adam-LSTM 混合預(yù)測(cè)模型相比,其預(yù)測(cè)結(jié)果如圖4 所示。3 種預(yù)測(cè)模型的預(yù)測(cè)誤差結(jié)果見(jiàn)表2。
圖4 不同模型的電價(jià)預(yù)測(cè)結(jié)果Fig. 4 Electricity price prediction results of different models
表2 3 種預(yù)測(cè)模型誤差結(jié)果Tab.2 Error results of the three prediction models
從圖4 和表2 中可以看出,LSTM 預(yù)測(cè)模型對(duì)電價(jià)的擬合效果最低,VMD-Adam-LSTM 混合模型相比于EMD-Adam-LSTM 混合模型的擬合效果更高。究其原因則在于LSTM 是單一的預(yù)測(cè)模型,沒(méi)有對(duì)原始電價(jià)數(shù)據(jù)進(jìn)行預(yù)處理,而VMD 相對(duì)于EMD 分解方法更能抑制模態(tài)混疊問(wèn)題,使預(yù)測(cè)精度提高。
本文提出了一種VMD-Adam-LSTM 混合模型,并采用美國(guó)PJM 的電價(jià)數(shù)據(jù)進(jìn)行實(shí)驗(yàn)驗(yàn)證。
該混合模型具有LSTM 能夠處理非線(xiàn)性和長(zhǎng)依賴(lài)性時(shí)間序列的特點(diǎn),同時(shí)也結(jié)合了VMD 相對(duì)于EMD 更能抑制模態(tài)混疊的優(yōu)點(diǎn)。在VMD 分解時(shí),通過(guò)比較中心頻率選擇合適的IMF分量個(gè)數(shù),防止過(guò)擬合現(xiàn)象的發(fā)生。在數(shù)據(jù)預(yù)處理時(shí),采用3σ準(zhǔn)則避免了異常值的影響。實(shí)驗(yàn)結(jié)果表明,本文提出的VMD-Adam-LSTM 混合模型相比于單一的LSTM模型和EMD-Adam-LSTM 混合模型,具有更高的預(yù)測(cè)精度,驗(yàn)證了該模型的有效性和準(zhǔn)確性。