謝曉龍 葉笑冬 董亞明
(上海電氣集團股份有限公司中央研究院 上海 200070)
從20世紀90年代末開始,我國就已經開始逐步進行電力體制改革的嘗試。
2002年開始電改,其目標包括:實施廠網分開、實行競價上網等內容。自實施以來,電力行業破除了獨家辦電的體制束縛,從根本上改變了指令性計劃體制和政企不分、廠網不分等問題。但電力行業仍然面臨一些亟待解決的問題,包括:交易機制的缺失、市場化定價機制尚未完全形成等問題。因此,國務院于2015年發布《關于進一步深化電力體制改革的若干意見》以及一系列文件,明確指出了深化改革的方向和舉措[1]。
電價是電力市場的核心內容,電力市場的參與者以電價進行電力交易和結算,因此,電價的波動直接影響到各個市場參與者的收益。對于發電企業,在競價市場中,其需要能夠準確地預測電價,才能保證提供合理有效的報價,進而實現效益最大化[2],因此電價的預測是值得研究的問題。
不同的電力交易市場模式中采用了不同的機制,目前采用較多的是統一出清電價的機制。各發電企業分別報價,交易中心按照報價從低到高依次選擇,直至發電量與需求電量平衡,最后一個被選中的發電企業報價作為市場出清電價MCP(market clearing price),最后所有投標獲勝的發電企業全部按MCP進行結算[3]。本文以美國PJM(Pennsylvania—New Jersey—Maryland)電力市場中的日前市場為例,研究其日前市場電價的預測問題。日前市場是PJM電能市場的重要子市場,發電商于交易日前一天的截止時間之前提交報價,截止時間過后進行出清,其結果是交易日24個小時的電價。
關于電價預測,研究人員做了大量的探索,采用不同的方法進行預測,包括ARIMA模型[4]、GARCH模型[5]、神經網絡模型[6]、小波神經網絡[7]、灰色模型[8]、支持向量回歸[9]、時間序列分解[10]、決策樹[11]等。上述文獻大多采用單個全局優化模型,另一種思路是可以采用集成學習模型,即通過結合多個學習機的結果得到更準確的預測結果。集成學習模型中最常用的是隨機森林RF(random forest)模型和提升樹GBDT(gradient boosting decision tree)模型。集成學習模型一般具有相對較高的預測準確性和模型穩定性。隨機森林模型已應用于多個場景,如文本分類[12]、腫瘤診斷[13]等。提升樹模型也已成功應用到短期電力負荷預測[14]等領域。
本文在以上兩種集成學習模型的基礎上,結合二者的優勢,提出了一種新的集成學習模型——梯度提升隨機森林GBRF(gradient boosting random forest)模型。其能夠有效利用隨機森林模型穩定性高的優點,并在其基礎上,發揮梯度提升算法的優點,進一步提高模型預測的準確性,使得提出的模型優于傳統的集成學習模型。
集成學習模型與傳統的全局機器學習模型,如神經網絡、支持向量機等不同,其不是學習一個全局模型,而是通過建立一系列機器學習模型,然后將其組合以獲得準確性更高、穩定性更好的模型。其中集成學習模型中的各個模型,稱為基礎學習機。集成學習模型通過一定的集成策略將眾多基礎學習機集成,最常用的集成策略是Bagging策略[15]和Boosting策略[16]。兩種集成學習策略如圖1與圖2所示。

圖2 Boosting集成學習策略示意圖
如圖1所示,Bagging策略采用并行結構,首先使用bootstrap方法進行采樣,為不同的基礎學習機提供不同的訓練樣本集合,然后分別訓練各個基礎學習機,最終將各個結果綜合后作為整個Bagging模型的結果。如圖2所示,Boosting策略采用串行結構,前一個基礎學習機的結果會影響后一個基礎學習機的樣本,即后續的基礎學習機不斷修正或提高前面基礎學習機的結果。最終將各個基礎學習機的結果綜合后作為整個Boosting模型的結果。在某些模型中各個基礎學習機可能會根據其性能分配不同的權重。
隨機森林模型[17]作為一種集成學習模型,其基礎學習機為決策樹,采用Bagging策略。為了增加每個決策樹的隨機性,以增加不同樹之間的差異性,在每個決策樹的生成過程中,采用隨機子空間策略。隨機森林模型的算法示意圖如圖3所示。

