【摘要】分析各參數(shù)對支持向量機(jī)學(xué)習(xí)能力的影響,提出一種基于雜草算法的支持向量機(jī)電力負(fù)荷預(yù)測方法。首先運用雜草算法對支持向量機(jī)的兩個關(guān)鍵參數(shù)進(jìn)行智能尋優(yōu),然后將最優(yōu)參數(shù)運用到支持向量機(jī)預(yù)測模型。采用新的預(yù)測模型對EUNITE第一次競賽提供的相關(guān)電力數(shù)據(jù)進(jìn)行分析,并與基于回歸樹和基于神經(jīng)網(wǎng)絡(luò)的預(yù)測方法進(jìn)行比較。結(jié)果表明本文方法智能化地解決了傳統(tǒng)參數(shù)選擇方法的缺陷,且對電力負(fù)荷預(yù)測具有較高的預(yù)測精度。
【關(guān)鍵詞】參數(shù)優(yōu)化;支持向量機(jī);雜草算法;電力負(fù)荷
Abstract:The impact of kinds of parameters of support vector machine(SVM)on learning ability was studied,and support vector machine based on invasive weed optimization(IWO)to power load forecasting was described in this paper.The two crucial parameters were first optimized intelligently by invasive weed optimization,and then the optimal parameters were applied in support vector machine forecasting model.Relevant power load to the first time of EUNITE competition was taken as the experiment sample to be analyzed,and then the improved forecasting model was compared with the forecasting methods based on regress tree and neural network.The results show that the proposed scheme solved intelligently the defects of the traditional parameter selection methods,and improved the forecasting accuracy.
Key words:Parameter Selection;Support Vector Machine;Invasive Weed Optimization;Power Load
1.引言
目前用于電力負(fù)荷預(yù)測方法有很多,譬如,灰色預(yù)測法[1]、回歸分析法[2]、時間序列法[3]、專家系統(tǒng)法[4]、神經(jīng)網(wǎng)絡(luò)法[5]和小波分析預(yù)測技術(shù)[6]等。但現(xiàn)實情況下應(yīng)用起來比較復(fù)雜,需要根據(jù)實際的情況要求,結(jié)合該技術(shù)自身的局限性和優(yōu)點進(jìn)行綜合考慮,最終選擇合適的方法。其中,神經(jīng)網(wǎng)絡(luò)預(yù)測方法可以模仿人腦進(jìn)行智能化處理,對大量非確定性規(guī)律、非結(jié)構(gòu)性問題具有自適應(yīng)功能;回歸分析法在進(jìn)行電力負(fù)荷預(yù)測時則須先確定相關(guān)變量與函數(shù)關(guān)系,然后通過最小二乘法來求得模型參數(shù),現(xiàn)實情況下選擇哪一種函數(shù)進(jìn)行擬合事先則無法能夠精確得到。支持向量機(jī)(Support Vector Machine,簡稱為SVM)[7]由Vapnik于1995年首先提出,可用于模式識別與非線性回歸。支持向量機(jī)在許多領(lǐng)域都得到了很好的應(yīng)用,是一種非常優(yōu)秀的機(jī)器學(xué)習(xí)方法,但該預(yù)測模型在進(jìn)行預(yù)測時需要調(diào)節(jié)其相關(guān)的參數(shù),才能得到理想的預(yù)測準(zhǔn)確率。研究者們提出將智能算法引入到優(yōu)化分類器的參數(shù)當(dāng)中,如蔡金錠、付中云等[8]提出一種基于粒子群和神經(jīng)網(wǎng)絡(luò)的綜合模型,梁海峰、涂光瑜等[9]提出一種基于遺傳算法和神經(jīng)網(wǎng)絡(luò)的綜合模型,魏俊、周步祥等[10]提出一種基于蟻群優(yōu)化算法和支持向量機(jī)的組合模型。本文將借助最新的雜草算法,提出一種基于雜草算法用于參數(shù)選擇智能化的支持向量機(jī)電力負(fù)荷預(yù)測方法。
2.支持向量機(jī)回歸模型[7]
3.雜草算法[11]
Mehrabian等于2006年提出的入侵雜草算法(Invasive Weed Optimization,IWO)是一種較新穎的數(shù)值優(yōu)化方法。該模型模擬了雜草入侵的種子空間進(jìn)行擴(kuò)散、生長、繁殖及消亡的完整過程,算法具有較強(qiáng)的自適應(yīng)性和魯棒性。跟遺傳規(guī)劃及其他群智能算法相比較,IWO算法呈簡單且易于實現(xiàn)的特點,其不需要各種操作算子,能夠簡單且有效地逼近問題的最優(yōu)解,是一種優(yōu)秀的智能優(yōu)化模型,現(xiàn)已被廣泛應(yīng)用到工程約束問題、圖像處理、控制器參數(shù)設(shè)定等眾多實際領(lǐng)域當(dāng)中。
依據(jù)個體適應(yīng)度的評價,完成了標(biāo)準(zhǔn)IWO算法的種群繁殖和優(yōu)勝劣汰的競爭機(jī)制。IWO算法在執(zhí)行過程中模擬了自然界中雜草生存的4個階段:種群初始化,生長繁殖,空間分布,競爭存亡。
3.1 種群初始化
對于初始化,主要有以下變量:初始時雜草個數(shù)p、雜草的最大個數(shù)Q、算法最大迭代步數(shù)itermax、求解問題的維數(shù)dim、最小和最大種子個數(shù)Smin和Smax、非線性模型指數(shù)n,區(qū)間步長的初始值和最終值以及根據(jù)搜索空間范圍varmin和varmax,并隨機(jī)生成p個初始解。
3.2 生長繁殖
雜草族群中的個體成員根據(jù)該成員的適應(yīng)度值、最小和最大可生成種子數(shù)來決定產(chǎn)生的種子數(shù)。
(7)
在上式中,D和C分別為種群的最小適應(yīng)度和最大適應(yīng)度;y代表植株的適應(yīng)度值。
3.3.空間擴(kuò)散
標(biāo)準(zhǔn)IWO算法種群所產(chǎn)生的種子個體隨機(jī)地撒播在dim維空間中,變化時通過將某個搜索解加上某個數(shù)值的和,而且由來決定該數(shù)值的變化區(qū)間步長的大小。
(8)
在上式中,iter代表當(dāng)前的迭代步數(shù);itermax代表著最大迭代步數(shù);Si代表所產(chǎn)生的種子在第i維上的值;Wi代表著當(dāng)前植株在第i維上的值。
3.4 競爭存亡
最后各個植株將按照適應(yīng)度的大小進(jìn)行排序,較優(yōu)的植株會產(chǎn)生更多的后代。在每次繁殖過后,將重新按照適應(yīng)度的大小來進(jìn)行繁殖,當(dāng)種群總數(shù)目達(dá)到預(yù)設(shè)的最大值時,種群數(shù)將保持固定,也意味著適應(yīng)度差的植株將剔除出種群。
IWO算法的基本步驟如下所示:
(1)種群初始化:按照3.1要求設(shè)置參數(shù),隨機(jī)生成初始解。
(2)生長繁殖:對于每個解,根據(jù)公式(7)確定被允許的后代個數(shù)。
(3)空間擴(kuò)散:根據(jù)公式(8)將所產(chǎn)生的種子隨機(jī)地散布在搜索區(qū)域當(dāng)中,生長出新的雜草個體。
(4)重復(fù)執(zhí)行步驟(2)和(3),直至雜草達(dá)到最大數(shù)。
(5)競爭存亡:只將適應(yīng)性較好的前M個雜草個體留下并產(chǎn)生種子,其他均淘汰消亡。
(6)重復(fù)執(zhí)行步驟(2)-(5),直至滿足最大迭代步數(shù)為止。
4.基于雜草算法的支持向量機(jī)電力負(fù)荷預(yù)測
本文將改進(jìn)算法標(biāo)記為IWOSVM,其基本步驟如下所示:
(1)給定兩個關(guān)鍵參數(shù)c和g的上下限,并進(jìn)行初始化。
(2)初始化IWO群體,設(shè)置相關(guān)參數(shù),運用IWO迭代訓(xùn)練SVM預(yù)測模型。
(3)運用已經(jīng)得到的最佳參數(shù)c和g,再進(jìn)行預(yù)測,生成最佳SVM預(yù)測模型。
(4)輸入測試樣本,進(jìn)行預(yù)測,輸出預(yù)測結(jié)果。
對于SVM的兩個關(guān)鍵參數(shù),目前還沒有統(tǒng)一的方法來求解。但都圍繞著將選取能達(dá)到最高驗證分類準(zhǔn)確率中最小的那組參數(shù)和作為最優(yōu)參數(shù)。因為,過于過高的容易導(dǎo)致過學(xué)習(xí)狀態(tài),即訓(xùn)練樣本集聚類準(zhǔn)確率高,而測試樣本集聚類準(zhǔn)確率低,使得分類器的活佛能力降低。本文正是借助雜草算法這一新穎算法,將兩個參數(shù)作為尋優(yōu)變量,從而尋找最佳的預(yù)測模型。
5.仿真結(jié)果
以下實驗仿真均在同一配置PC機(jī)上獨立運行,PC機(jī)配置環(huán)境如下:CPU為Intel Core i7-3600 3.40GHz,內(nèi)存4GB,操作系統(tǒng)64位Windows7專業(yè)版,仿真軟件matlabR2012b。以下所提神經(jīng)網(wǎng)絡(luò),回歸樹均為matlab自帶工具箱函數(shù),SVM為臺灣林智仁教授所提供的libsvm3.17版本。算法IWO部分采用相同參數(shù)獨立運行30次,參數(shù)如下:搜索空間范圍中,參數(shù)損失函數(shù)范圍為,參數(shù)gamma設(shè)置范圍為,迭代代數(shù)itermax=20,種群大小p=10,最大草群大小Q=10,最大種子數(shù)目Smax=5,最小種子數(shù)目Smin=1,非線性模型指數(shù)n=3,區(qū)間步長初始值,區(qū)間步長最終值。
圖1 每天的平均電力負(fù)荷
圖2 第半小時的平均負(fù)荷
圖3 每天的氣溫情況
借助EUNITE第一次競賽所提供的斯洛伐克東部地區(qū)1997和1998兩年的電力負(fù)荷原始數(shù)據(jù),收集了該地區(qū)每半小時電力負(fù)荷的相關(guān)數(shù)據(jù)。該數(shù)據(jù)集共730組數(shù)據(jù),每組數(shù)據(jù)含52個特征值,其中有代表著各時間段的負(fù)荷,有代表著該時間的平均溫度,有代表著時間信息等。為了提高預(yù)測率,本文增加一個是否為工作日的特征值,周末或節(jié)假日均為非工作日。這里,本文將斯洛伐克東部地區(qū)1997和1998全年中各天的相關(guān)數(shù)據(jù)作為模型輸入,以各天出現(xiàn)的最大負(fù)荷作為模型輸出,訓(xùn)練樣本與測試樣本采用同一組數(shù)據(jù)。圖1-圖4分別從不同角度來呈現(xiàn)數(shù)據(jù)集的特點。
圖4 日期對應(yīng)的最大負(fù)荷
正如圖1所示,從1997到1998年共730天里,48個時間段內(nèi)的平均電力負(fù)荷情況,從各年份來講,數(shù)據(jù)集呈正態(tài)分布,也正說明了負(fù)荷隨著季節(jié)等的變化,電力負(fù)荷情況也在變化。圖2也顯示出了在一天24小時內(nèi),每半小時的平均負(fù)荷情況。圖3顯示出了在從1997到1998年共730天里,每天的平均氣溫情況,數(shù)據(jù)集也呈正態(tài)分布,也說明了天氣與日期較為規(guī)律的聯(lián)系。圖4則顯示了在從1號到31號里,從1997到1998年共730天里對應(yīng)的最大負(fù)荷。
下面將以圖表的形式來說明本文算法與其他兩種經(jīng)典算法的結(jié)果比較情況。
圖5 回歸預(yù)測負(fù)荷與原始負(fù)荷對比結(jié)果
圖6 神經(jīng)網(wǎng)絡(luò)原始負(fù)荷與預(yù)測負(fù)荷對比結(jié)果
從圖5,圖6可以看出,回歸樹和神經(jīng)網(wǎng)絡(luò)均采用相同樣本進(jìn)行測試,其中神經(jīng)網(wǎng)絡(luò)配置信息:訓(xùn)練數(shù)據(jù)率為70%,驗證數(shù)據(jù)率為15%,15%作為測試率。最終兩種算法的預(yù)測結(jié)果都不顯著,特別是處在邊緣的數(shù)據(jù),兩種算法大都無法得到正確的預(yù)測結(jié)果。
從圖7中可以看出,本文所提出的算法,在所預(yù)測的負(fù)荷數(shù)據(jù)與原始負(fù)荷數(shù)據(jù)相符合,而且在邊緣上亦如此。下面將通過表1來說明回歸樹、神經(jīng)網(wǎng)絡(luò)和本文所提的算法采用同一訓(xùn)練、同一測試數(shù)據(jù)集進(jìn)行預(yù)測的結(jié)果比較。正如表1所示,本文從平均誤差和均值兩個方面進(jìn)行評價,回歸樹與神經(jīng)網(wǎng)絡(luò)的平均誤差在0.5到1之間,均值在900到2000之間,而本文的改進(jìn)算法無論是平均識別,還是均值,都接近于0,精確到1e-7,這說明本文在短期的電力預(yù)測負(fù)荷當(dāng)中取得了較好的結(jié)果。
圖7 本文算法預(yù)測負(fù)荷與原始負(fù)荷對比結(jié)果
6.結(jié)束語
本文提出一種基于雜草算法的支持向量機(jī)電力負(fù)荷預(yù)測方法。分析各參數(shù)對支持向量機(jī)學(xué)習(xí)能力的影響。算法首先運用雜草算法對支持向量機(jī)的兩個關(guān)鍵參數(shù)進(jìn)行智能尋優(yōu),然后將最優(yōu)參數(shù)運用到支持向量機(jī)預(yù)測模型。采用新的預(yù)測模型對EUNITE第一次競賽所提供的斯洛伐克東部地區(qū)1997和1998兩年每天各時段的相關(guān)電力數(shù)據(jù)進(jìn)行分析,并與基于回歸樹和基于神經(jīng)網(wǎng)絡(luò)的預(yù)測方法進(jìn)行比較。仿真結(jié)果表明本文所提改進(jìn)方法能夠智能化地解決了傳統(tǒng)參數(shù)選擇方法的缺陷,且相比回歸樹、神經(jīng)網(wǎng)絡(luò),新算法對電力負(fù)荷預(yù)測具有更高的預(yù)測精度。
參考文獻(xiàn)
[1]康重慶,夏清,劉梅.電力系統(tǒng)負(fù)荷預(yù)測[M].北京:中國電力出版社,2007.
[2]游仕洪,程浩忠,謝宏.應(yīng)用模糊線性回歸模型預(yù)測中長期電力負(fù)荷[J].電力系統(tǒng)自動化設(shè)備,2006,26(3):51-53.
[3]葉瑰昀,羅耀華,劉勇.基于ARMA模型的電力負(fù)荷預(yù)測方法研究[J].信息技術(shù),2002,6(3):74-76.
[4]Ho Ku Long,Hsu Yuan Yih,Lee C E,et al.Short term load forecasting of Tai wan power system using knowledge based expert system[J].IEEE PWRS,1990,5(4):46-57.
[5]袁宇春,張保會.電力系統(tǒng)短期負(fù)荷預(yù)測的改進(jìn)神經(jīng)網(wǎng)絡(luò)方法[J].電力系統(tǒng)自動化,1997,21(11):12-17.
[6]姚李孝,劉學(xué)琴.基于小波分析的月度負(fù)荷組合預(yù)測[J].電網(wǎng)技術(shù),2007,31(19):35-39.
[7]Corinna Cortes,Vladimir Vapnik.Support-vector networks[J].Machine Learning,1995,20(3):273-297.
[8]蔡金錠,付中云.粒子群神經(jīng)網(wǎng)絡(luò)混合算法在負(fù)荷預(yù)測中的應(yīng)用[J].高電壓技術(shù),2007,33(5):90-93.
[9]梁海峰,涂光瑜,唐紅衛(wèi).遺傳神經(jīng)網(wǎng)絡(luò)在電力系統(tǒng)短期負(fù)荷預(yù)測中的應(yīng)用[J].電網(wǎng)技術(shù),2001,25(1):49-53.
[10]魏俊,周步祥,林楠,等.基于蟻群支持向量機(jī)的短期負(fù)荷預(yù)測[J].電力系統(tǒng)保護(hù)與控制,2009,37(4):36-40.
[11]Mehrabian A R,Lucas C.A novel numerical optimization algorithm inspired from weed colonization[J].Ecological Informatics,2006,1(4):355-366.