李惠蓉,王新生
經(jīng)濟全球化帶動了電力市場的全球化進程,電力市場的一個尤為重要的組成部分便是電力價格,全球各個地區(qū)電力市場的發(fā)展都要受電力價格的影響[1-2]。而短期電力價格預測的范圍在10 min至1周,該短期電價的預測結(jié)果可指導發(fā)電公司設(shè)計合理、有效的電價條款。一個精確可靠的短期電價預測模型有益于發(fā)電公司創(chuàng)造營收、躲避風險和擴大規(guī)模,因此深入研究短期電價預測顯得尤為必要。
目前,比較常見的電價預測方式包括時間序列預測方式[3]、灰色模型預測方式[4]以及智能預測方式。而時間序列預測方式主要采用的電價預測模型具體指自回歸條件異方差模型(GARCH)、自回歸積分滑動平均模型(ARIMA)以及自回歸滑動平均模型(ARMA)。時間序列預測方式有著計算過程簡單的優(yōu)點,但缺點是無法準確擬合出短期電價的非線性特征,以致短期電價預測結(jié)果精確性不足;灰色模型預測方式原理是將灰色過程代替電價變化,繼而構(gòu)建灰色電價模型并求解,缺點也是電價預測結(jié)果精確性不足;智能預測方式是在當前機器學習和大數(shù)據(jù)等計算機技術(shù)快速進步環(huán)境下提出的一種電價預測方式,目前該方式的缺點是一般采用單一機器學習方式導致電價預測的全面性不足,容易出現(xiàn)精度和魯棒性低的問題??梢娙粲柧殠讉€具有不同角度擬合方式的效果較佳的模型,并組合在一起,可獲得一個魯棒性好、預測精度高的電價預測模型。
Blending方法采用的集成框架為多層類串聯(lián)方式,直接用不相交的數(shù)據(jù)集用于不同層的訓練。其使用按比例切分的方式對數(shù)據(jù)進行分割和訓練,形成一個Hold-out集合作為二級特征,用于訓練下一層的基學習器。因其結(jié)構(gòu)簡單且預測精度高,應用廣泛[5]。
本文根據(jù)集成學習原理,不斷對比測試后設(shè)計了一種基于Blending學習方式的集成不同基礎(chǔ)學習器的短期電價預測模型,該模型集成了3種機器學習模型,包括梯度回歸樹(Gradient Boosting Regression Tree)模型、隨機森林(Random Forest)模型和XGBoost(Extreme Gradient Boosting)模型。集成模型與3種單一模型對比發(fā)現(xiàn),本文提出的模型具有電價預測精度高、魯棒性強的優(yōu)點。
Breiman和Cutler等借助隨機決策森林方法的基本原理,其中隨機森林由分類回歸樹組合而成,對變量和數(shù)據(jù)的使用上采用隨機化方式,得到眾多回歸分類樹之后,對其結(jié)果進行了匯總。
基于隨機森林預測回歸方法,針對歷史電價數(shù)據(jù)搭建了相關(guān)子預測模型,該隨機森林回歸方法與bagging策略有所相似,子預測模型的搭建流程如下。
(1)采用有放回Bootstrap的采樣方法,從歷史電價數(shù)據(jù)中獲取n個樣本。
(2)在n個樣本中構(gòu)建特征屬性,并從這些特征屬性中選取k個將最佳分割點屬性作為CART決策樹的節(jié)點。
(3)將上述兩步重復m次,可以得到m顆CART決策樹,并對得到的決策樹不剪枝,使之成長最大化。
(4)加總?cè)繘Q策樹,求取平均值后可對未來電價進行預測工作。
由于隨機森林預測回歸方法是基于有放回Bootstrap的采樣方法,因此每顆決策樹在電價特征屬性層面上是平等的,而且每顆決策樹的訓練是全面且不偏不倚,隨機森林預測回歸方法不受多元共線性干擾,若出現(xiàn)部分歷史電價數(shù)據(jù)缺失或不準,依舊不影響預測結(jié)果,是作為基礎(chǔ)學習器的良好特性。
本文選取的梯度回歸樹(Gradient boosting Regression Tree)模型采用梯度提升回歸樹(GBRT)算法[6]。梯度提升決策樹算法由Friedman首次提出,其原理與一般的模型樹和回歸樹算法原理有所不同,其特點是迭代過程中后一弱學習器訓練需對前一弱學習器的殘差進行擬合,擬合方向為最大下降梯度。
選取梯度提升決策樹作為基礎(chǔ)學習器的原因是,其既能較好處理離散值,也能較好處理連續(xù)值,有著較強的數(shù)據(jù)適應能力,只需簡單優(yōu)化參數(shù)就能有準確性較高的結(jié)果。
該梯度提升決策樹算法基于以下偽代碼構(gòu)建而成:
陳天奇博士首次提出XGBoost算法,該算法有著性能高效的特點,廣泛應用于數(shù)據(jù)挖掘和機器學習領(lǐng)域。本文采用該算法作為boosting算法,XGBoost算法抽樣方式與隨機森林回歸算法的抽樣方式類似,具有計算量一致但可防止過擬合的特點;在二階泰勒展開代價函數(shù)后,訓練集上的收斂速度加快,大幅度提升訓練速度;其注入正則項至代價函數(shù),簡化了訓練下的模型,增強了模型的泛化能力,防過擬合能力得到一定程度提升。XGBoost算法采用多核并行實現(xiàn)計算方式,C/C++作為編程語言,運行速度比其他模型更快。
Blending最早出現(xiàn)在Netflix數(shù)據(jù)挖掘比賽中,由Netflix的獲勝者引入,它的實質(zhì)是一種多層的串行學習系統(tǒng)[7]。Blending方法前期使用按比例切分的方式將原始特征重建成一個Hold-out集合,并當作一個二級特征,接著常規(guī)訓練和擬合經(jīng)變換所得二級特征。Blending集成框架模型融合組合后的不同類型的基礎(chǔ)學習器,由于原始數(shù)據(jù)在不同的基礎(chǔ)學習器下的學習有著較大的不同,因此可從各個角度探究特征空間,使他們的最終預測結(jié)果得以融合。采用該方法可使最后的預測結(jié)果考慮因素較為全面,效果比單一基礎(chǔ)學習器的預測結(jié)果更為精確。
本文應用的Blending集成框架的結(jié)構(gòu)有兩層,具體結(jié)構(gòu)如圖1所示。在第一層(Level1),對原始數(shù)據(jù)進行按比例劃分,得到訓練集和測試集(test_set),其中訓練集需要再次劃分為訓練集(train_set)和驗證集(val_set),接著使用train_set創(chuàng)建Level1的n個基礎(chǔ)學習器(這n個基礎(chǔ)學習器既可以是同質(zhì)的也可以是異質(zhì)的),然后運用Level1訓練好的基礎(chǔ)學習器去預測val_set和test_set,重新構(gòu)建得到一個Hold-out集合用作第二層(Level2)的新特征。使用新的特征去訓練Level2的新基礎(chǔ)學習器,最終得到整個測試集的預測結(jié)果,整個Blending的過程就結(jié)束了。
圖1 Blending集成方法框架
將電價短期預測范圍設(shè)置為3天,電價歷史數(shù)據(jù)選取自2014年1月1日至2017年6月15日美國加州3年半內(nèi)的每個小時電價歷史數(shù)據(jù)。表1為原始的電價數(shù)據(jù)統(tǒng)計信息表,表中不僅包含歷史電價數(shù)據(jù),還包含了在此電價記錄數(shù)據(jù)下的區(qū)域負荷數(shù)據(jù)z及區(qū)域總負荷數(shù)據(jù)t。建模采用Python3.5,統(tǒng)計分析采用pandas庫。
根據(jù)表1記錄的原始數(shù)據(jù)信息,將電價設(shè)置為數(shù)據(jù)標簽,并作為回歸模型擬合對象。圖2表示電價頻率直方圖。
表1 電價歷史數(shù)據(jù)的變量統(tǒng)計信息
圖2 電價頻率直方圖
根據(jù)圖2可知,圖中整體呈現(xiàn)向左側(cè)偏移的特點,后續(xù)有較長的延伸,且這些延伸中會出現(xiàn)較高的點。若是將這些數(shù)據(jù)導入模型,將會對預測模型的準確性產(chǎn)生影響,因此可將電機數(shù)據(jù)log變換后使之正態(tài)分布,并依據(jù)變換后數(shù)據(jù)重新構(gòu)建模型,可使預測結(jié)果精確性提升。圖3表示總負荷頻率直方圖和區(qū)域負荷頻率直方圖。
依據(jù)圖3可知,在分布特性上總負荷頻率直方圖與區(qū)域負荷頻率直方圖有著較高的相似性,有0.97的皮爾遜(Pearson)相關(guān)系數(shù)值,而電價與總負荷頻率、區(qū)域負荷頻率的皮爾遜相關(guān)系數(shù)值相對較低,表2為它們的皮爾遜相關(guān)系數(shù)值。
仿真檢測發(fā)現(xiàn)短期電價預測的一些特征,與它的+1/-1、+2/-2天特征的相關(guān)性較強,因此加入包含+1/-1、+2/-2天特征信息的數(shù)據(jù)特征。
歷史電價數(shù)據(jù)選取自2014年1月1日至2017年6月15日之間美國加州3年半內(nèi)的每個小時電價歷史數(shù)據(jù)。為實現(xiàn)短期電價預測的目標,將自2014年1月1日至2017年6月12日之間的歷史電價數(shù)據(jù)作為訓練及驗證集,將自2017年6月13—15日的電價數(shù)據(jù)當作測試集[8]。
根據(jù)上文介紹,將梯度回歸樹模型、隨機森林模型和XGBoost模型這3種單一模型作為對比模型,與經(jīng)Blending集成方法的集成模型進行比較。第一步,分別對這3種單一模型進行相關(guān)訓練;第二步,經(jīng)Blending集成方法集成3種單一基礎(chǔ)回歸學習器后,作為集成模型的第一層基礎(chǔ)回歸學習器;第三步,將XGBoost基礎(chǔ)學習器作為第二層的基礎(chǔ)回歸學習器;最后一步,采用均方誤差和平均絕對誤差參數(shù)評測實驗結(jié)果。
采用8折交叉驗證方法對目標變量進行比例隨機抽樣,實驗結(jié)果如表3—4所示。
表3 訓練集交叉驗證均方誤差(MSE)矩陣
表4 訓練集交叉驗證平均絕對誤差(MAE)矩陣
根據(jù)上述訓練集交叉驗證結(jié)果可知,在表中梯度回歸樹模型、隨機森林模型和XGBoost模型這3種單一模型的基礎(chǔ)學習器總有兩個模型的誤差值大于另外一個模型的誤差值,且數(shù)據(jù)顯示Blending集成模型有著精確性高、魯棒性強的特點。針對模型測試集繼續(xù)對比實驗,如圖4所示為4種模型在2017年6月13—15日的預測電價數(shù)據(jù)擬合曲線與真實電價數(shù)據(jù)曲線對比圖。
圖3 負荷頻率直方圖
表2 皮爾遜相關(guān)系數(shù)
圖4 4個模型在最后3天的每小時電價預測曲線
由圖4可知,將R2作為預測曲線的決定系數(shù)值,其表示為R2=1-SSres/SStot,式中:SSres表示平均值和回歸數(shù)據(jù)之間的誤差;SStot表示平均值與真實數(shù)據(jù)之間的誤差,且SStot一般大于SSres,誤差值都在0~1。在數(shù)據(jù)確定后,SStot的值也隨之固定,預測值準確性越低,SSres的數(shù)值就越大,此時R2的值也越小,相反準確性越高,R2的值也越大。由圖4可以計算出XGBoost模型的決定系數(shù)R2值為0.89,隨機森林模型的決定系數(shù)R2值為0.83,梯度回歸樹模型的決定系數(shù)R2值為0.87,Blending集成模型的決定系數(shù)R2值為0.91,可知采用Blending集成方法的集成模型有著較好的擬合效果。如表5所示為均方誤差(MSE)和平均絕對誤差(MAE)矩陣在測試集下的表現(xiàn)結(jié)果。
表5 測試集下各模型MSE和MAE
由表5可知,采用Blending集成方法的集成模型有著較小的均方誤差(MSE)和平均絕對誤差(MAE),因此測試集下采用Blending集成方法有著優(yōu)異表現(xiàn)。
短期電價預測有著混沌性和非線性的特點,導致現(xiàn)有短期電價預測模型準確性和魯棒性不高,本文從機器學習角度進行深入探索,將包含+1/-1和+2/-2天特征信息的數(shù)據(jù)特征加入特征構(gòu)建過程。選取了3種具有優(yōu)良性能的基礎(chǔ)回歸學習器,分別是梯度提升回歸樹基礎(chǔ)回歸學習器、隨機森林基礎(chǔ)回歸學習器和XGBoost基礎(chǔ)回歸學習器,接著采用Blending集成方法將這3種基礎(chǔ)回歸學習器融合后構(gòu)建出一種電價預測集成模型。最后基于美國加州3年半內(nèi)的每個小時電價歷史數(shù)據(jù)得出,Blending集成模型相比其他3種基礎(chǔ)回歸學習器,有著預測準確度高及魯棒性強的特點。
基于本文思考,在未來的短期電價預測研究中,可將如spark、hadoop等的大數(shù)據(jù)技術(shù)加入運算,最大化提升效率,增強精度及縮短運行時間。