圖3 隨機森林模型算法示意圖
如圖3所示,隨機森林模型的算法分為3步,其基礎學習機為決策樹,本文約定樹的數目為N,樣本數目為T,輸入特征數目為P,算法具體如下。



隨機森林模型的一個優點是其可以在訓練的同時進行泛化誤差的估計,即OOB估計。如圖1所示,每個決策樹有各自的OOB樣本,這些樣本在該決策樹的訓練過程中未被使用,因此可利用這些樣本來估計模型的泛化能力,而不像其他模型一樣,需要借助交叉驗證的方法單獨估計泛化誤差。根據理論推導,隨機森林模型的泛化誤差上界可表示如下:
(1)

一般的,模型的泛化誤差可以解釋為由偏差和方差引起。對于隨機森林模型,其偏差的期望與各個基礎學習機偏差的期望相等,即隨機森林模型一般不會顯著降低模型的偏差,但其可以顯著減小模型的方差。假設各個決策樹的方差均為σ2,則隨機森林模型的方差可大致表示為:
(2)
由式(2)可知,當各個決策樹的相關性較小時,隨機森林模型的方差會顯著下降。因此,Bagging策略一般需要準確性較高的基礎學習機,其基礎學習機決策樹模型不進行剪枝,整個模型通過降低方差的方式提高泛化性能。
集成學習的主要策略有Bagging與Boosting,且各有優勢與不足。隨機森林模型采用Bagging策略,可以減小模型的方差,但難以顯著降低偏差,因此要求基礎學習機具有相對較高的準確性。Boosting策略則可以降低模型偏差。原理上講,即使采用了準確度相對較低的基礎學習機,也可以通過逐步提升的方式,提高整個模型的準確性。在Boosting策略中,使用較多的有AdaBoost模型和GBDT模型,其訓練過程本質上采用的是前向分步(forward stage-wise)算法,整個模型是一種加法模型,采用Boosting集成學習策略的模型可表示如下:
(3)
式中:集成學習模型FM(x)由M個基礎學習機模型線性組合而成,fm(x)為第m個基礎學習機,αm為第m個基礎學習機的權重。下一步便是如何訓練各個基礎學習機,AdaBoost和GBDT分別采用不同的方法進行訓練,其中AdaBoost通過對訓練樣本分配權重,然后根據分類正確與否更新權重的方式訓練不同的基礎學習機,GBDT則采用梯度提升方法進行訓練。一般AdaBoost適用于分類問題,如果要應用于回歸問題,需要做一定的改進,如AdaBoost.RT方法[18];GBDT方法可直接用于分類和回歸問題。本文中的出清電價預測屬于回歸問題,因此使用梯度提升方法進行模型的訓練。
梯度提升算法的原理是基于泛函的梯度下降法,首先定義目標函數如下:

(4)


(5)


(6)
根據梯度下降法的原理,最佳模型應為目標函數的負梯度方向,即:
(7)

