方志強, 王曉輝, 夏 通
( 國網浙江省電力有限公司麗水供電公司,浙江 麗水 323050)
隨著國家經濟的高速發展,電力事業也處在大力發展的階段,準確地對售電量進行預測具有重要意義,一方面供電企業可以據此調整未來供電量,優化供電結構,提高電力系統運行的安全性;另一方面,售電量作為經濟發展的晴雨表,能幫助政府和供電公司了解本地區的經濟發展情況,進而為管理者對售電定價、用電策略等決策[1]提供數據支撐,并有助于統籌所有行業的發展規劃。
根據售電量歷史數據對未來售電量進行預測,在本質上可以歸納為時間序列預測問題。時間序列是指將某種統計指標在不同時刻所表示的數值按照其發生的先后順序排列而成的序列,而時間序列數據則是時間序列所反應的實際數據。影響售電量的因素是多樣的,不僅僅在時間軸上與售電量自身因素有關,還與季節、氣溫、氣候、經濟發展、周末情況、節假日情況等因素有關,因此該預測問題是多條件的時間序列預測問題。
基于歷史時間序列數據對未來數據進行預測的問題已經得到了國內外廣泛的研究。較早的方法是英國統計學家YULE U提出的自回歸模型(AR),在該模型基礎上,WALKER G T提出了滑動平均模型(MA)以及自回歸滑動模型(ARMA)。由于ARMA模型無法很好地在非平穩數據上進行擬合,BOX和JENKINS提出了自回歸積分滑動模型(ARIMA)[2]。文獻[3—5]給出了基于ARIMA模型的售電量預測方法,通過將售電量序列看成一個隨機序列,運用一個數學模型來描述,并基于該模型預測未來的售電量數據。
除了經典的自回歸模型,THISSEN U和GUI B提出了支持向量機的時間序列數據預測方法[6-7],程海濤等[8]提出一種支持向量機結合X11季節調整方法用于短期電力負荷預測。宋曉華等[9]提出一種基于改進GM(1,1)和支持向量機的優化組合預測模型,該模型在對比較復雜的序列數據進行預測時,在性能上要高于ARIMA模型。張魁等[10]利用大數據技術通過比對GDP和電量負荷的增長趨勢,并且引用政策因素對電量負荷進行預測。此外,由于售電量數據產生通常都是非線性的,受多種因素影響,線性模型通常無法得到較高的預測精度,而基于人工神經網絡(ANNs)的售電量預測方法[11-13]能夠執行非線性模型,進一步提高了預測的準確性。
深度學習是近幾年提出的一種非常有效的自動提取數據特征的有效方法[14],例如循環神經網絡(RNNs)模型[15]是一種適合于處理序列數據的模型,它基于循環的網絡結構能夠利用序列數據本身的序列信息,發現序列的內在規律和特征,如將RNNs模型應用于股票預測[16]、軌跡位置預測[17]、語音識別[18]、自然語言處理[19-20]等領域。
長短期記憶網絡(long-short term memory,LSTM)是一種改進的RNNs模型,它通過修改RNNs 結構中的隱藏層神經元,解決了RNNs無法有效地利用長間隔序列的問題。為了提高售電量數據的預測準確性,本文提出一種基于長短期記憶網絡的售電量預測模型,該模型通過自動學習售電量歷史數據以及影響因素數據特征,能夠得到更好地預測準確度。
循環神經網絡 (RNNs)在20世紀80年代被提出,與傳統人工神經網絡相比,其循環的網絡結構使其可以充分利用序列數據本身的序列信息。
傳統的人工神經網絡中各個神經元的輸入與輸出都是相互獨立的,不直接作用于彼此,且保持層間全連接,層內無連接。而在 RNNs 中,神經元在當前時刻的輸出可以在下一時刻作用于其自身,這就使得循環神經網絡可以利用歷史輸入信息,而不僅僅只是根據當前時刻的輸入數據來更新權重,如圖1所示,橫向上 RNNs 按時間步長展開,其各時間步共享權重。

圖1 RNNs網絡結構Fig.1 Structure of RNNs network

(1)

