姚岱偉,崔雙喜,戚元星
(新疆大學(xué)電氣工程學(xué)院,新疆 烏魯木齊 830047)
電力系統(tǒng)短期負荷預(yù)測是根據(jù)負荷發(fā)展變化規(guī)律的歷史數(shù)據(jù)和其有關(guān)影響因素對未來幾天或一周負荷進行科學(xué)預(yù)測,準(zhǔn)確的負荷預(yù)測是安排電力生產(chǎn)調(diào)度、提高電力系統(tǒng)自動化運行水平的重要決策依據(jù)[1]。
目前,關(guān)于負荷預(yù)測已有大量研究,現(xiàn)代預(yù)測方法以人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)和支持向量機(Support Vector Machine,SVM)為主。常見的ANN多為采用BP訓(xùn)練方法的三層神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)對于電力負荷的不確定性、非線性有強大的擬合和適應(yīng)能力,但其訓(xùn)練的參數(shù)容易陷入局部極小值,限制了其預(yù)測精度[2]。SVM在非線性,局部極小點及高維模式識別問題有很大的優(yōu)勢,泛化性強[3],但難以處理大規(guī)模樣本。極限學(xué)習(xí)機(Extreme Learning Machine,ELM)是一種新型三層ANN,和傳統(tǒng)的BP訓(xùn)練方法相比具有訓(xùn)練速度快等優(yōu)點。但隨機權(quán)值輸出依然不穩(wěn)定,為克服這些缺點可通過優(yōu)化算法優(yōu)化網(wǎng)絡(luò)權(quán)值和閾值,提高網(wǎng)絡(luò)穩(wěn)定性和預(yù)測精度[4]。傳統(tǒng)的單一預(yù)測模型難以滿足預(yù)測精度和泛化性要求,高效結(jié)合多模型可實現(xiàn)高精度預(yù)測。Stacking集成學(xué)習(xí)是一種串行結(jié)構(gòu)的多層模型框架,可采用學(xué)習(xí)法作為集合策略實現(xiàn)多模型融合[5]。但在Stacking集成學(xué)習(xí)中往往采用交叉驗證的方式得到元學(xué)習(xí)器的樣本,初級學(xué)習(xí)器需要對樣本多次學(xué)習(xí),導(dǎo)致學(xué)習(xí)時間過長[6]。選擇相似日可以優(yōu)化訓(xùn)練樣本,減少外界因素對負荷的影響[7],基于相似日的短期負荷預(yù)測方法能夠降低訓(xùn)練數(shù)據(jù)規(guī)模并利用較少的訓(xùn)練數(shù)據(jù)達到較高的預(yù)測精度[8]。
針對上述問題,本文采用模糊C均值聚類篩選相似日樣本集合,引入Calinski-Harabasz指標(biāo)(CHI)確定最佳簇數(shù)。在此基礎(chǔ)上采用Stacking集成學(xué)習(xí)架構(gòu),用LSSVM作為元學(xué)習(xí)器,融合多個ELM預(yù)測模型,以實現(xiàn)短期負荷精準(zhǔn)預(yù)測。
FCM是模糊理論和C-means聚類的融合,區(qū)別C-means聚類對樣本直接劃分,F(xiàn)CM給出樣本對簇的隸屬度確定其所屬。在計算開始需要人為設(shè)定簇的個數(shù),初始的簇中心隨機生成。通過優(yōu)化目標(biāo)函數(shù)最終得到同一簇樣本具有較大的相似度且不同簇樣本之間相似度較小。
設(shè)樣本xi(i=1,2,…N)和簇中心vj(j=1,2,…C)是維度相同的列向量。用隸屬度矩陣U=[uij]表示xi與vj之間的隸屬度,可得FCM目標(biāo)函數(shù)

(1)
式中m為加權(quán)指數(shù),指定為大于1的常量,一般取2,用于控制模糊簇間的共享水平。FCM算法的一般步驟如下:
1)按(1)式約束初始化U;
2)計算簇中心:

(2)
3)更新隸屬度矩陣:

(3)
4)計算目標(biāo)函數(shù)值Jm;
5)重復(fù)步驟2)到4)直到Jm收斂到極小值;
6)最終根據(jù)U中各個隸屬度元素將每個樣本納入其對應(yīng)的簇。
簇數(shù)目影響聚類效果好壞,CHI是一種廣泛使用的聚類評價指標(biāo),通過求取分離度和緊密度之比[9]。簇間和簇內(nèi)散度

(4)

(5)

(6)
式中k為當(dāng)前簇,(6)式分子和分母分別表示簇間和簇內(nèi)的協(xié)方差,分子越大表示簇間越分散,分母越小表示簇內(nèi)越緊密,即CHI越大聚類結(jié)果越優(yōu)。
集成學(xué)習(xí)是一種模型融合的框架,可以將不同學(xué)習(xí)模型融合得到更好的預(yù)測模型[10]。在負荷預(yù)測問題中常采用平均法作為結(jié)合策略對多個初級學(xué)習(xí)器的預(yù)測結(jié)果進行組合。當(dāng)訓(xùn)練樣本數(shù)量規(guī)模較大時采用Stacking集成學(xué)習(xí)方法以第二層元學(xué)習(xí)器作為結(jié)合策略可以取得更好的預(yù)測結(jié)果。模型結(jié)構(gòu)見圖1。

圖1 Stacking集成學(xué)習(xí)方法

極限學(xué)習(xí)機是一種單隱層前饋神經(jīng)網(wǎng)絡(luò)。訓(xùn)練過程中ELM的網(wǎng)絡(luò)參數(shù)由隨機產(chǎn)生和求解線性方程組計算得出,在同等規(guī)模數(shù)據(jù)下訓(xùn)練速度極快[11]。對于輸入向量x,ELM的輸出向量為
y=βg(ωx+b)
(7)
式中ω和b為隱含層的輸入權(quán)值矩陣和偏置,隨機產(chǎn)生;β為隱含層輸出權(quán)值矩陣,需要根據(jù)訓(xùn)練樣本求解線性方程組計算得出。訓(xùn)練時,包含N個訓(xùn)練樣本的ELM的隱含層輸出矩陣
H=[g(ωx1+b) …g(ωxN+b)]
(8)
則輸出權(quán)值矩陣可計算為
β=YH+
(9)
H+稱為H的廣義逆,Y=[y1,y2,…,yN]為樣本輸出矩陣。由此,ELM的內(nèi)部參數(shù)全部確定。
LSSVM是一種新型SVM方法,SVM訓(xùn)練過程就是求解凸優(yōu)化的過程,一般采用SMO算法求解,而LSSVM將原優(yōu)化問題轉(zhuǎn)換為線性方程求解,具有更快的學(xué)習(xí)速度[12]。LSSVM回歸原理:對包含n個樣本的訓(xùn)練集{(xi,yi)|i=1,2,…,n}進行非線性回歸,xi為輸入向量,yi為輸出值,LSSVM回歸模型可表示為
f(x)=αTφ(x)+b
(10)
式中α、b為權(quán)向量和偏置量,φ(·)為高維映射函數(shù)。LSSVM回歸可轉(zhuǎn)化為二次規(guī)劃問題
(11)
s.t.yi=αTφ(x)+b+ei,i=1,2,…n
(12)
式中,C(C>0)為正則化參數(shù);ei為樣本的誤差量。
引入拉格朗日函數(shù)求解

(13)
引入拉格朗日乘子λi,根據(jù)KKT條件
(14)
消去α和ei,得到線性方程組

(15)
式中K(xi,xj)=φT(xi)·φ(xj)為符合默塞爾定理的核函數(shù),用于描述高維映射φ(x)。求解出的b和λi,即可得到LSSVM預(yù)測模型