(8)
重復以上過程,直到訓練完成所有的M個基礎學習機及其系數,最終按照式(3)得到集成學習模型。應用梯度提升算法的集成學習模型,采用了加法模型,后續的基礎學習機模型能夠在前面各個基礎學習機模型的基礎上,進一步提高精度,因此可以降低模型的偏差,這是其與Bagging策略的不同之處。其基礎學習機可以是準確性不高的模型,通過提升方法,逐步提高整個模型的準確性,但同時,也存在一定的過擬合風險[19],而不容易過擬合正是隨機森林模型的優勢之一[16]。
以上兩小節分別介紹了采用Bagging和Boosting集成策略的模型及其優點與不足,隨機森林模型不容易過擬合,但其要求基礎學習機具有相對較高的準確性,不會顯著降低偏差;梯度提升算法可以逐漸地降低模型偏差,但仍存在過擬合的風險。因此,為了提高出清電價預測的準確性,本文提出將兩種集成策略結合,以發揮各自的優勢,同時避免其不足。思路是,在梯度提升模型中,基礎學習機不再采用簡單的基礎學習機,如決策樹等,而是采用隨機森林模型。即首先使用隨機森林模型將眾多決策樹并行訓練,得到一個方差較小的基礎學習機模型,然后再利用梯度提升算法可以降低偏差的特點,在隨機森林模型的基礎上,進一步降低模型的偏差。通過較少次數的梯度提升訓練,便可在隨機森林模型的基礎上,進一步降低模型的偏差,從而降低整個模型的偏差和方差,提高模型預測的準確性與穩定性。
首先定義模型訓練的目標函數,實際中一般采用平方誤差函數:
(9)
式中:fm(x),m=1,2,…,M為隨機森林模型。然后,根據梯度提升方法,對第m個隨機森林模型,計算目標函數關于Fm-1(x),m=2,3,…,M的負梯度,作為第m個隨機森林模型的目標值。
(10)





通過以上算法,結合隨機森林模型不容易過擬合的優點和梯度提升方法可降低模型偏差的優點,進一步提高模型預測的準確性與穩定性。本文提出使用梯度提升隨機森林模型進行電價的預測,其預測流程如圖4所示。

圖4 基于隨機森林模型的電價預測流程
首先確定電價預測模型的輸入特征。影響電價的因素很多,但對其影響程度較大的主要是時間因素、電網負荷和歷史電價等。其中,時間信息包括當前時刻、交易日為周幾等,因為電價序列中有一定的周期性。負荷信息中包括一周前對應時刻的負荷值、一天前對應時刻的負荷值,以及待預測時刻的負荷預測值等。歷史電價信息中包括一周前和一天前對應時刻的電價值。以上為模型的輸入信息,模型的輸出則為待預測時刻的電價Y。將這些信息輸入第1個隨機森林模型,訓練得到f1(x),便得到該模型對訓練樣本的估計O1。根據梯度提升算法,計算二者的殘差r1=Y-O1。下一步,基于原始輸入信息和殘差r1訓練第2個隨機森林模型f2(x),類似的,計算其對訓練樣本的估計O2,然后繼續計算殘差r2=Y-O1-O2=r1-O2。按照以上過程不斷重復,直到訓練完成M個隨機森林模型。當有新的樣本輸入時,可同時輸入到M個隨機森林模型中,最后將各個模型的輸出求和后,得到梯度提升隨機森林模型的預測值。
本小節使用美國PJM日前電力市場的數據對本文提出的預測算法進行驗證,收集PJM電力市場2014年9月至2017年2月的數據進行驗證。使用2016年9月之前的數據作為訓練樣本,剩余的作為測試樣本。訓練樣本包括2年的數據,測試樣本包括半年的數據。每一個交易日包含24個負荷值與24個電價值。使用圖4所示的方式訓練模型并對交易日某時刻的電價進行預測。
為了驗證本文提出預測模型的效果,設計實驗進行驗證。梯度提升隨機森林模型中,需要設置某些對模型結果有較大影響的超參數(hyper-parameter),包括隨機森林模型中決策樹的數目N、決策樹算法中每個節點處隨機選擇的特征數目p、梯度提升框架中隨機森林模型的數目M。對于超參數p,本組實驗中設置p=5。對于其他的超參數,則通過設置不同值進行對比。
隨機森林模型的超參數N對模型預測精度一般有較大的影響,因此在實驗設計中,對比不同N值,分別設置N值為10、20、50、80、100、200、500、800、1 000。梯度提升模型中隨機森林的數目M依次設置為2、3、4、5。為了驗證本文提出模型的有效性,分別使用隨機森林(RF)模型和提升樹(GBDT)模型進行對比實驗,兩個模型分別采用了Bagging策略和Boosting策略,通過將其與本文模型對比,可驗證本文提出的算法能否將兩種集成策略的優勢結合,進一步提高模型的預測準確性,在對比模型中采用同樣的超參數設置。
在GBRF模型中,隨機森林模型的個M可取不同值,根據實驗結果發現當M=2時模型的預測準確性已經較高,再增加模型的個數,會增大計算量,但并不會顯著提高模型的準確性,因此在實驗中,GBRF模型的M設置為2。