(2)
式中:i表示輸入特征向量的維度;k表示輸出特征向量維度;h表示隱層;h′表示前一時間步的隱層;H表示總隱層單元數;φ表示激活函數;W1表示輸入層到隱藏層的權重;W2表示自循環層權重;W3表示隱藏層到輸出層的權重。
RNNs使用基于時間的反向傳播學習算法 (BPTT)[21]進行訓練,反向傳播時將網絡按時間展開,誤差將按時間順序從最后一個時刻往前進行傳播, 最后進行權重更新。
因為RNNs特殊的網絡結構,使得其可以充分學習到序列數據中前后數據的關聯關系,所以 RNNs被廣泛地應用于時間序列類問題。
由于RNNs在訓練時采用BPTT反向傳播算法,當遇到長間隔的序列在反向傳播通過鏈式法則求梯度時會出現梯度消失的現象[22],且梯度消失現象隨著時間跨度越長越嚴重,這使得 RNNs 在針對長范圍的序列時難以有效地進行訓練。
為了解決 RNNs 無法有效地利用長間隔序列問題,HOCHREITER S和SCHMIDHUBER J修改了RNNs 結構中的隱藏層神經元,將其設計成了一種被稱為長短期記憶網絡(long-short term memory,LSTM)的記憶單元結構[23-24],通過3種門結構: 遺忘門,輸入門和輸出門來控制神經元對歷史信息的記憶,如圖2所示,t時刻的計算過程如下。

圖2 LSTM記憶單元Fig.2 LSTM memory cell
(3)
ft=sigmoid(Wxfxt+Whfht-1+Wcfct+bf)
(4)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
(5)
ot=sigmoid(Wxoxt+Whoht-1+Wcoct+bo)
(6)
ht=ottanh(ct)
(7)
式中 :i,f,o分別表示輸入門,遺忘門,輸出門;c表示記憶單元;h表示隱層輸出,其下標表示時刻t;W表示連接權重,其下標表示權重關聯項,例如Wxi表示從輸入層到輸入門的連接權重,b為偏置項。根據i,f,o在[0, 1]范圍的取值,來控制歷史信息通過門結構的比例。tanh、sigmoid則為激活函數。
由于售電量數據涉及多個產業,每個產業又包括多個行業,每個行業在售電量方面都有各自的影響因素,故需要對各個行業進行分類處理。
使用Pearson相關系數[25]作為每個行業的售電量數據與其他影響因素數據特征的相關性的評價依據,其計算方法如下:
(8)
式中:r表示Pearson相關系數,取值范圍為[-1,1],其中0表示不相關,其值越接近1則正相關性越大,越接近-1則是負相關性越大;x和y為兩個數據特征變量;Cov(x,y)表示協方差;σx,σy表示標準差。
通過以上計算結果可以知道兩個數據特征變量之間是否相關,如售電量數據與氣溫數據的相關性,售電量數據與GDP數據的相關性,售電量數據與投資數據的相關性,售電量數據與日期數據的相關性等。對于不相關的影響因素或相關性弱的影響因素則予以排除。
由于每個行業的售電量情況不同,根據每個行業售電量單獨訓練模型,將使訓練過程過于復雜且訓練模型數量眾多。故本文提出先根據Pearson相關系數使用K-means算法對行業進行聚類,將售電量特征相似的行業聚為一類,這將大幅減少模型的數量。聚類之后得到若干個簇,每個簇包含了若干行業,同一簇中行業的售電量數據對某些數據特征具有一定的相似性,聚類算法如下:
輸入:售電量序列數據,Pearson相關系數集合D={x1,x2,…,xm},xi表示第i個行業的相關系數向量,其中的每一維表示與售電量相關的影響因素,m表示行業個數,聚類簇數是k;
輸出:簇劃分R;
步驟:從相關系數集合D中隨機選取k個行業的相關系數向量作為初始均值向量μ={μ1,μ2,…μk},其中μi是第i個行業的相關系數向量。
(1) do
(2)R=Φ
(3) forj= 1,2,…,mdo
(4) 計算xj與μi的距離,根據距離最近的均值向量確定xj的簇劃分
(5) end for
(6) fori=1,2,3,…,kdo
(7) 計算新均值向量μi′
(8) 如果μi′!=μi則更新μi否則保持不變
(9) while(μ不再更新)
由于售電量數值與影響因素的數值相差較大,故必須對這些數據進行歸一化處理,將各類數值縮放到同一尺度,縮放公式如下:
(9)
式中:x為每一類數據的原始數值;xmin為每一類數據的最小值;xmax為每一類數據的最大值,x*為該類數據計算得到的數值。
設售電量時間序列數據為:
X=(x1,x2,…,xt-1,xt)
(10)
式中:xt是t時刻的售電量,則售電量預測問題即是根據已知時間序列數據X,求得xt+1時刻的最大似然估計P(x):
(11)
由于售電量不僅僅受自身歷史數據的影響,也受其他各種相關因素的影響,即是多條件時間序列問題。由此,公式(8)變成如下形式:
(12)
式中:xt表示t時刻的售電量;ht表示t時刻額外的影響因素。
公式(11)與公式(12)是售電量預測的目標,通過在已知歷史售電量和外部影響因素數據求得下一日的售電量的條件概率P(xy),該條件概率通過LSTM模型進行擬合,如上公式(1—7)給出t時刻的計算過程,其中公式(6)為模型輸出,即售電量預測數值。由于LSTM存在門結構和記憶單元可以控制歷史信息在神經網絡中的傳遞,從而使得本文模型可以充分的利用歷史售電量數據,此外施加的外部影響因素數據也會對售電量預測模型產生影響。
圖3給出了基于長短期記憶網絡的售電量預測的過程圖。該過程以售電量數據和外部影響因素數據作為輸入。首先分別計算各個影響因素與各個行業售電量的相關系數,并且以行業數作為行數,以影響因素數作為列數,構建該行業聚類特征矩陣:
(13)

