蘇州大學(xué)機(jī)電工程學(xué)院 朱富云 國(guó)網(wǎng)江蘇省電力有限公司南通市通州區(qū)供電分公司 葛 曄 周 蕾
南通大學(xué)信息科學(xué)技術(shù)學(xué)院 胡祖輝
隨著我國(guó)電力行業(yè)的快速發(fā)展,我國(guó)越來越重視電量預(yù)測(cè)管理,以便能夠更好地優(yōu)化電力資源配置,提高發(fā)電和供電效益。早在2010年,我國(guó)就開始提出要通過加強(qiáng)采集和分析電力用戶的用電信息來為電力需求側(cè)管理提供技術(shù)支撐[1]。準(zhǔn)確電量預(yù)測(cè)管理對(duì)于確保電力系統(tǒng)經(jīng)濟(jì)、高效和穩(wěn)定運(yùn)行都具有重要意義。從電力市場(chǎng)運(yùn)營(yíng)的角度來說,準(zhǔn)確的電量預(yù)測(cè)是電力公司降低供電成本和提高運(yùn)營(yíng)利潤(rùn)的客觀需要;從生態(tài)環(huán)保的角度來說,準(zhǔn)確的電量預(yù)測(cè)是落實(shí)節(jié)能減排和貫徹綠色低碳新發(fā)展理念的必然要求;從電力系統(tǒng)運(yùn)維的角度來說,準(zhǔn)確的電量預(yù)測(cè)可以為電力公司合理安排電網(wǎng)運(yùn)行檢修計(jì)劃和提高供電可靠性提供重要依據(jù)[2]。因此,在新的時(shí)代背景下,開展電量預(yù)測(cè)方法研究,準(zhǔn)確預(yù)測(cè)區(qū)域內(nèi)的中長(zhǎng)期和短期電量,實(shí)現(xiàn)電力生產(chǎn)和運(yùn)營(yíng)的精細(xì)化管理,是電力公司的迫切需要。
電量預(yù)測(cè)問題本質(zhì)上是時(shí)間序列預(yù)測(cè)問題。電量預(yù)測(cè)的核心問題是利用已有的歷史電量數(shù)據(jù)構(gòu)造適當(dāng)?shù)臄?shù)學(xué)模型,挖掘其中蘊(yùn)含的電量數(shù)據(jù)規(guī)律,預(yù)測(cè)未來某時(shí)間段內(nèi)的電量數(shù)據(jù)值。國(guó)內(nèi)外專家學(xué)者已經(jīng)在該領(lǐng)域開展了很多研究,提出了很多電量預(yù)測(cè)模型和方法。就單一模型來說,電量預(yù)測(cè)常用模型和方法大體可以分為兩類:一類是以統(tǒng)計(jì)學(xué)理論、灰色預(yù)測(cè)理論等為代表的統(tǒng)計(jì)分析模型;另一類是以線性回歸、支持向量機(jī)、隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)等為代表的機(jī)器學(xué)習(xí)模型。除了使用單一模型進(jìn)行電量預(yù)測(cè),還有將多種預(yù)測(cè)模型結(jié)合起來形成的各類組合模型,如灰色預(yù)測(cè)和支持向量機(jī)組合模型、灰色預(yù)測(cè)和隨機(jī)森林組合模型、LSTM 與XGBoost組合模型等。根據(jù)模型組合方式的不同,組合模型又可以分為等權(quán)組合模型、殘差組合模型和變權(quán)組合模型。
近年來,大數(shù)據(jù)與人工智能技術(shù)得到了迅猛發(fā)展,在計(jì)算機(jī)視覺、語(yǔ)音識(shí)別、自然語(yǔ)言處理等許多領(lǐng)域都取得了重大突破。在時(shí)間序列預(yù)測(cè)領(lǐng)域,基于深度學(xué)習(xí)的長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM),取得了比其他方法更好的應(yīng)用效果。因此,本研究采用LSTM 結(jié)合殘差修正模型來對(duì)電量數(shù)據(jù)進(jìn)行建模和預(yù)測(cè)。
LSTM 是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),由Hochreiter和Schmidhuber在1997年提出,主要是為了解決RNN 在長(zhǎng)時(shí)間序列訓(xùn)練過程中出現(xiàn)的缺陷[3]。LSTM 對(duì)長(zhǎng)時(shí)間序列有著很好的支持。LSTM 的網(wǎng)絡(luò)基本單元結(jié)構(gòu)如圖1所示。
圖1 LSTM 網(wǎng)絡(luò)基本單元結(jié)構(gòu)
從圖1可以看出,LSTM 網(wǎng)絡(luò)基本單元結(jié)構(gòu)有三種“門”結(jié)構(gòu),分別是遺忘門、輸入門和輸出門。“門”結(jié)構(gòu)是一種信息篩選結(jié)構(gòu),能夠控制信息的保留和丟棄。LSTM 通過“門”結(jié)構(gòu)來控制丟棄或者保留信息。和傳統(tǒng)的RNN 一樣,LSTM 將上一單元的輸出作為當(dāng)前單元的輸入。LSTM 網(wǎng)絡(luò)使用LSTM 網(wǎng)絡(luò)基本單元替換了傳統(tǒng)RNN 網(wǎng)絡(luò)基本單元,實(shí)現(xiàn)了信息的有效篩選和長(zhǎng)期記憶,因而在處理非線性時(shí)序數(shù)據(jù)方面具有更好的性能和更好的泛化能力[4]。相關(guān)計(jì)算公式如下:
遺忘門:
輸入門:
輸出門:
更新細(xì)胞狀態(tài):
最終輸出:
式中,xt為t 時(shí)刻的輸入,ht為t 時(shí)刻的輸出,ft為t 時(shí)刻的遺忘門,it為t 時(shí)刻的輸入門,ot為t時(shí)刻的輸出門,Ct為t 時(shí)刻的細(xì)胞狀態(tài),~Ct為t時(shí)刻的細(xì)胞狀態(tài)候選值,W 為權(quán)重矩陣,b 為偏置項(xiàng),σ 為sigmoid 函數(shù),tanh 為tanh 函數(shù),⊙表示兩個(gè)矩陣中對(duì)應(yīng)元素的乘積,即Hadamard 乘積,也稱為element-wise 乘積。
根據(jù)時(shí)間序列分解理論,時(shí)間序列可以分解為三個(gè)分量,分別為:周期分量(Seasonal Component)、趨勢(shì)分量(Trend Component)和殘差分量(Remainder Component)[5]。周期分量表征的是時(shí)間序列的季節(jié)性特征,趨勢(shì)分量表征時(shí)間序列的長(zhǎng)期趨勢(shì)特征,殘差分量表征的是分離出周期分量和趨勢(shì)分量后剩余的隨機(jī)殘差特征。按照分解方式的不同,可以分為加性分解(Additive Decomposition) 和乘性分解(Multiplicative Decomposition)。
對(duì)于一個(gè)時(shí)間序列yt,如果進(jìn)行加性分解,則可以寫成:
式中St、Tt、Rt分別是周期分量、趨勢(shì)分量和殘差分量。
類似地,如果進(jìn)行乘性分解,則可以寫成:
同樣,式中St、Tt、Rt分別是周期分量、趨勢(shì)分量和殘差分量。
statsmodels 提供的seasonal_decompose()函數(shù)支持兩種分解模型,即加法模型和乘法模型,只需將model 參數(shù)設(shè)置為“additive”和“multiplicative”即可。以加性分解為例,相關(guān)代碼如下:
本研究使用LSTM 模型分別對(duì)電量時(shí)序數(shù)據(jù)分解得到的周期分量、趨勢(shì)分量和殘差分量進(jìn)行建模,將每個(gè)分量作為一個(gè)維度,可以得到電量時(shí)序數(shù)據(jù)的三維模型。基于三維模型的電量預(yù)測(cè)流程如圖2所示。
圖2 基于三維模型的電量預(yù)測(cè)流程
在模型訓(xùn)練階段,首先對(duì)電量時(shí)序數(shù)據(jù)進(jìn)行分解,然后劃分訓(xùn)練集和驗(yàn)證集。在訓(xùn)練集上使用LSTM 方法分別對(duì)周期分量、趨勢(shì)分量和殘差分量進(jìn)行建模訓(xùn)練,生成3個(gè)LSTM 模型。3個(gè)LSTM模型的網(wǎng)絡(luò)結(jié)構(gòu)可以相同,也可以不同。之后在驗(yàn)證集上進(jìn)行預(yù)測(cè),按照公式(7)或公式(8)合并預(yù)測(cè)結(jié)果,并將合并后的預(yù)測(cè)結(jié)果與真實(shí)值進(jìn)行比較分析,評(píng)估模型的預(yù)測(cè)精度。
在模型預(yù)測(cè)階段,數(shù)據(jù)預(yù)處理方法與模型訓(xùn)練階段相同,即先將預(yù)測(cè)數(shù)據(jù)分解為周期分量、趨勢(shì)分量和殘差分量,然后使用模型訓(xùn)練階段得到的3個(gè)LSTM 模型分別進(jìn)行預(yù)測(cè),得到周期分量、趨勢(shì)分量和殘差分量預(yù)測(cè)結(jié)果。最后合并三個(gè)維度的預(yù)測(cè)結(jié)果,得到最終的電量預(yù)測(cè)結(jié)果。
本研究以南通某地區(qū)2013年3月1日至2021年7月31日的每日電量數(shù)據(jù)作為研究對(duì)象,電量數(shù)據(jù)單位為萬千瓦時(shí)。使用statsmodels 提供的seasonal_decompose()函數(shù)對(duì)電量時(shí)間序列數(shù)據(jù)進(jìn)行加性分解和乘性分解,結(jié)果如圖3和圖4所示。
圖3 電量數(shù)據(jù)加性分解結(jié)果
圖4 電量數(shù)據(jù)乘性分解結(jié)果
以2020年8月1日至2021年7月31日的每日電量數(shù)據(jù)為測(cè)試數(shù)據(jù),其他每日電量數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。
實(shí)驗(yàn)平臺(tái)為Windows 10 64位操作系統(tǒng),CPU 為Intel 酷睿i7-8550U,內(nèi)存為16GB。使用Python 語(yǔ)言,開發(fā)工具為PyCharm。LSTM 模型采用基于TensorFlow 2.0的Keras 框架實(shí)現(xiàn),相關(guān)訓(xùn)練參數(shù)設(shè)置如下:損失函數(shù)為mae,優(yōu)化器為adam,epochs 為300,batch_size 為10,shuffle為False,其他參數(shù)使用默認(rèn)設(shè)置。
使用均方根誤差(Root Mean Square Error,RMSE)、平均絕對(duì)誤差(Mean Absolute Error,MAE)、平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)作為電量預(yù)測(cè)精度評(píng)價(jià)指標(biāo)。
式中t 的時(shí)序單位為天,n 為預(yù)測(cè)電量數(shù)據(jù)的天數(shù)。每日電量預(yù)測(cè)值與真實(shí)值yi的差值稱為殘差,RMSE 是預(yù)測(cè)值和真實(shí)值的殘差平方和均值的平方根,MAE 是預(yù)測(cè)值和真實(shí)值的殘差絕對(duì)值的平均值,MAPE 是預(yù)測(cè)值和真實(shí)值的殘差絕對(duì)值與真實(shí)值的百分比的平均值。
如果進(jìn)行中長(zhǎng)期電量預(yù)測(cè),如月度電量預(yù)測(cè)或年度電量預(yù)測(cè),可以對(duì)MAPE 進(jìn)行相應(yīng)變換,記為總體絕對(duì)百分比誤差MAPEtotal,計(jì)算公式如下:
需要注意的是,由于LSTM 神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過程具有一定的隨機(jī)性,使用相同參數(shù)對(duì)相同訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練的結(jié)果會(huì)略有不同,因此可以取多次訓(xùn)練的最佳模型用于最終的電量預(yù)測(cè)精度評(píng)估。
以加性分解為例,使用LSTM 預(yù)測(cè)模型對(duì)電量時(shí)序數(shù)據(jù)分解得到的周期分量、趨勢(shì)分量和殘差分量分別進(jìn)行建模訓(xùn)練,得到各個(gè)分量的預(yù)測(cè)結(jié)果曲線分別如圖5、圖6和圖7所示。
從圖5、圖6和圖7可以看出,三種分量的預(yù)測(cè)值與實(shí)際值均較為吻合,說明LSTM 模型對(duì)時(shí)序數(shù)據(jù)的擬合效果較好。按照式(7)加性分解公式,將三種分量直接相加,得到合并的預(yù)測(cè)結(jié)果曲線如圖8所示。
圖5 周期分量預(yù)測(cè)結(jié)果曲線
圖6 趨勢(shì)分量預(yù)測(cè)結(jié)果曲線
圖7 殘差分量預(yù)測(cè)結(jié)果曲線
圖8 加性分解合并預(yù)測(cè)結(jié)果曲線
從圖8合并后的加性分解預(yù)測(cè)結(jié)果曲線可以看出,最終的電量預(yù)測(cè)值與實(shí)際值吻合度也較高,表明預(yù)測(cè)結(jié)果較好。加性分解月度預(yù)測(cè)結(jié)果如表1所示。
表1 加性分解月度預(yù)測(cè)結(jié)果
從表1可以看出,除了2021年1月和2月外,電量預(yù)測(cè)的月度總體絕對(duì)百分比誤差MAPEtotal 都在1%以內(nèi),表明基于LSTM 與三維模型的電量預(yù)測(cè)方法能夠顯著提高電量預(yù)測(cè)的總體預(yù)測(cè)精度。
進(jìn)一步實(shí)驗(yàn)表明,采用乘性分解也可以得到類似的結(jié)果,電量預(yù)測(cè)的總體絕對(duì)百分比誤差也能夠顯著降低,只是在預(yù)測(cè)精度上與加性分解略有不同。加性分解與乘性分解預(yù)測(cè)結(jié)果精度比較如表2所示。
表2 加性分解與乘性分解預(yù)測(cè)結(jié)果精度比較
從表2可以看出,雖然加性分解各個(gè)分量的預(yù)測(cè)精度比乘性分解的低,但是最終合并預(yù)測(cè)結(jié)果的精度比乘性分解的高。這是因?yàn)槌诵苑纸庾詈笫褂贸朔ê喜?,誤差累積效應(yīng)比加性分解更為明顯,導(dǎo)致最終合并后的預(yù)測(cè)精度下降。
本研究以每日電量數(shù)據(jù)作為研究對(duì)象,使用LSTM 模型對(duì)電量時(shí)序數(shù)據(jù)分解得到的周期分量、趨勢(shì)分量和殘差分量分別進(jìn)行建模,將每個(gè)分量作為一個(gè)維度,得到電量時(shí)序數(shù)據(jù)的三維模型。通過對(duì)基于LSTM 與三維模型的電量預(yù)測(cè)進(jìn)行研究,可以發(fā)現(xiàn)無論采用加性分解還是乘性分解,通過對(duì)電量時(shí)序數(shù)據(jù)進(jìn)行分解后再分別建模,最后合并預(yù)測(cè)結(jié)果,可以顯著提高電量預(yù)測(cè)的總體預(yù)測(cè)精度,同時(shí)提升模型的泛化能力。該方法不僅可以應(yīng)用于電量時(shí)間序列數(shù)據(jù)預(yù)測(cè),還可以應(yīng)用于其他時(shí)間序列預(yù)測(cè)領(lǐng)域。
受到電量歷史數(shù)據(jù)集較小的限制,本研究中LSTM 模型構(gòu)建得較為簡(jiǎn)單,在一定程度上限制了精度的提升,特別是對(duì)每日電量的預(yù)測(cè)精度仍有待進(jìn)一步提高。下一步可以考慮結(jié)合電量大數(shù)據(jù)平臺(tái),以若干分鐘或小時(shí)為時(shí)間間隔采集電量數(shù)據(jù),增大電量時(shí)序數(shù)據(jù)分辨率,擴(kuò)充訓(xùn)練數(shù)據(jù)集,適當(dāng)增加LSTM網(wǎng)絡(luò)模型復(fù)雜度,進(jìn)一步提高電量預(yù)測(cè)的準(zhǔn)確性。