郭 晨,李雪瑞,韓照洋,付學謙
(中國農業(yè)大學 信息與電氣工程學院,北京 100083)
近年來,電力市場建設取得重大進展。電價是電力市場的重要因素,可以確保市場的穩(wěn)定運行,對電價的預測也逐漸成為學者們關注的焦點。電價是電力市場的關鍵影響因素,每個參與者都基于電價進行電力交易。因此,提高電價預測的精度對于電力市場中每個參與者而言都十分重要。因此,亟需對電價預測問題開展進一步的研究。
當下國內外電價預測方法有很多,具體歸類如下。
文獻[1]提出在現(xiàn)有電價預測模型上,對電價殘差序列建立時間序列模型,并采用整合移動平均自回歸模型(autoregressive integrated moving average model,ARIMA)降低預測誤差。時間序列組合模型簡單,通俗易懂,計算速度快,缺點是預測的精度較低。
鑒于時間序列組合模型預測精度不高,一些研究人員開始采用神經網絡的的方法進行電價預測。文獻[2]提出了一種卷積神經網絡的預測模型,進行日前電價預測;文獻[3]設計了一種先采用集合經驗模態(tài)分解(ensemble empirical mode decomposition,EEMD)方法,將歷史電價分解后,再使用小波神經網絡對電價進行預測的方法;為了提高預測精度,文獻[4]設計了一種將小波變換與矢量函數(shù)結合起來的新型神經網絡模型,來進行電價預測。
有研究提出將以上兩種模型結合起來。文獻[5]在時間序列的基礎上,采用回歸神經網絡的模型進行電價預測;文獻[6]提出基于EEMD,支持向量機(support vector machine,SVM)和自回歸滑動平均模型(autoregressive moving average model,ARMA)的組合預測模型,但這些組合模型的精確度仍有待提高。
為進一步提高預測精確度,本文采用深度信念網絡(deep belief network,DBN)[7]的預測模型來進行日前電價的預測。電價具有時間序列特征[8],深度信念網絡可以更好地捕捉電價波動的時序特征。將小波變換與DBN組合在一起,小波變換將原始電價信號進行分解,再通過分層預訓練為所有參數(shù)提供良好的初值,然后通過監(jiān)督微調過程搜索最優(yōu)值。相比其他單層神經網絡,在相同的數(shù)據(jù)輸入下,本文提出深度信念網絡訓練過程分層,迭代次數(shù)多,預測精確度更高[9]。
前文介紹了幾種傳統(tǒng)的電價預測模型,接下來介紹本文所采用的深度信念網絡。DBN 主要應用在特征學習、數(shù)據(jù)分類和生成數(shù)據(jù)等方面。DBN主要是使用受限玻爾茲曼機(restricted Boltzmann machine,RBM)作為構建模塊的無監(jiān)督學習子部分,外加一個用于預測的邏輯回歸層。
波爾茲曼機(Boltzmann machine,BM)是神經網絡的一種。BM 是兩層神經元結構的神經網絡,由顯元構成的顯層(visible layer,VL),主要用于輸入需要被訓練的數(shù)據(jù)。由隱元構成的隱層(hidden layer,HL),主要用來檢測特征。波爾茲曼機結構圖[10]如圖1(a)所示。
BM 有很強的特征學習能力,但由于其訓練和學習需要較長的時間。為優(yōu)化其耗時長的缺點,Sejnowski在BM的基礎上提出了RBM。
RBM 和BM 的區(qū)別是,在RBM 中,同一層的神經元是互不相連的,不同層的神經元是雙向完全連接的。這樣連接的優(yōu)點是,每層神經元的個數(shù)是互不相關的。RBM同層之間沒有連接,可以減少信息傳遞的過程,因此可以縮短求解的時間。
RBM的信息可以雙向流動,相當于增加了訓練的迭代次數(shù),保證了預測模型的準確性。這會使預測的精度不會下降太多。RBM結構圖[10]如圖1(b)所示。
圖1 結構圖Fig.1 Structure diagram
RBM 通過能量函數(shù)體現(xiàn)從顯層到隱層的概率分布,給定顯元vi、隱元hj、其連接權重wi,j以及vi的偏移量ai、hj的的偏移量bj,其能量函數(shù)E(v,h)可以定義為
采用能量函數(shù)的方式來定義顯層和隱層的概率分布
式中:Z為分布函數(shù)的歸一化常數(shù)。
W表示的是每個隱元與顯元間的權重[10]
式中:wi,j為從第i個顯元到第j個隱元的權重值;M為顯元的個數(shù);N為隱元的個數(shù)。
因此,可以推導出每個顯元和隱元的條件分布概率[10]
深度信念網絡是由多個RBM 分層堆疊而成,DBN的訓練過程包括預訓練和微調兩部分。
DBN 訓練過程包括分層預訓練和微調。分層預訓練為所有參數(shù)提供初始值,而微調根據(jù)網絡結構探索最優(yōu)值。深度信念網絡預訓練過程見圖2[11]。
圖2 DBN預訓練過程Fig.2 DBN pre-training process
逐層的訓練過程如下:①最下次的RBM 采用原始輸入數(shù)據(jù)進行充分訓練;②固定第一個RBM的權重和偏移量,將底部RBM 抽取的特征作為頂部RBM 的輸入;然后,可以將這兩個隱藏層視為一個新的RBM,并以相同的方式進行訓練;③第2 個RBM 進行充分訓練后,將其堆在第一個RBM的上方,重復這個過程訓練以盡可能多的RBM 層;④重復以上3 個步驟任意多次;⑤最后,在最頂層添加一個標準預測因子,即邏輯回歸,預測因子的訓練稱為微調過程,它旨在略微調整整個網絡中的參數(shù)。
原始的電價中含有很多非線性和非平穩(wěn)的因素,這些因素是導致預測電價精度降低的原因之一。因此,我們需要利用小波變換將歷史數(shù)據(jù)分解為多個頻率,以使數(shù)據(jù)在方差和離群值方面有更好的性能。
小波變換可以采用離散形式以提高效率。小波變換的離散形式如下所示[9]
式中:φ為母波;m、n為決定φ縮放和平移參數(shù)的兩個整數(shù)變量;t為離散時間的指標;T為信號f(t)的長度。
本文采用的是一種基于Mallat的快速離散小波變換的算法。該算法由分解濾波器和重構濾波器組成。因此,基于Mallat 算法的多級分解過程可以將歷史電價數(shù)據(jù)分解為一個近似值(An)和多個細小值(Dn),如圖3所示[9]。
圖3 多級分解過程Fig.3 Multi-level decomposition process
傳統(tǒng)的神經網絡非常容易陷入局部最優(yōu)的問題。當神經網絡為深層網絡時,因為需要優(yōu)化的參數(shù)更多,這個問題將會變得更加突出。處理局部最優(yōu)問題的辦法就是盡可能將參數(shù)初始化。
DBN 在解決以上問題中有較好的方式。DBN訓練過程包括分層預訓練和微調。分層預訓練為所有參數(shù)提供初始值,而微調根據(jù)網絡結構探索最優(yōu)值。
每次預先訓練一個獨立的RBM,就可以得到相關的參數(shù)a、b、W。訓練前的過程是通過對RBM目標函數(shù)進行隨機梯度上升來實現(xiàn)的,即P( )v的對數(shù)似然。這里,P(v)是可見向量在所有隱藏單元上的概率[11]
因此,目標函數(shù)的形式如下
式中:θ∈{a,b,W}和S是訓練數(shù)據(jù)集。
根據(jù)貝葉斯統(tǒng)計理論,通過隨機梯度上升算法使目標函數(shù)(10)最大化,生成穩(wěn)定且初始狀態(tài)良好的RBM。梯度上升算法表明,RBM 中的參數(shù)a、b、W是根據(jù)目標函數(shù)L的導數(shù)進行更新的,如下所示[9]
式中:EP、EP^分別為原始數(shù)據(jù)驅動和重構數(shù)據(jù)驅動概率。
使用訓練數(shù)據(jù)集上的式(5)和式(6)可以很容易地計算式(10)至式(12)的EP[ ]。然而,式(10)至式(12)中第2 項的計算過程要復雜得多,因為DBN系統(tǒng)學習的是分布P^ 的期望值。一種可行的策略是在可見單元的任何隨機狀態(tài)上應用交替吉布斯采樣,直到滿足某種收斂準則,如k步。因此,對P^的期望可以通過分析來估計。然而,抽樣策略非常耗時,因此很少在現(xiàn)實生活中執(zhí)行。作為補救措施,提出一種稱為對比發(fā)散(contrastive divergence,CD)的快速學習方法。該方法采用兩種方法來加快采樣過程。一種是用訓練樣本初始化馬爾可夫鏈,另一種是只經過吉布斯采樣k步后獲取樣本,稱為CD-k。實驗結果表明,即使k=1,CD 也能很好地進行模型識別。
本研究采用CD-1對EP^的期望值進行估計,因此參數(shù)a、b、W的更新規(guī)則可由式(10)至式(12)推導[9]
式中:上標t為時間步長;η為學習率,在本研究中取0.9。
通過研究發(fā)現(xiàn),當RBM 的層數(shù)為4 時[12],預測的精度最高。如2.2 節(jié)所述,DBN 中的每層神經元的個數(shù)都是基于分層預訓練方法進行適當初始化的。這些參數(shù)需要在有監(jiān)督的情況下進行微調,直到DBN的損失函數(shù)達到最小值。基于BP算法的有效性,本文采用BP算法來處理這類任務。
在監(jiān)督微調過程中,BP 算法根據(jù)一定的周期,采用自上而下的工作方式。一個工作周期意味著一次性更新所有的參數(shù),這將減少預測的誤差。下一步,通過訓練集對這些誤差進行反向傳播,然后將DBN參數(shù)重新調整到最優(yōu)狀態(tài)。因此,在重復一定的BP周期之后,可以得到最優(yōu)的DBN參數(shù),這就意味著完成了深度信念網絡的訓練過程。
為了驗證本文所提出預測模型的優(yōu)越性,現(xiàn)用美國PJM電力市場真實數(shù)據(jù)[13]進行仿真預測。其中選 取2018 年10 月1 日 至11 月30 日共61 天歷史電價數(shù)據(jù)預測2018年12月1日的電價,以h為采樣周期,將前40天共960 h的樣本數(shù)據(jù)作為訓練樣本,將后21 天共504 h 的樣本數(shù)據(jù)作為預測集。本文在matlab 仿真平臺輸入歷史電價數(shù)據(jù),此數(shù)據(jù)規(guī)模在精度基本達到要求的前提下能夠避免仿真過程耗時過長,經過訓練得出樣本特征,通過504 h的樣本集預測得到1 天的電價預測結果,通過與實際電價數(shù)據(jù)對比驗證本文提出模型預測電價的有效性,并通過與EEMD,GA-SVM,ARMA 組合模型、GA-SVM組合模型、ARMA-GARCH 組合模型等組合電價預測模型的預測結果對比說明本文預測模型的精確度。各種模型預測結果見表1。
表1 美國PJM電力市場12月1日各種模型預測結果
通過在matlab 仿真平臺輸入歷史電價數(shù)據(jù),得到美國PJM 電力市場2018 年12 月1 日預測電價的仿真結果如下。
DBN各層神經元個數(shù)如表2所示。
表2 DBN各層神經元個數(shù)Table 2 Number of neurons in each layer of DBN
本文的預測電價數(shù)據(jù)與美國PJM 電力市場2018 年12 月1 日的真實電價對比如圖4 所示。玻爾茲曼機模型的預測數(shù)據(jù)與真實電價的對比如圖5 所示。
圖4 DBN預測的電價與真實電價Fig.4 DBN forecasted electricity price and real electricity price
圖5 玻爾茲曼機預測的電價與真實電價Fig.5 The electricity price predicted by the Boltzmann machine and the real electricity price
DBN 預測模型和玻爾茲曼機預測模型的誤差對比如表3所示。
表3 DBN預測模型和玻爾茲曼機預測模型的誤差對比Table 3 Error comparison between DBN prediction model and Boltzmann machine prediction model
RBM的信息可以雙向流動,相當于增加了訓練的迭代次數(shù),保證了預測模型的準確性。通過DBN預測模型和BM 預測模型的誤差對比,我們可以看出采用DBN預測模型的平均誤差比BM預測模型的平均誤差更低。因此,采用RBM 預測電價,預測精度并不會下降,反而略有上升。
其他模型的預測數(shù)據(jù)與真實電價的對比如圖6所示。
圖6 各預測模型預測電價與真實電價Fig.6 Forecasted electricity price and real electricity price of each prediction model
為進一步說明各個模型的預測效果,將各模型的預測誤差放在同一圖中進行比較,如圖7所示。
圖7 各預測模型的誤差對比Fig.7 Error comparison of each prediction model
各預測模型的平均誤差對比如表4所示。
表4 各預測模型的平均誤差對比Table 4 Comparison of the average error of each prediction model
通過圖7和表4可以看出,采用DBN進行電價預測,相比單層神經網絡的電價預測精確度更高,可以為實際電價預測提供一種有效的方法。
本文提出一種基于深度信念網絡的電價預測模型。采用美國PJM電力市場的真實數(shù)據(jù)進行仿真預測,并與其他神經網絡的預測模型進行比較。得出以下結論:本文采用的深度信念網絡模型的預測精度更高,使用深度信念網絡可以為我國售電公司進行電價預測提供一種有效的方法。D