圖3 售電量預測過程Fig.3 Sales forecasting process
其次,根據聚類結果劃分原始售電量數據集,將相似的行業的售電量數據劃分為同一個子集,同時對同一子集中的所有售電量數據按日期進行累加得到該子集的日總售電量數據。
最后,根據以上子集劃分情況,分別訓練與劃分數量對應數量的模型。在預測階段,對每個簇的行業總售電量進行獨立預測,每個模型將輸出相應簇的售電量預測數值,最終將多個模型的預測結果進行累加得到總的日售電量預測結果。
本文結合實際售電量數據對所提出的預測方法進行了驗證。數據來自某市總計10個電力部門共106個行業的日售電量數據,總數據集大小為178 793條,106個行業的總售電量如圖4所示,時間跨度為2015年1月至2017年5月。將2015年1月1日至2016年12月31日的數據作為訓練數據集,將2017年1月1日至2017年5月31日的數據作為測試數據集。以15 d為預測單位,即根據歷史售電量信息每次預測未來15 d的售電量的值。

圖4 某市106個行業總售電量Fig.4 A city 106 total sales of electricity industry
同時考慮到不同行業所受影響因素不同,初步選取的影響因素包括:日最高氣溫,日最低氣溫,節假日情況,周末情況,季度,每月中的第幾天,每年中的第幾天,周數,每周中的第幾天,GDP,地區投資數據。
將以上影響因素分別與售電量數據計算Pearson相關系數,并執行K-means算法進行聚類,圖5給出通過t-SNE算法將聚類結果進行可視化的聚類結果圖,t-SNE算法將數據從高維空間映射至二維空間中,通過橫軸和縱軸指示數據點在二維空間中的位置并展示數據點與數據點間的距離。

圖5 聚類結果可視化Fig.5 Visualization of clustering results
實驗環境為一臺GPU服務器,CPU為Intel Xeon E5—2680 v4,內存為64 GB,GPU為Nvidia TiTan XP,軟件平臺為Google Tensorflow。選擇BP神經網絡預測模型[26]與本文提出的預測模型進行比較,該模型具有較好預測準確性,以突出本文方法的優勢。
為了評估預測值與真實值的誤差,本文選用均方誤差(mean squared error,MSE)作為評價指標,同時MSE也作為LSTM售電量預測模型的目標函數,目標函數如下:
(14)

