李文江,陳 陽(yáng)
(遼寧工程技術(shù)大學(xué)電氣與控制工程學(xué)院,遼寧葫蘆島 125105)
電力負(fù)荷預(yù)測(cè)就是根據(jù)預(yù)測(cè)的需求,釆用一種數(shù)學(xué)方法,系統(tǒng)地處理過(guò)去的歷史數(shù)據(jù),以實(shí)現(xiàn)對(duì)未來(lái)某特定時(shí)段的負(fù)荷數(shù)值進(jìn)行高精度的預(yù)測(cè)。對(duì)于發(fā)、輸電企業(yè),需要依據(jù)預(yù)測(cè)來(lái)保證系統(tǒng)運(yùn)行的安全性和經(jīng)濟(jì)性,高精度電力負(fù)荷的預(yù)測(cè),可以提高電力企業(yè)的競(jìng)爭(zhēng)能力和經(jīng)濟(jì)效益[1]。近些年來(lái),許多學(xué)者對(duì)這一問(wèn)題進(jìn)行研究,各種預(yù)測(cè)方法層出不窮??偨Y(jié)起來(lái)說(shuō)主要分為兩類(lèi):傳統(tǒng)預(yù)測(cè)方法和人工智能方法。由于科技的發(fā)展,傳統(tǒng)預(yù)測(cè)方法不能滿(mǎn)足現(xiàn)在的預(yù)測(cè)要求,因此,人工智能方法成為了現(xiàn)今主要的預(yù)測(cè)方法。例如人工神經(jīng)網(wǎng)絡(luò)方法、小波分析算法、遺傳算法等。
本文將人工蜂群(artificial bee colony,ABC)算法[2~4]進(jìn)行改進(jìn)并與最小二乘支持向量機(jī)(least squares support vector machine,LS-SVM)結(jié)合,利用混沌序列蜂群算法優(yōu)化其訓(xùn)練參數(shù),得到了優(yōu)化的基于混沌蜂群的LS-SVM的電力負(fù)荷預(yù)測(cè)模型。實(shí)驗(yàn)結(jié)果表明,基于混沌人工蜂群(CABC)算法的LS-SVM模型的預(yù)測(cè)精度更高、誤差更小,可以更有效地對(duì)電力負(fù)荷進(jìn)行預(yù)測(cè)。
電力負(fù)荷的預(yù)測(cè)是很多確定的和不確定的因素相互影響共同作用的結(jié)果,其序列屬于混沌時(shí)間序列,必須將電力負(fù)荷與混沌理論結(jié)合起來(lái),應(yīng)用先進(jìn)的機(jī)器學(xué)習(xí)算法,將電力負(fù)荷看作這個(gè)混沌系統(tǒng)策動(dòng)的結(jié)果和表現(xiàn),并把混沌動(dòng)力學(xué)的方法用于電力負(fù)荷的預(yù)測(cè)中,以期提高預(yù)測(cè)的準(zhǔn)確率。
又由于ABC算法在目標(biāo)函數(shù)存在多個(gè)局部最優(yōu)解或全優(yōu)解周?chē)嬖诠热r(shí)性能很不理想,容易導(dǎo)致群體多樣性的下降,算法過(guò)早收斂。此外,考慮到蜂群的趨同性,搜索后期算法不能有效地跳出局部最優(yōu)解[5]。
混沌具有隨機(jī)性、遍歷性及規(guī)律性等特點(diǎn),在一定范圍內(nèi)能按其自身的規(guī)律不重復(fù)地遍歷所有狀態(tài)。為此,本文引入禁忌表和混沌搜索對(duì)ABC算法進(jìn)行了改進(jìn),利用混沌搜索的遍歷性跳出ABC算法的局部最優(yōu)解?;煦缢阉髦饕襟E如下:
1)產(chǎn)生一個(gè)D維的隨機(jī)初始向量 X0=m0,1,m0,2,…,m0,D。其中,m0,k∈(0,1),并且各個(gè)值之間的差異較小。
2)在初始向量X0的基礎(chǔ)上,使用Logistic方程(1)產(chǎn)生混沌序列 X0,X1,X2,…,XN。其中
式中 μ為控制變量,當(dāng)μ=4時(shí),為完全遍歷狀態(tài)。
3)采蜜蜂利用混沌序列,得到新的解
式中i是解的編號(hào),j∈{1,2,…,D},k∈{1,2,…,N}是隨機(jī)產(chǎn)生的,且k≠i。如果新解得適應(yīng)度值比舊解的適應(yīng)度值大,則記下更新舊解;否則,在舊解的更新失敗次數(shù)加1。
4)若達(dá)到最大迭代次數(shù),則優(yōu)化過(guò)程結(jié)束;否則,返回步驟(2)
本文將混沌搜索引入觀察蜂的區(qū)域搜索中來(lái)降低陷入局部極小點(diǎn)的幾率。通過(guò)和其他優(yōu)化算法對(duì)測(cè)試函數(shù)優(yōu)化的效果對(duì)比發(fā)現(xiàn),CABC算法優(yōu)化效果較好。
SVM[6]的基本思想是基于Mercer核展開(kāi)定理,通過(guò)非線(xiàn)性映射,將輸入空間的樣本映射到高維的特征空間中,將尋找最優(yōu)線(xiàn)性回歸超平面的算法歸結(jié)為求解約束條件下的二次規(guī)劃問(wèn)題,并可以求得全局最優(yōu)解。
LS-SVM[7,8]是一種回歸預(yù)測(cè)算法,是標(biāo)準(zhǔn) SVM 的一種擴(kuò)展,優(yōu)化指標(biāo)采用平方項(xiàng),并用等式約束代替標(biāo)準(zhǔn)SVM的不等式約束,即將二次規(guī)劃問(wèn)題轉(zhuǎn)化為線(xiàn)性方程組求解,降低了計(jì)算復(fù)雜度,加快了求解速度。LS-SVM方法采用如下形式的函數(shù)對(duì)未知函數(shù)進(jìn)行估計(jì)
式中 w為超平面的權(quán)值矢量;b為偏置常數(shù);非線(xiàn)性函數(shù)φ(·)將輸入空間映射為高維特征空間。
給定訓(xùn)練樣本集,LS-SVM定義如下優(yōu)化問(wèn)題
式中 λ為正規(guī)化參數(shù)。
約束條件為
通過(guò)其對(duì)偶形式可以求它的最優(yōu)解
式中 αi為拉格朗日乘子。
對(duì)偶形式可以根據(jù)目標(biāo)函數(shù)和約束條件建立拉格朗日函數(shù)。
根據(jù)KKT優(yōu)化條件有
可得
利用核函數(shù)的方法,令
其中,K(xi,xj)為滿(mǎn)足Mercer條件的對(duì)稱(chēng)函數(shù),根據(jù)式
優(yōu)化問(wèn)題轉(zhuǎn)化為求解線(xiàn)性方程
其中
則回歸函數(shù)為
本文選取RBF核函數(shù)來(lái)構(gòu)造LS-SVM,這樣需要優(yōu)化的參數(shù)最少,只有正規(guī)化參數(shù)λ和寬度參數(shù)σ。
RBF核函數(shù)為
利用CABC算法對(duì)LS-SVM的懲罰因子C和核參數(shù)σ進(jìn)行優(yōu)化,CABC算法優(yōu)化LS-SVM的算法流程如圖1,建模具體步驟如下:
1)初始化CABC算法中的控制參數(shù)。包括蜂群的大小2N,采蜜蜂的數(shù)量N=100,觀察蜂的數(shù)量N=100,解的個(gè)數(shù)N=100,極限值limit=100,最大循環(huán)次數(shù)MCN=120以及D維初始量 X0=x0,1,x0,2,…,x0,D。其中,x0,k∈(0,1),并且各個(gè)值之間的差異較小。
2)在初始向量X0的基礎(chǔ)上,使用方程式(1)產(chǎn)生混沌序列 X0,X1,X2,…,XN。μ 為控制變量,當(dāng) μ =4 時(shí),為完全遍歷狀態(tài)。
3)設(shè)置CABC算法中適應(yīng)度函數(shù),并計(jì)算每個(gè)解得適應(yīng)度值。
4)采蜜蜂利用混沌序列,得到新的解式(2)。
如果新解的適應(yīng)度值比舊解的適應(yīng)度值大,則記下更新舊解;否則,在舊解的更新失敗次數(shù)加1。
5)計(jì)算各解的可能值Pi
式中f(Xi)是第i個(gè)解的適合度值。觀察蜂根據(jù)這些可能值從現(xiàn)有解的鄰域中搜索新的解。
6)如果解Xi的更新失敗次數(shù)超過(guò)了預(yù)先設(shè)定的極限值,那么就說(shuō)明這個(gè)解不能再被優(yōu)化了,須將它舍棄,用下式產(chǎn)生的新解將其代替
保存最優(yōu)的解。
7)如果迭代次數(shù)大于最大循環(huán)次數(shù)MCN,則訓(xùn)練結(jié)束;否則,返回第4步。
8)將得到的最優(yōu)解變換成LS-SVM的正規(guī)化參數(shù)λ和寬度參數(shù)σ,并用數(shù)據(jù)仿真和測(cè)試。
采用本文所講預(yù)測(cè)方法和某地區(qū)電網(wǎng)在2012年5月的電量負(fù)荷進(jìn)行預(yù)測(cè)。選擇5月份前28 d的電量負(fù)荷及其相關(guān)數(shù)據(jù)作為訓(xùn)練樣本,后3 d的數(shù)據(jù)作為測(cè)試樣本,對(duì)電網(wǎng)的負(fù)荷進(jìn)行預(yù)測(cè)。本文設(shè)定懲罰因子C∈[0.1,150],核參數(shù) σ∈[0.1,10],食物源的數(shù)量為 20,最大迭代次數(shù)為100。采用Matlab仿真平臺(tái)進(jìn)行預(yù)測(cè),得到的結(jié)果如圖2。
圖1 CABC-LSSVM算法流程圖Fig 1 Flow chart of CABC-LSSVM algorithm
圖2 實(shí)際負(fù)荷與預(yù)測(cè)負(fù)荷曲線(xiàn)圖Fig 2 Curve of actual load and prediction load
由圖2可以看出:預(yù)測(cè)曲線(xiàn)與實(shí)際數(shù)據(jù)曲線(xiàn)軌跡偏差不大,因此,改進(jìn)的ABC與LS-SVM算法具有很好的預(yù)測(cè)精度。通常用平均相對(duì)誤差的大小來(lái)衡量預(yù)測(cè)的性能,其計(jì)算公式為型實(shí)際可行,并且具有較高的預(yù)測(cè)精度和更好的泛化能力。
表1 平均相對(duì)誤差表Tab 1 Table of average relative error
從表1中可以得出:最大誤差為2.43%,最小誤差為1.4%,平均誤差為2.08%。由此可以得出:本文的預(yù)測(cè)模
在電力負(fù)荷的預(yù)測(cè)中,懲罰因數(shù)C和核參數(shù)σ對(duì)預(yù)測(cè)結(jié)果有重大影響。本文采用改進(jìn)的ABC算法對(duì)這2個(gè)參數(shù)進(jìn)行優(yōu)化,取得最優(yōu)的解賦給LS-SVM算法進(jìn)而預(yù)測(cè),避免了選取參數(shù)的盲目性。通過(guò)算法模型的建立和仿真結(jié)果的證明:本文所講方法是可行的,通過(guò)此方法可以提高預(yù)測(cè)的精度,減小誤差,對(duì)電力負(fù)荷的預(yù)測(cè)有實(shí)際意義。
[1] 霍 明.短期負(fù)荷預(yù)測(cè)的支持向量機(jī)模型參數(shù)優(yōu)化方法研究[D].長(zhǎng)沙:湖南大學(xué),2009.
[2] Karaboga D.An idea based on honey bee swarm for numerical optimization[R].Erciyes,Erciyes University,2005.
[3] Karaboga D,Basturk B.A powerful and efficient algorithm for numerical function optimization:Artificial bee colony(ABC)algorithm[J].Journal of Global Optimization,2007,39(3):459 -471.
[4] Karaboga D,Basturk B.A comparative study of artificial bee colony algorithm[J].Applied Mathematics and Computation,2009,214(1):108-132.
[5] 康 飛,李俊杰.改進(jìn)人工蜂群算法及其在反演分析中的應(yīng)用[J].水電能源科學(xué),2009,27(1):126 -129.
[6] Cristianini N,Taylo J S.支持向量機(jī)導(dǎo)論[M].英文版.北京:機(jī)械工業(yè)出版社,2005:93-160.
[7] Jak S,Vandewalle J.Least squares support machine classifiers[J].Neural Processing Letters,1999,9(3):293 -300.
[8] Gencoglu M T,Uyar M.Prediction of flashover voltage of insulators using least squares support vector machines[J].Expert Systems with Applications,2009,36:10789 -10798.
[9] 康重慶,夏 清,劉 梅.電力系統(tǒng)負(fù)荷預(yù)測(cè)[M].北京:中國(guó)電力出版社,2007:12,170.
[10]龔燈才.基于支持向量機(jī)的電力短期負(fù)荷預(yù)測(cè)研究[D].南京:河海大學(xué),2006:50 -51.
[11]李云飛,黃彥全,蔣功連.基于支持向量機(jī)的短期負(fù)荷預(yù)測(cè)的方法改進(jìn)[J].西華大學(xué)學(xué)報(bào),2007,26(2):21 -24.
[12]耿 艷.基于最小二乘支持向量機(jī)的短期負(fù)荷預(yù)測(cè)方法及應(yīng)用研究[D].濟(jì)南:山東大學(xué),2008:26-28.