(16)
在Stacking集成學(xué)習(xí)的框架下以ELM作為初級學(xué)習(xí)器,對預(yù)測日的負荷值進行預(yù)測;以LSSVM作為元學(xué)習(xí)器,對預(yù)測結(jié)果修正。由于ELM具有極快的學(xué)習(xí)速度,在該集成學(xué)習(xí)框架下即使采用交叉驗證方法也不會造成訓(xùn)練時間過長的問題。ELM個數(shù)設(shè)置為10,短期負荷預(yù)測流程見圖2。

圖2 Stacking-ELM-LSSVM負荷預(yù)測方法
1)按照變量類型構(gòu)建原始樣本集,對數(shù)據(jù)特征進行歸一化處理;
2)將樣本輸入特征向量作為聚類對象進行FCM聚類,以CH指標(biāo)確定最佳簇數(shù)。以預(yù)測日輸入特征向量對應(yīng)所在簇對應(yīng)的樣本集作為預(yù)測模型的訓(xùn)練集;
3)采用0中交叉驗證方法訓(xùn)練10個ELM初級學(xué)習(xí)器,并以驗證集的預(yù)測結(jié)果和真實負荷值分別作為輸入和輸出得到新的樣本集訓(xùn)練元學(xué)習(xí)器LSSVM模型;
4)對預(yù)測日輸入數(shù)據(jù)特征進行歸一化處理并分別用10個ELM模型進行預(yù)測,得到多組預(yù)測結(jié)果。隨后將多組預(yù)測值重構(gòu)為LSSVM模型的輸入特征向量,經(jīng)LSSVM運算并反歸一化,得到預(yù)測日的負荷值。
以我國某地區(qū)2012年1月1日0:00到2014年3月2日23:30共792天的歷史數(shù)據(jù)用于訓(xùn)練,采用多步預(yù)測方法對該地區(qū)2014年3月3日48個采樣點負荷進行預(yù)測,并和真實負荷值對比驗證。考慮負荷的時序性、周期性,以及外界影響因素,模型的輸入特征主要包括以下三類:
1)負荷數(shù)據(jù):短期負荷具有明顯的周期性,其中相鄰兩日的負荷數(shù)據(jù)相關(guān)性最強,因此選取預(yù)測日前一日的負荷數(shù)據(jù)作為輸入特征的一部分。
2)氣象因素:預(yù)測日最高溫度、最低溫度、平均溫度、相對濕度、降雨量。
3)日期類型:按照預(yù)測日是否為工作日(周一到周五)和節(jié)假日分別標(biāo)記兩個特征為1或0。
輸入特征共計55個,輸出為預(yù)測日的48個采樣時間點的負荷值。
預(yù)測模型中,ELM隱含層神經(jīng)元個數(shù)設(shè)置為96;激活函數(shù)為Sigmoid函數(shù);為滿足模型訓(xùn)練要求,需要將樣本特征進行歸一化處理,由于激活函數(shù)值域為(0,1)且ELM輸出層無偏置,所以輸入變量和輸出變量分別歸一化至[-1,1]和[0,1]。元學(xué)習(xí)器LSSVM核函數(shù)為高斯核函數(shù),懲罰因子和核參數(shù)通過交叉驗證尋優(yōu)。
本文選取平均絕對百分比誤差(EMAPE/%)和均方根誤差(ERMSE/MW)作為評價負荷預(yù)測模型效果的指標(biāo),具體的計算公式

(17)

(18)

以輸入特征向量作為聚類對象,由于外部影響因素是相似日判別的主要特征,因此將其中48個采樣點負荷數(shù)據(jù)替換為為負荷最大值,最小值和平均值作為聚類特征。聚類算法為FCM,簇數(shù)設(shè)置為2到10。如圖3所示,從CHI的變化中可以觀察出最佳簇數(shù)為6。在此簇數(shù)下,用于訓(xùn)練的樣本數(shù)為154。

