溫玨
摘要:
為了降低人為設定參數值對支持向量機運行結果準確度的影響,采用智能算法中的人工魚群算法,搜尋支持向量機相應參數的最優解。由于人工魚群算法運算在尋優精度和效率方面均有提升空間,故將混沌機制引入人工魚參數初始化,通過改進固定參數和行為算子得到支持向量機預測模型。使用該模型進行中長期電力需求預測研究,并與其它參數優化算法產生的模型進行均方誤差對比。研究結果表明:改進后的模型在擬合均方誤差和預測均方誤差上都優于未優化的模型,支持向量機在預測精度方面有一定程度的提升。
關鍵詞:
中長期負荷預測;支持向量機;人工魚群算法;混沌機制;參數優化;均方誤差
DOIDOI:10.11907/rjdk.172423
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2018)003018304
英文摘要Abstract:In order to weaken the effect that artificial parameter values influence on accuracy of result of support vector machine(SVM), this paper uses the artificial fish swarm algorithm(AFSA), one of the intelligence algorithms, to search the optimum solution of corresponding parameters of SVM. Owing to the room for improvement in accuracy and efficiency of AFSA, the chaos mechanism is introduced into the parameter initialization of artificial fishes with the improvement of fixed parameters and operator, which reaches the prediction model of SVM based on parameter optimized by improved AFSA, and helps the prediction study of midandlong term power demand, which compares with models optimized by other algorithm. The results show that the improved model is more excellent than the model without optimization in mean square error (MSE) of fitting and forecasting. Besides that, the prediction accuracy of SVM has a certain degree of improvement.
英文關鍵詞Key Words:midandlong term load forecast; support vector machine(SVM); artificial fish swarm algorithm(AFSA); chaotic mechanism; parameter optimization; mean square error (MSE)
0引言
電力系統建設投資大、周期長,為了實現中長期電力系統的合理規劃和安全運行,應盡可能提高電力需求預測精確度。電力需求預測指未來某個時段內可能產生的電力需求量的一種估算,根據運算周期長短不同,可分為短期電力需求預測和中長期電力需求預測。其中,中長期電力需求預測的目標一般為月度、季度或年度電力需求[13]。
中長期電力需求預測研究較為廣泛。孫輝等[4]對基于灰色預測理論的電力系統中長期負荷預測的實用方法進行了研究,在小樣本量、相關影響因素復雜的條件下,得到了較為理想的預測結果。Rahman等[5]根據優化向量法比較各種因素對目標變量的影響,并通過專家系統進行預測。人工智能算法中,Islam等[6]將網絡預測方法運用于中長期電力預測,雷紹蘭等[7]使用BP網絡進行短期電力負荷預測,牛東曉、Pai等[89]則利用數據挖掘和支持向量機進行電荷預測。
1支持向量機參數尋優
1.1支持向量機
支持向量機(SVM)是基于統計學概念的機器學習方法,這種方法使用探索結構化風險最小,提升算法的泛化能力,以達成經驗風險及置信區間最小化。其理論基礎來源于統計學的VC統計理論[10],在小樣本、非線性特征、局部最優和高維模式等方面優勢明顯[11]。它具備較強的魯棒性、泛化能力和非線性擬合能力。起初用于小樣本、非線性的分類問題,隨后逐步應用于非線性擬合,表現出良好的性能[12]。由于核函數有較強的局部插值能力,且在小樣本前提下比其它算法更具優勢,因此本算法更適用于中長期電力需求預測。
在預測過程中需對參數實行人工設定,其中支持向量機參數中的核函數和錯誤懲罰因子對運算結果影響較大,人為設置參數使預測精度難以提高,故需要對損失函數參數及核參數進行相應優化。近年來常用于支持向量機改進的智能算法有遺傳算法[13]、果蠅算法、粒子群算法等,本文使用人工魚群算法實現相關參數尋優。
1.2人工魚群算法
人工魚群算法[14](AFSA)是根據魚類活動特點總結出的一種群智能隨機全局優化技術。它學習自然界中魚類的覓食、聚群以及追尾行為,通過魚群中個體間的相互協助尋覓目標函數的全局最優解。此算法不但有較優秀的全局尋優能力,而且具備初始值不甚敏感、魯棒性較強、收斂速度快等特點[15]。因此,本文使用人工魚群算法對支持向量機進行關鍵參數的優化改進,以便提升支持向量機的穩定性和測量精度。
假如在一個D維空間中,共有N條人工魚構成了一個整體,而其中第i條人工魚所在的位置可描述成向量Xi,i=1,2,…,N。人工魚當前位置對應的食物濃度(適應度)函數為Y=f(X),其中每條人工魚所處位置都可視作一個潛在的解。將向量Xi代入食物濃度函數能得出該位置相應的適應度值Yi,并能使用適應度Yi的大小衡量人工魚所在位置Xi的優劣。規定所有人工能檢測到的視野范圍為visual,step為人工魚每次行動前進的步長,δ為擁擠度因子(δ<1),用以表示某個點周圍的擁擠度大小,try_number為每條人工魚執行覓食算子時可進行嘗試的最大次數。
覓食、聚群及追尾算子是構成人工魚群算法的3種核心算子,決定了算法性能的優劣和參數尋優的精度。如果分別執行上述算子后依舊無法改善適應度,則需要執行隨機算子,該算子不一定能向最優解所在方向靠攏,但它能幫助魚群更好地逃離局部最優的陷阱,尋覓更理想的解。
1.2.1覓食算子
設一條人工魚i當前所在位置為Xi,所對應的適應度值為Yi,在其視野范圍內依照式(1)隨機選定另一位置Xj,其適應度值為Yj。如果Yi Xj=Xi+rand()stepXj-XiXj-Xi(1) Xnext=Xi+rand()step(2) 1.2.2聚群算子 假設人工魚當前所在位置為Xi,其相應適應度函數為Yi,以其自身Xi為中心點的視野范圍visual內共存在nf條人工魚。當nf≥1時,根據式(3)得出該魚群的中心位置為Xcenter,所對應的適應度為Ycenter。如果滿足Ycenter/nf>δYi,表明該魚群中心的食物較為充足且擁擠程度偏低,故根據式(4)向該中心位置所對應的方向移動一步;若不滿足該條件,則選擇執行覓食算子。 Xcenter=∑nfj=1Xjnf(3) Xnext=Xi+rand()stepXcenter-Xi‖Xcenter-Xi‖(4) 1.2.3追尾算子 在自然狀態下,如果魚群中的一條或幾條魚尋覓到食物較為充足且不太擁擠的區域,鄰近的魚就會緊隨其后迅速抵達該點,這在尋優算法中表示為一種趨向性。設人工魚i當前位置為Xi,其相應的適應度函數為Yi,人工魚i在當前視野范圍內能夠搜尋到的具有適應度最大值的人工魚伙伴所在位置為Xmax,則該位置所對的適應度值為Ymax。如果Ymax>Yi,則以Xmax為中心點搜尋在其視野范圍內的所有人工魚,所得條數為nf。如果同時滿足Ymax>Yi與Ymax/nf<δYi,則說明該伙伴所在位置Xmax對應較高的適應度值,且四周不擁擠。按照式(5)向視野范圍內擁有最大適應度值的伙伴位置Xmax前進一步,反之則選擇執行覓食算子。 Xnext=Xi+rand()stepXmax-Xi‖Xmax-Xi‖(5) 2人工魚群算法改進 2.1混沌初始化 基礎的人工魚群算法雖然具備初始值不敏感、魯棒性較強等優點,但如果能使人工魚群的初始值盡量均勻分布在可能的解空間內,就能使算法的尋優效率得到有效提升。此外,混沌算法自身具有遍歷性與規律性,使用混沌算法對人工魚群進行算法初始化,可提高初始解群的質量,加快人工魚群算法的尋優進程[17]。本文所用的Tent映射函數如下: xk+1=xkax∈[0,a](1-xk)(1-a)x∈(a,1] (6)
δ=δ*β(11)
β=e-0.03Ymax(12)
其中Ymax為每次迭代時人工魚位置所對應的適應度最大值。
3實例分析
以山西省統計局公布的2010年1月至2016年12月全社會用電量數據為研究對象,并取每月同期的主要工業產品產量(原煤、生態、粗鋼、鋼材)、地區生產總值(GDP)、居民消費價格指數以及當地平均氣溫為特征值。其中以2010年1月至2015年12月的相應數據為向量機訓練樣本,對山西省2016年1月至12月的用電量需求進行預測。初始數據經過小波降噪和歸一化處理后所得的每月特征值如圖1所示,其中,橫坐標1-84分別表示2010年1月至2016年12月各月份。
分別選取支持向量機參數預設特定值(令錯誤懲罰因子c=2.0,核函數g=0.1),以及使用粒子群算法(PSO)、人工魚群算法(AFSA)和本文的改進人工魚群算法進行SVM參數尋優,并分別進行支持向量機擬合和預測。4種算法所得的擬合以及預測對比如圖2、圖3所示,其中,
將2010年1月至2014年12月的數據和2011年1月至2015年12月的全社會用電量分別作為向量機樣本擬合的輸入、輸出,并以2015年全年數據和2016年全年的全社會用電量為向量機預測輸入、輸出。通過PSO、AFSA以及改進的AFSA,得出相應錯誤懲罰因子和核函數,同隨機初始參數一起代入向量機并進行比較,以所得數據與原始數據的均方誤差作為評判標準??梢钥闯?,人工魚群算法優于粒子群算法,且不像隨機初始值一般因設定值不同變動過大。此外,改進后的人工魚群算法亦比原始算法有所進步。由圖2、圖3可知,原始數據波動劇烈,非線性擬合難以得到很高的準確性。在全局擬合方面,由優化算法與原始數據的均方誤差可知,改進的AFSA算法比其它算法更接近原始數據,尤其當原始數據出現大幅震蕩時,SVM擬合精度普遍較低,改進的AFSA所得結果較其它3種優化算法更為接近原數據。
本文采用的改進人工魚群算法可加快尋優速度,在AFSA上進一步提升尋優效率。與AFSA對比,在相同迭代次數下更快收斂,且具有更好的收斂效果。代入本文實例,可對比魚群算法和改進魚群算法每次迭代時的最大適應度,結果如圖4所示。在本例中適應度值越大表明尋優效果越好,由此可知,優化后的魚群算法能夠更快更好地進行尋優。
上述實驗表明,本文提出的改進人工魚群算法優化了SVM關鍵參數的預測模型,明顯比單獨的SVM預測模型以及經粒子群算法優化的SVM模型有更好的精確度,比未經改進的人工魚群算法優化的SVM模型的預測精度也有了進一步提升。
4結語
本文利用支持向量機在小樣本、非線性特征、局部最優和高維模式等方面的突出優勢,對中長期電力需求進行擬合預測。由于參數值選取對支持向量機預測的精確率起關鍵作用,因此提出了一種運用人工魚群算法對支持向量機關鍵參數尋優的方法。在此基礎上對人工魚群算法相應算子和固定參數進行合理改進,進一步提升了算法的全局尋優能力,加快了運算后期的收斂進程,更好地避免了局部最優解。實例證明經過改進的人工魚群算法,能有效提高支持向量機的預測精度。由于中長期電力預測涉及的數據量有限,而相關領域眾多,未來研究中會對多領域的特征輸入函數篩選和分類進行改進,以便能夠更加深入、全面地對中長期電力負荷需求預測進行研究。
參考文獻參考文獻:
[1]OOLOFSSON T, ANDERSSON S. Longterm energy demand predictions based on shortterm measured data [J]. Energy and Buildings, 2001,33(2):8591.
[2]廖旎煥,胡智宏,馬瑩瑩,等.電力系統短期負荷預測方法綜述[J].電力系統保護與控制,2011,39(1):147152.
[3]麥鴻坤,肖堅紅,吳熙辰,等.基于R語言的負荷預測ARIMA模型并行化研究[J].電網技術,2015,39(11):32163220.
[4]王大鵬.灰色預測模型及中長期電力負荷預測應用研究[D].武漢:華中科技大學,2013.
[5]RAHMAN S, BABA M. Software design and evaluation of a microcomputerbased automated load forecasting system [J]. Power Systems, IEEE Transactions on, 1989,4(2):7828.
[6]ISLAM S M, ALALAWI S M, ELLITHY K A. Forecasting monthly electric load and energy for a fast growing utility using an artificial neural network[J]. Electric Power Systems Research, 1995,34(1):19.
[7]雷紹蘭,孫才新,張曉星,等.基于徑向基神經網絡和自適應神經模糊系統的電力短期負荷預測方法[J].中國電機工程學報,2005,25(22):7882.
[8]牛東曉,谷志紅,邢棉,等.基于數據挖掘的SVM短期負荷預測方法研究[J].中國電機工程學報,2006,26(18):612.
[9]PAI P F, HONG W C. Forecasting regional electricity load based on recurrent support vector machines with genetic algorithms[J]. Electric Power Systems Research, 2005,74(3):417425.
[10]VAPNIK V. The nature of statistical learning theory [M]. New York; Springer Verlag, 1995.
[11]TAGLIAFERRI F, VIOLA I M, FLAY R G J. Wind direction forecasting with artificial neural networks and support vector machines[J]. Ocean Engineering, 2015,97(15):6573.
[12]李瑾,劉金朋,王建軍.采用支持向量機和模擬退火算法的中長期負荷預測方法[J].中國電機工程學報,2011,31(16):6366.
[13]吳景龍,楊淑霞,劉承水.基于遺傳算法優化參數的支持向量機短期負荷預測方法[J].中南大學學報:自然科學版,2009,40(1):180184.
[14]李曉磊,邵之江,錢積新.一種基于動物自治體的尋優模式:魚群算法[J].系統工程理論與實踐,2002,22(11):3238.
[15]朱旭輝,倪志偉,程美英.變步長自適應的改進人工魚群算法[J].計算機科學,2015,42(2):210216.
[16]楊淑瑩,張樺.群體智能與仿生計算——MATLAB技術實現[M].北京:電子工業出版社,2014:123.
[17]ALATAS B. Chaotic bee colony algorithms for global numerical optimization[J]. Expert Systems with Applications, 2010,37(8):56825687.
[18]LISUFESCU M. Finite Markov processes and their application [M]. Chichester, UK: Wiley Press, 1980.
責任編輯(責任編輯:杜能鋼)