本文使用3層LSTM網絡對售電量數據進行預測,在每層LSTM間使用dropout抑制模型過擬合現象。使用如上所示的訓練集,在本實驗環境中對模型進行訓練,如圖6所示,經過200次迭代模型即可收斂,訓練總計用時8 min左右。

圖6 模型收斂曲線Fig.6 Convergence curves for LSTM model
通過行業聚類將數據集按行業進行劃分,預測階段也將按照聚類結果分別進行預測,圖7給出了LSTM模型與BP神經網絡的預測結果,其中LSTM模型的預測結果為根據子集劃分情況分別預測后累加而成的總售電量預測。從圖7中可以看到LSTM網絡預測模型相比于BP神經網絡更貼近真實值,預測誤差較小,即使數據出現突降也能很好地進行預測。LSTM網絡與BP神經網絡的MSE值分別為0.009 2與0.028 51,平均誤差分別為2.1%與15.8%,由此可發現基于LSTM的售電量預測模型相比BP神經網絡模型在預測精度上具有較大的提升。

圖7 售電量預測結果對比Fig.7 Comparison figure of the result of electricity sale forecast
為了提高售電量預測的準確性,本文提出了一種基于長短期記憶網絡的售電量預測方法,通過分析售電量數據及其影響因素的相關性,根據各個行業的數據特征將相似的行業進行聚類,并根據聚類結果訓練長短期記憶網絡,自動學習售電量數據以及相關影響因素的數據特征,通過所設計的多條件時間序列預測模型得到更好的售電量預測結果。
參考文獻:
[1] 吳 橋, 盧樹峰, 楊世海,等. 需求側響應條件下的家庭用電管理研究[J]. 電力工程技術, 2016, 35(5):28-31.
WU Qiao, LU Shufeng, YANG Shihai, et al. Research on home energy management under the condition of demand-side response[J]. Electric Power Engineering Technology, 2016,35(5):28-31.
[2] BOX G E P, JENKINS G M. Time series analysis: forecasting and control[J]. Journal of the American Statistical Association, 1970, 68(342):199-201.
[3] 顏 偉,程 超,薛 斌,等. 結合X12乘法模型和ARIMA模型的月售電量預測方法[J]. 電力系統及其自動化學報,2016,28(5):74-80.
YAN Wei, CHENG Chao, XUE Bin, et al. Forecasting for monthly electricity consumption using X12 multiplication method and ARIMA model[J]. Proceedings of the CSU-EPSA,2016,28(5):74-80.
[4] 樊 嬌,馮 昊,牛東曉,等. 基于小波分析和GM-ARIMA模型的月度售電量預測[J]. 華北電力大學學報(自然科學版),2015,42(4):101-105.
FAN Jiao, FENG Hao, NIU Dongxiao,et al. Monthly electricity sales forecast based on wavelet analysis[J]. Journal of North China Electric Power University(Natural Science Edition),2015,42(4):101-105.
[5] 崔和瑞,王 娣. 基于季節ARIMA模型的華北電網售電量預測研究[J]. 華東電力,2009,37(1):70-72.
CUI Herui, WANG Di. Study of electricity sales forecasting for North China Power Grid based on seasonal ARIMA model[J]. East China Electric Power, 2009,37(1):70-72.
[6] THISSEN U, VAN B R, DE W A, et al. Using support vector machines for time series prediction[J]. Chemometrics and Intelligent Laboratory Systems, 2003, 69(1):35-49.
[7] GUI B, WEI X, SHEN Q, et al. Financial time series forecasting using support vector machine[C]∥Tenth International Conference on Computational Intelligence and Security. 2015: 39-43.
[8] 程海濤. 支持向量機結合X11季節調整方法用于短期電力負荷預測[D]. 甘肅:蘭州大學,2011.
CHENG Haitao. X11 seasonal adjustment combined with SVM for short-term electric load forecasting[D]. Gansu: Lanzhou University,2011.
[9] 宋曉華, 祖丕娥, 伊 靜,等. 基于改進GM(1,1)和SVM的長期電量優化組合預測模型[J]. 中南大學學報(自然科學版), 2012, 43(5):1803-1807.
SONG Xiaohua, ZU Pi’e, YI Jing, et al. An optimally combined forecast model for long-term power demand based on improved grey and SVM model[J]. Journal of Central South University(Science and Technology), 2012, 43(5):1803-1807.
[10] 張 魁, 王亞明, 劉 明,等. 基于大數據及智能算法的連云港電量負荷預測研究[J]. 電力工程技術, 2016, 35(3):49-52.
ZHANG Kui, WANG Yaming, LIU Ming, et al. Research on electricity consumption and load prediction of Lianyungang based on big data and intelligent algorithm[J]. Electric Power Engineering Technology, 2016,35(3):49-52.
[11] 張 喆, 吳知非, 禹建麗. 電力電量預測的神經網絡方法[J]. 統計與決策, 2008(4):156-157.
ZHANG Zhe, WU Zhifei, YU Jianli. Neural network method for power forecasting[J]. Statistics and Decision, 2008(4):156-157.
[12] 衣 智. 人工神經網絡在電力預測中的應用[D]. 天津: 天津大學, 2002.
YI Zhi. Application of artificial neural network in power forecasting[D]. Tianjin :Tianjin University,2002.
[13] 馮冬青, 李衛帥. 基于GA-BP神經網絡的電池剩余電量的預測[J]. 計算機仿真, 2011, 28(12):323-326.
FENG Dongqing, LI Weishuai.Prediction of residual capacity for battery based on GA-BP neural network[J]. Computer Simulation, 2011, 28(12):323-326.
[14] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553):436-444.
[15] CONNOR J T, MARTIN R D, ATLAS L E. Recurrent neural networks and robust time series prediction[J]. IEEE Transactions on Neural Networks, 1994, 5(2):240-54.
[16] 俞福福. 基于神經網絡的股票預測[D]. 哈爾濱:哈爾濱工業大學, 2016.
YU Fufu. Stock prediction based on neural netwok[D]. Harbin:Harbin Institute of Technology,2016.
[17] 李幸超. 基于循環神經網絡的軌跡位置預測技術研究[D]. 杭州:浙江大學, 2016.
LI Xinchao. The research of location prediction based on recurrent neural network[D]. Hangzhou: Zhejiang University,2016.
[18] 滕 云, 賀春林, 岳 淼. 基于神經網絡的語音識別研究[J]. 重慶師范大學學報(自然科學版), 2010, 27(4):73-76.
TENG Yun, HE Chunlin, YUE Miao. Research on speech recognition based on neural networks[J]. Journal of Chongqing Normal University(Natural Science), 2010, 27(4):73-76.
[19] GRAVES A, MOHAMED A, HINTON G. Speech recognition with deep recurrent neural networks[C]∥Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on. IEEE, 2013: 6645-6649.
[20] MIAO Y, GOWAYYED M, METZE F. EESEN: End-to-end speech recognition using deep RNN models and WFST-based decoding[C]∥Automatic Speech Recognition and Understanding. IEEE, 2016:167-174.
[21] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Nature, 1986, 323(6088): 533.
[22] BENGIO Y, SIMARD P, FRASCONI P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Tran-sactions on Neural Networks, 1994, 5(2): 157-166.
[23] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural computation. 1997, 9(8):1735-1780.
[24] GERS F A, SCHRAUDOLPH N N, SCHMIDHUBER J. Learning precise timing with LSTM recurrent networks[J]. Journal of Machine Learning Research, 2002, 3(8): 115-143.
[25] 陳功平,王 紅. 改進Pearson相關系數的個性化推薦算法[J]. 山東農業大學學報(自然科學版), 2016, 47(6):940-944.
CHEN Gongping, WANG Hong. A personalized recommendation algorithm on improving pearson correlation coefficient[J]. Journal of Shandong Agricultural Univers, 2016, 47(6):940-944.
[26] 吳 微, 陳維強, 劉 波. 用BP神經網絡預測股票市場漲跌[J]. 大連理工大學學報, 2001, 41(1):9-15.
WU Wei, CHEN Weiqiang, LIU Bo. Prediction of ups and downs of stock market by BP neural networks[J]. Journal of Dalian University of Technology, 2001, 41(1):9-15.