圖3 CH指標(biāo)與簇數(shù)的關(guān)系
為了充分驗證Stacking-ELM-LSSVM的預(yù)測性能和合理性,將其與單一預(yù)測模型ELM神經(jīng)網(wǎng)絡(luò)以及傳統(tǒng)結(jié)合策略下的集成學(xué)習(xí)預(yù)測模型作對比。在選取相似日的前提下,搭建以下四種預(yù)測模型用于對比:
模型1:本文提出的基于Stacking-ELM-LSSVM負荷預(yù)測模型。
模型2:以誤差倒數(shù)法作為結(jié)合策略替換模型1中的LSSVM元學(xué)習(xí)器。
模型3:以平均法作為結(jié)合策略替換模型1中的LSSVM元學(xué)習(xí)器。
模型4:在驗證集中預(yù)測效果最佳的ELM預(yù)測模型。
分別采用以上四種模型對預(yù)測日48個時刻的進行負荷預(yù)測,負荷預(yù)測曲線與實際曲線的對比結(jié)果及各個時刻誤差分布見圖4和圖5。圖中模型1的預(yù)測曲線與實際負荷擬合成度最高,誤差變化范圍最小,較其他三種模型具有更好的預(yù)測精度。

圖4 預(yù)測負荷曲線與實際負荷曲線

圖5 負荷預(yù)測誤差曲線
為進一步驗證本文提出方法的有效性,分別對該地區(qū)之后連續(xù)3日的電力負荷值進行預(yù)測,3月3日至6日四種預(yù)測模型的誤差見表1。從圖表可以看出,ELM可以在一定程度上預(yù)測負荷的變化趨勢,模型4中單一的ELM由于自身泛化能力不足,在驗證集中表現(xiàn)最好的ELM在預(yù)測日表現(xiàn)不佳。而集成多ELM預(yù)測可以有效降低預(yù)測誤差,模型3中以平均法作為結(jié)合策略可以有效減少單一模型的預(yù)測誤差,取得不壞的結(jié)果,以3月3日為例,和分別降低了1.84%和125.58MW,但該方法也容易受到某些弱預(yù)測器的影響;模型2中以誤差倒數(shù)法作為結(jié)合策略,可以賦予在驗證集上誤差小的初級學(xué)習(xí)器更大的權(quán)重,可以進一步提升預(yù)測精度,但驗證集樣本有時難以反映的各個初級學(xué)習(xí)器在預(yù)測日的誤差,且權(quán)重根據(jù)誤差倒數(shù)計算,在ELM數(shù)量較多時會導(dǎo)致各個模型分配的權(quán)重接近,圖5中該方法的誤差曲線和模型3接近;在表1中,3月4日至6日的預(yù)測任務(wù)中兩種模型最終的預(yù)測誤差相差不大。模型1以LSSVM作為結(jié)合策略,對各個初級學(xué)習(xí)器ELM在驗證集上的預(yù)測結(jié)果和實際負荷之間的關(guān)系進一步學(xué)習(xí),預(yù)測結(jié)果與真實值擬合程度最高,兩項誤差指標(biāo)均小于其他三種方法,在其他方法預(yù)測效果不佳時該方法最終預(yù)測結(jié)果仍然具有較高的精度。綜上,基于集成學(xué)習(xí)的預(yù)測模型具有更好的泛化性,在此基礎(chǔ)上,本文提出的Stacking-ELM-LSSVM預(yù)測精度優(yōu)于其他方法。

表1 3月3日至6日負荷預(yù)測誤差
本文采用FCM選取相似日用于預(yù)測模型的訓(xùn)練;相對于單一預(yù)測模型ELM而言,在Stacking框架下集成多個ELM對負荷進行預(yù)測,并以LSSVM作為結(jié)合策略將多個弱預(yù)測器結(jié)合成強預(yù)測器,可以有效地提高負荷預(yù)測精度。算例分析表明,該方法較單一預(yù)測模型和傳統(tǒng)的結(jié)合策略具有較好的泛化性和預(yù)測精度。
提出的Stacking集成模型采用單一算法構(gòu)建初級學(xué)習(xí)器,雖然具有差異性,但能否全面地體現(xiàn)對數(shù)據(jù)結(jié)構(gòu)和空間觀測的差異性,有待深入研究與改進。