表1 不同N值下各個模型RMSE的對比結果

表2 不同N值下各個模型MAPE的對比結果
表1、表2中,GBRF為本文提出的模型,RF為隨機森林模型,GBDT為梯度提升樹模型,每個模型運行10次,分別統計10次的RMSE和MAPE的均值,并將兩個模型的10次誤差分別與GBRF模型的結果進行t檢驗,以確定兩個模型的平均預測準確性是否有顯著差異。表格中顯示t檢驗的結果p值,當p值小于0.05時,可認為該模型與本文提出的GBRF模型有顯著的差異,表格中具有顯著差異的p值均以下劃線方式標出。
可以看出,本文提出的GBRF模型的預測精度在統計意義上優于對應的RF模型和GBDT模型。對比GBRF模型與RF模型,可看出,當N大于等于50時,GBRF模型的準確性優于RF模型,這說明在第1個RF模型的基礎上采用梯度提升算法,確實可以進一步降低模型的偏差,提高模型預測的準確性。對比GBRF模型與GBDT模型,可看出GBRF優于GBDT模型。二者均采用梯度提升算法,不同的是基礎學習機,GBRF采用RF作為基礎學習機,可以僅使用2次迭代,便達到較高的準確性,而GBDT采用決策樹作為基礎學習機,需要多次迭代才可完成模型訓練,說明采用方差相對更小的模型作為基礎學習機,可以使用更少次數的梯度提升,達到相對較高的準確性。因此,GBRF模型通過使用RF模型作為基礎學習機,降低模型的方差,通過使用梯度提升算法,在RF模型的基礎上,進一步降低模型的偏差。結果表明,本文提出的GBRF模型可以有效結合兩種集成學習策略的優勢,進一步提高模型的準確性。
為了直觀對比不同模型預測準確性的差異,將以上3個對比模型的RMSE和MAPE繪制如圖5與圖6所示。由表1和表2的結果可看出,當N小于80時,GBDT模型的預測誤差相對較大,為了更準確的觀察不同模型的差異,圖中只繪制N大于等于80時各個模型的結果。

圖5 不同模型RMSE對比

圖6 不同模型MAPE對比
圖中分別展示了3個模型在不同N值時RMSE和MAPE的均值與標準差,分別代表模型的準確性和穩定性。可以看出,GBRF模型的準確性優于RF模型和GBDT模型。GBRF模型與RF模型的變化趨勢幾乎相同,但二者之間一直存在一定的差距,說明在RF基礎上,本文提出的GBRF模型確實可以進一步提高準確性。觀察RF模型,隨著N值的增大,模型只能逐漸減小方差,而無法顯著提升模型的準確性,而采用梯度提升方法改進之后,GBRF模型的方差仍與RF相仿,但準確性卻顯著提升,這說明,采用梯度提升算法,在保持方差較小的前提下,確實可以降低模型的偏差,驗證了本文提出算法確實可以將二者的優勢結合。
總結而言,本文提出的梯度提升隨機森林方法,有效結合了Bagging和Boosting兩種集成學習策略的優點,可以在隨機森林模型的基礎上,進一步提高模型的預測準確性。
為了提高出清電價預測的準確性,本文提出梯度提升隨機森林模型,可有效結合Bagging和Boosting兩種集成學習模型的優點,進一步降低模型的偏差。GBRF模型使用隨機森林模型作為基礎學習機,借助隨機森林模型方差較小的優點,在其基礎上采用梯度提升學習算法,借助提升算法可有效減小偏差的優點,在保持方差較小的前提下,進一步降低偏差,最終得到的模型具有較小的偏差與方差。將模型應用于PJM日前市場的電價預測,經過實驗驗證,該模型優于隨機森林模型和提升樹模型,能夠在隨機森林模型的基礎上,進一步提高模型預測的準確性。