夏成文,楊司玥,鮑玉昆,潘 睿,鄧源彬
(1.南方電網(wǎng)深圳數(shù)字電網(wǎng)研究院有限公司,廣東 深圳 518053;2.華中科技大學 管理學院,湖北 武漢 430074)
電力負荷預測主要是通過對歷史上的電力負荷數(shù)據(jù)和氣候等影響因素進行分析,探索電力負荷可能的變化規(guī)律,從而預先估測未來電力的需求情況[1]。負荷預測為電力系統(tǒng)的安全可靠供電和經(jīng)濟穩(wěn)定運作提供了至關(guān)重要的支撐作用。隨著電力系統(tǒng)逐步向更加智能化的方向發(fā)展,其對于高精度電力負荷預測的需求也日益提高。目前,常用的負荷預測方法大致可歸納為兩類:一類是基于統(tǒng)計模型的傳統(tǒng)時間序列模型,如ARIMA[2]、指數(shù)平滑法[3]及多種回歸模型。此類方法要求時間序列有較好的平穩(wěn)性,在非線性、非平穩(wěn)的負荷預測任務中使用較為受限。另一類是以數(shù)據(jù)為驅(qū)動的機器學習技術(shù),如應用較為廣泛的神經(jīng)網(wǎng)絡[4]、支持向量機[5](support vector machine, SVM)等。此類方法對負荷序列中非結(jié)構(gòu)性、非精確性的規(guī)律和模式有較好的自適應性,隨著負荷及相關(guān)數(shù)據(jù)在數(shù)量和種類方面的不斷豐富,機器學習方法在非線性的復雜負荷序列預測任務中也表現(xiàn)出了較大的潛力[6]。
盡管基于機器學習方法的負荷預測技術(shù)在精確程度方面受到了很多研究的肯定,但其預測性能往往取決于很多技術(shù)細節(jié),比如輸入特征選擇和超參數(shù)優(yōu)化等一系列問題,這些問題統(tǒng)稱為“模型選擇”。不恰當?shù)哪P瓦x擇會導致一些具有優(yōu)秀潛力的機器學習算法在實際預測任務中的表現(xiàn)欠佳。解決輸入特征選擇、超參數(shù)優(yōu)化等模型選擇問題,盡可能改善模型表現(xiàn),是機器學習在負荷預測領(lǐng)域能夠發(fā)揮作用的關(guān)鍵。已有不少研究探索了電力負荷預測中機器學習方法的模型選擇問題。其中,在超參數(shù)優(yōu)化方面,張文濤等[7]采用了核極限學習機(kernel extreme learning machine, KELM)進行負荷預測建模,為了提高KELM的預測性能,引入了改進的鯨魚算法對KELM的核函數(shù)參數(shù)和正則化系數(shù)進行優(yōu)化;孫海蓉等[8]針對支持向量機在短期電力負荷預測中的超參優(yōu)化問題,提出了一種二階振蕩和帶斥力因子的粒子群優(yōu)化算法(particle swarm optimization, PSO),改進后的算法提高了PSO對SVM各項參數(shù)的全局搜索能力,使SVM表現(xiàn)出更好的性能;魏騰飛等[9]將改進的PSO與遺傳算法中的變異操作相結(jié)合,優(yōu)化了長短期記憶(long short-term memory, LSTM)模型的多種參數(shù),從而提高了LSTM在短期電力負荷預測任務中的準確度和穩(wěn)定性。在特征選擇方面,SEMERO等[10]提出了一種基于自適應模糊神經(jīng)推斷系統(tǒng)的微電網(wǎng)超短期負荷預測模型,采用了二進制的遺傳算法進行特征選擇;LIU等[11]構(gòu)建了一種基于最小二乘支持向量機(least squares support vector machines, LSSVM)的短期負荷預測模型,采用小波變換與不一致率模型進行特征選擇,并使用抹香鯨算法優(yōu)化LSSVM的超參數(shù)。
綜上可知,在負荷預測研究領(lǐng)域,學者對于優(yōu)化算法應用于單獨的特征選擇或超參優(yōu)化任務已有了較為充分的探索,并證實了恰當?shù)哪P瓦x擇方法對于模型預測準確度的提升有著重要作用。但在實際應用中,由于優(yōu)化算法的每一輪迭代對每個解的評價都需要完成一次機器學習模型的訓練,并以模型的評估函數(shù)值作為當前解的評價標準,所以利用啟發(fā)式等優(yōu)化算法進行一次完整的超參優(yōu)化或特征選擇操作,都是相對耗時的。在整個機器學習模型訓練的過程中,若以嵌套的方式分別進行模型的超參優(yōu)化和特征選擇,耗時會大幅上升,效率較低。而在眾多機器學習方法中,SVM的目標函數(shù)采用了結(jié)構(gòu)風險最小化的原則,具有泛化能力好、不易過擬合、收斂速度快等優(yōu)點,在負荷預測研究中應用廣泛,負荷預測準確性也被反復證實[12]。同時,SVM也具有較典型的、對模型性能起到關(guān)鍵影響的超參數(shù),如正則化常數(shù)C、RBF核函數(shù)的半徑系數(shù)等,更適用于檢驗上述所提出的模型選擇策略。因此,筆者采用一種基于綜合型學習粒子群算法(comprehensive learning particle swarm optimization, CLPSO)的模型選擇一體化策略,將特征選擇與參數(shù)優(yōu)化過程進行整合,進而提出了一種基于SVM預測建模方法和CLPSO模型選擇一體化策略的超短期電力負荷預測方法,以提高模型的自適應能力和模型選擇的效率,同時進一步提高負荷預測精確程度。
在回歸問題中,給定訓練樣本D={(x1,y1),(x2,y2),…,(xm,ym)},希望得到一個形如f(x)=wφ(x)+b的模型,其中φ(x)為特征空間,w為權(quán)重系數(shù),b為偏置項??紤]到結(jié)構(gòu)風險最小化的原理,設置上述問題的目標函數(shù)為:
(1)
支持向量機回歸模型(support vector regression, SVR)假設可被允許的模型預測結(jié)果與真實值之間的偏差為ε,并引入了懲罰項系數(shù)(也稱為正則化系數(shù))C和松弛變量,則式(1)可轉(zhuǎn)化為如下優(yōu)化問題:
(2)
采用拉格朗日對偶理論進行求解,將式(2)轉(zhuǎn)化為二次規(guī)劃問題,可得到如下SVR形式:
(3)
式中:K(xi,x)=φ(xi)·φ(x)為核函數(shù);xi為訓練樣本;x為測試數(shù)據(jù)。
在多種核函數(shù)中,RBF核函數(shù)在使用SVR進行負荷預測時較為常用,其處理非線性問題時的穩(wěn)定性較強,因此筆者采用RBF核函數(shù),其表達式為:
(4)
其中,σ為核函數(shù)的半徑系數(shù)。
1.2.1 模型選擇流程概述
基于二進制CLPSO算法的模型選擇流程與負荷預測模型如圖1所示,左側(cè)部分為二進制CLPSO優(yōu)化算法的運行流程,右側(cè)部分為SVR模型的訓練與測試過程。每個CLPSO粒子包含由一組候選輸入特征和一組SVR超參數(shù)組合而成的整體編碼信息;在評價粒子時,每個粒子個體在算法迭代過程中的位置取值被解碼還原為對應的特征組合和超參數(shù),用于在負荷數(shù)據(jù)的訓練集上完成模型訓練和模型評價,以模型的預測效果評價指標作為當前粒子的評價標準(即適應值),并據(jù)此展開下一輪的粒子更新。當CLPSO算法滿足終止條件時,篩選出的最優(yōu)粒子即為整個CLPSO模型選擇方法所決策出的最優(yōu)超參數(shù)和特征組合。最后,利用最優(yōu)超參數(shù)和特征組合再次訓練SVR模型,并在測試集上對模型的預測準確度進行檢驗。
圖1 二進制CLPSO模型選擇流程與負荷預測模型
1.2.2 特征與超參數(shù)的粒子表示
在CLPSO中,每個粒子包含位置和速度兩個屬性,其中位置屬性代表問題的解,而速度屬性則用于粒子的迭代更新。在本研究中,粒子的位置屬性由兩部分組成:特征編碼和3個SVM超參數(shù)的編碼。其中,特征部分是一個長度為l的0-1編碼串,1表示對應位置的特征入選,0表示對應位置的特征不入選;超參數(shù)部分為3個SVM的參數(shù)C、σ、ε,分別由長度為k、m、n的0-1編碼串表示。每個超參數(shù)對應的0-1編碼串是一個整體,將其轉(zhuǎn)化為十進制形式,即為可選超參數(shù)值序列的索引,從而與可選超參數(shù)值一一對應。一個粒子位置向量的維數(shù)為D=l+k+m+n。
特征與超參數(shù)的粒子表示示例如圖2所示,假設模型的l個輸入特征為從時刻t-l+1到時刻t的歷史負荷值,令zi表示時刻i的負荷值;一個粒子的位置可表示為一個長度為D的0-1編碼串,其中前l(fā)維對應輸入特征,圖2中zt-l+2和zt-1成為被選中的部分輸入特征;而超參數(shù)部分,以超參數(shù)C對應的片段為例,假設參數(shù)C的可選值序列為[10-4,10-3,10-2,10-1,1,10,102,103],序列中可取值的索引分別為0~7,k=3(參數(shù)C的可選值個數(shù)為2k)。將編碼“101”轉(zhuǎn)換為十進制,對應值為5,表示可選值序列中索引為5的值作為參數(shù)C的取值,即這一粒子所表示的解對應參數(shù)C=10。
圖2 特征與超參數(shù)的粒子表示示例
上述編碼方式中,需將每個超參數(shù)的可取值個數(shù)設定為2的正整數(shù)次冪,且每個超參數(shù)的可取值按升序或降序進行排列。超參數(shù)的取值范圍通常由模型的使用者依據(jù)預實驗和經(jīng)驗進行設定,因此通過調(diào)整部分可取值以實現(xiàn)上述規(guī)定,理論上并無障礙,且不會對模型的最終效果產(chǎn)生較大影響。
1.2.3 二進制CLPSO算法
CLPSO算法是PSO算法的一種優(yōu)秀變種。在傳統(tǒng)的PSO算法中,計算并更新粒子的速度和位置時,只考慮到粒子個體自身的歷史最優(yōu)位置信息和整個種群的歷史最優(yōu)位置信息;而CLPSO算法采用綜合型學習方式,即種群中其他粒子的位置信息也被納入到更新速度的計算中。這一改進保證了種群中粒子的多樣性,使得CLPSO算法的全局搜索能力比PSO算法更具優(yōu)勢。在CLPSO算法中,使用式(5)更新粒子的速度:
(5)
Pci=0.05+0.45×
(6)
其中,ps為種群中的個體數(shù)量。
典型粒子的索引fi(d)的確定步驟:①針對第i個粒子的每個維度,生成一個[0,1]上的隨機數(shù)。如果該隨機數(shù)大于Pci,則該粒子當前維度的學習對象為自己的pbest,即fi(d)=i;否則該粒子當前維度的學習對象為種群中某一其他粒子相應維度的pbest。②若確定了學習對象為其他粒子,則采用錦標賽排序選擇該粒子當前維度對標的典型粒子。具體而言,隨機選擇兩個其他粒子,比較它們的pbest適應值,選擇值較小(即位置更佳)的粒子作為粒子i當前維度對標的典型粒子。③若一個粒子所有維度對標的典型粒子均為自己,則隨機挑選該粒子的一個維度去對標另一任意粒子的pbest對應維度。④一個粒子的每個維度均匹配到了合適的學習對象(典型粒子)后,該粒子的所有維度就保持對標各自學習對象的pbest。⑤經(jīng)歷m代的更新后,重復步驟①~步驟③,重新選擇該粒子每個維度對標的典型粒子。
對于二進制的CLPSO算法,粒子的速度代表了該粒子相應位置的值進行0-1變換的概率。二進制CLPSO算法的粒子更新公式為:
(7)
實驗采用了全球能源預測大賽GEFCom 2012提供的電力負荷預測比賽數(shù)據(jù),涵蓋了美國20個地理區(qū)域的小時級負荷數(shù)據(jù),完整數(shù)據(jù)集信息及下載方式參見文獻[13]。本實驗隨機選取了區(qū)域1和區(qū)域6的負荷數(shù)據(jù)為實驗對象,針對一年當中4個典型月份(1月、4月、7月和10月)的負荷分別進行預測建模。其中,2007年4個月份的數(shù)據(jù)為測試集,每個測試月在2005、2006年對應同月的負荷數(shù)據(jù)分別作為訓練集。
為了檢驗所提出的CLPSO模型選擇一體化策略在SVR模型上的表現(xiàn),在對比實驗中,將所有候選特征全部輸入,使用網(wǎng)格搜索對SVR的3個參數(shù)進行優(yōu)化,3個參數(shù)的取值范圍與基于CLPSO的模型一致。
考慮到小時級負荷的日內(nèi)變化趨勢和日周期性,實驗選取待預測負荷的前24 h負荷序列和過去7 d(一周)內(nèi)同一時間點上的負荷值,組合成為初始的候選輸入特征集合。令zi表示i時刻的負荷值,則初始候選輸入特征為{zt-1,zt-2,…,zt-24,zt-48,zt-72,zt-96,zt-120,zt-144,zt-72,zt-168},共30個特征。
實驗中,SVR的超參數(shù)取值范圍定義如下:參數(shù)C的取值范圍為“以10-2為首項、102為末項、項數(shù)為32”的等比數(shù)列,對應在CLPSO的粒子中所占維數(shù)為5;參數(shù)ε的取值范圍是“以10-4為首項、1為末項、項數(shù)為16”的等比數(shù)列,對應在CLPSO的粒子中所占維數(shù)為4;參數(shù)σ的取值范圍為[0.05,0.10,0.20,0.40],對應在CLPSO的粒子中所占維數(shù)為2。
除了SVR模型中的待優(yōu)化超參數(shù)之外,CLPSO算法中也存在部分需人為設定的參數(shù)。經(jīng)過預實驗的反復嘗試與調(diào)整,設定種群中粒子的總數(shù)為20,終止條件為迭代次數(shù)超過200次或連續(xù)30次全局最優(yōu)適應值未更新,學習因子為2,初始慣性權(quán)重為0.9,終止慣性權(quán)重為0.4,典型粒子的重置迭代次數(shù)m為8。為避免隨機誤差的影響,取20次實驗后各評價指標的均值作為預測結(jié)果。
筆者選擇平均絕對百分誤差(mean absolute percent error,MAPE)和均方根誤差(root mean squared error,RMSE)作為評價指標。
(8)
(9)
8個場景下基于CLPSO模型選擇策略的SVR預測模型(CLPSO-SVR)和使用網(wǎng)格搜索進行參數(shù)優(yōu)化的SVR預測模型(GS-SVR)的誤差評價指標MAPE和RMSE結(jié)果對比如表1所示。比較兩種模型的MAPE可知,CLPSO-SVR模型除了“區(qū)域6-1月”之外的其他所有場景下的MAPE均低于GS-SVR模型;而比較兩種模型的RMSE可知,除“區(qū)域1-7月”外,CLPSO-SVR模型在其他7個場景下的預測表現(xiàn)均優(yōu)于GS-SVR模型。
表1 CLPSO-SVR模型和GS-SVR模型的MAPE與RMSE對比
筆者針對電力負荷預測中SVM等機器學習方法面臨的模型選擇問題,提出了一種基于綜合型學習粒子群算法的模型選擇一體化策略,通過對粒子的編碼來整合特征選擇和參數(shù)優(yōu)化過程,以提高算法的自適應性和模型選擇效率。實驗結(jié)果證明,基于CLPSO模型選擇策略的SVR在超短期電力負荷預測中的表現(xiàn)普遍優(yōu)于使用網(wǎng)格搜索進行參數(shù)調(diào)優(yōu)的SVR。因此,在使用SVR模型進行電力負荷預測時,相較于單獨進行特征選擇或參數(shù)優(yōu)化過程,一體化的模型選擇框架能夠有效提升模型預測的精確程度,且模型的自適應性更好,所需的先驗信息更少,具有較好的實際應用價值。
本研究的局限性在于:所提出的一體化模型選擇框架主要適用于SVR及其他待調(diào)參數(shù)數(shù)量有限、結(jié)構(gòu)較簡單的淺層機器學習模型,并不能直接適用于具有深度神經(jīng)網(wǎng)絡結(jié)構(gòu)的、參數(shù)更復雜多元的預測模型。隨著電力負荷數(shù)據(jù)量的擴大和設備計算能力的提高,未來將考慮進一步針對一些表現(xiàn)突出的深度神經(jīng)網(wǎng)絡模型在電力負荷預測應用當中面臨的參數(shù)優(yōu)化和特征選擇等模型選擇問題,設計與深度網(wǎng)絡結(jié)構(gòu)更為契合、更具針對性的模型選擇優(yōu)化框架。