摘 要:支持向量機(SVM)是近年來發展起來的機器學習的新方法,它較好地解決了小樣本、非線性、高維數、局部極小點等實際問題。研究了支持向量機的拓展算法——最小二乘支持向量機(LSSVM),并將其應用于電力系統短期負荷時間序列預測。通過實例并與神經網絡模型預測結果相比較表明,LSSVM模型的預測精度要明顯高于神經網絡模型,驗證了LSSVM模型可以很好地應用于短期負荷時間序列預測,并且具有較高的準確性與有效性,這為短期負荷預測提供了一個新的解決思路。關鍵詞:最小二乘支持向量機; 神經網絡; 短期負荷預測;時間序列預測
中圖分類號:TN715-34文獻標識碼:A
文章編號:1004-373X(2010)18-0131-03
Short-term Load Forecasting Model Based on Least Square Support Vector Machine
ZHANG Ning1, XU Cheng-quan2, Xue Xiao-ling1, ZHENG Zong-hua1
(1. Department of Physics Electronic Information, Minjiang University, Fuzhou 350108, China;
2. Department of Geograpgy, Minjiang University, Fuzhou 350108, China)
Abstract: Support vector machine (SVM) is a novel machine learning method, which is powerful for solving the problems characterized by small samples, nonlinearity, high dimension, local minima, and other practical problems. The extension algorithm of the support vector machine-least squares support vector machine(LSSVM) is studied and applied to the time series forecasting of short-term load in power system. Compared with the predicting outcomings of the neural network model through some examples, the result shows that the forecast accuracy of LSSVM model is higher than that of neural network model, and verifies LSSVM model can apply effectively to short-term load forecasting. This provides a new resolution for short-term load forecasting .Keywords:least square support vector machine; neural network; short-term load prediction; time-sequence forcasting
0 引 言
短期負荷預測是電力系統的重要工作之一。準確的負荷預測可以經濟合理地安排電網內部發電機組的啟動和停止,保持電網運行的安全穩定,減少不必要的旋轉儲備容量,合理安排機組檢修計劃,有效地降低發電成本,提高經濟效益和社會效益。負荷預測的準確性受氣候因素、重大節假日、電價等多種因素的綜合影響,而這些因素大部分具有隨機性、動態開放性等不確定性特點,使得負荷預測問題變成一個典型的非線性問題,難以用簡單的數學模型來描述。隨著機器學習理論的發展,一些非線性模型如神經網絡模型在短期負荷時間序列預測中已取得比較成功的應用[1-3]。但神經網絡模型本身存在著難以克服的缺陷,如易陷入局部極小,網絡結構難以確定,而且它基于的是經驗風險最小化原則,易導致過學習現象的產生。
支持向量機(support vector machine,SVM)是Vapnik等人根據統計學理論提出的一種新的通用學習方法,它是建立在統計學習理論和結構風險最小原理基礎上的,能較好地解決小樣本、非線性、高維數和局部極小點等實際問題,并成功地應用于分類、回歸和時間序列預測等方面[4-5]。最小二乘支持向量機(least squares support vector machine, LSSVM)是標準支持向量機的一種擴展,它是支持向量機在二次損失函數下的一種形式[6-7]。最小二乘支持向量機只求解線性方程,其求解速度快,在函數估計和逼近中得到了廣泛的應用[8]。
本文嘗試將最小二乘支持向量機方法應用于短期負荷預測中,并以實例驗證了其準確性和有效性。
1 最小二乘支持向量機估計算法
用支持向量機來估計回歸函數,其基本思想就是通過一個非線性映射,把輸入空間的數據映射到一個高維特征空間中去,然后在此特征空間做線性回歸。
給定一數據點集G={(xi,yi)}ni=1,xi∈Rd,yi∈R。其中:xi是輸入向量;yi是期望值;n是數據點的總數。SVM采用下式來估計函數:
y=f(x)=w#8226;φ(x)+b(1)
式中:φ(x)是從輸入空間到高維特征空間的非線性映射。利用結構風險最小化原則,系數w和b通過最小化下式來估計:
Rreg(f)=γ#8226;Remp+12‖w‖2(2)
式中:γ是懲罰參數;Remp為誤差控制函數,也即ε不敏感損失函數。常用的損失函數有線性ε損失函數、二次ε損失函數、Huber損失函數。選取了不同的損失函數,可構造出不同形式的支持向量機。最小二乘支持向量機在優化目標中的損失函數為誤差ξi的二次項[4],故優化問題為:
minJLS(w,ξ)=12wTw+γ12∑ni=1ξ2i(3)
約束條件為:
yi[wTφ(xi)+b]=1-ξi, i=1,2,…,n(4)
為了求解這個優化問題,構造相應的Lagrange函數:
L(w,b,ξ,α)=JLS-∑ni=1αi{yi[wTφ(xi)+b]-1+ξi}(5)
式中:αi是Lagrange乘子,按照Kuhn-Tucher條件,由于式(5)條件限制是等號的緣故,αi可正可負。
對式(5)求其鞍點,分別對w,b,ξi,αi求導,具體如下:
Lw=0→w=∑ni=1αiyiφ(xi)
Lb=0→∑ni=1αi=0
Lξi=0→αi=γξiLαi=0→yi[wTφ(xi)+b]-1+ξi=0,
i=1,2,…,n(6)
將式(6)寫成線性系統并消去w和γ,上式變為:
01T
1ZZT+γ-1Ibα=0y(7)
式中:y=y1,y2,…,ynT,1=[1,1,…,1],α=[α1,α2,…,αn],Z=[φ(x1),φ(x2),…,φ(xn)]T。根據Mercer條件,可以令Ω=ZZT,則Ω矩陣中每一元素可以表示為:
Ωi,j=φ(xi)Tφ(xj)=K(xi,xj)(8)
式中:K(xi,xj)稱為核函數,核函數的值等于2個向量xi和xj在其特征空間φ(xi)和φ(xj)中的內積,即K(xi,xj)=φ(xi)#8226;φ(xj)。常用的核函數有多項式核函數和RBF核函數,其形式分別為多項式核函數:K(xi,xj)=(xi,xj+c)p,p∈N,c>0;RBF核函數:K(xi,xj)=exp(-‖xi-xj‖2δ2)。
最后,通過求解式(7)得到用于函數估計的最小二乘支持向量機為:
f(x)=∑ni=1αiK(x,xi)+b(9)
2 基于最小二乘支持向量機的短期負荷時間序列模型
2.1 數據預處理
在使用最小二乘支持向量機模型進行負荷預測前,對歷史負荷數據進行標準化處理,即識別并修正異常數據以及對數據進行歸一化處理。負荷時間序列數據歸一到[-1,1]區間的公式為:
xn=2(x-xmin)xmax-xmin-1(10)
式中:xn和x表示歸一化前后的序列值;xmax和xmin分別表示原序列x的最大值和最小值。
待模型訓練完畢后,利用下式將其返還到原數據區間:
x=0.5(xn+1)*(xmax-xmin)+xmin(11)
2.2 基于最小二乘支持向量機的預測模型的建立
對于給定的負荷時間序列{X(t),t=1,2,…n},假設t時刻的負荷值X(t)可由(t-1,t-2,…,t-m)時刻的歷史負荷值X(t-1),X(t-2),…,X(t-m)進行預測,可建立映射:f:Rm→R。預測模型可表示為:
X(t)=f[X(t-1),X(t-2),…,X(t-m)](12)
式中:m為嵌入維數。
本節構造出一個多輸入單輸出的最小二乘支持向量機預測模型,按照表1可以得到該模型的輸入向量和輸出向量。
表1 輸入向量和輸出向量的結構
樣本數輸入向量輸出向量
第1個樣本X(1),X(2),…,X(m)X(m+1)
第t-m個樣本X(t-m),…,X(t-2),X(t-1)X(t)
第n-m個樣本X(n-m),…,X(n-2),X(n-1)X(n)
2.3 評價指標
為了評價模型的預測性能,采用如下統計量對模型的預測效果進行評估:
日平均相對誤差為: MAPE=124∑24t=1yt-tyt
日均方根誤差為: RMS=124∑24t=1yt-tyt2
式中:yt為真實負荷值;t為預測值。
3 實例分析
本文采用福建省某地區2009年6月1日至2009年6月11日累計264點的負荷數據。以前10天的數據作為訓練樣本,對最后一天的24 h負荷進行預測。
在利用最小二乘支持向量機進行建模時,核函數采用RBF核,并根據經驗取嵌入維數m=8。該模型中有兩類參數,即懲罰參數γ和核參數δ2對預測精度影響較大,但目前尚沒有比較完善的理論對其進行選取。為此,本文通過對模型參數的試算,最終選取的參數為γ=2 100,δ2=500。
最小二乘支持向量機模型的預測結果如圖1所示。
圖1 基于最小二乘支持向量機模型的負荷時間序列預測結果
為了與本文所用方法進行比較,建立神經網絡模型進行預測試驗。其中,神經網絡模型采用映射型三層結構,隱層采用11個非線性Tanh神經元,輸出層為一個線性神經元,采用穩健的Levenberg-Marquardt算法進行訓練。兩種模型的預測精度評價指標的計算結果如表2所示。
由表2可以看出,LSSVM模型的預測精度要明顯高于神經網絡模型,它表明LSSVM模型可以很好地應用于短期負荷時間序列預測,并且具有較高的準確性和有效性。
表2 兩種模型的預測精度指標比較
模型類型MAPE/%RMS/%
LSSVM模型2.80 3.43
神經網絡模型4.36 5.29
4 結 語
本文利用最小二乘支持向量機模型對短期負荷時間序列進行預測。實例結果分析表明,該方法具有很高的預測精度和較強的泛化能力,這為短期負荷預測提供了一個新的解決思路。
參考文獻
[1]張穎,高中文.基于時間序列和神經網絡的電力系統負荷預測[J].哈爾濱理工大學學報,2003,8(1):30-36.
[2]施應玲,楊紅松,龐南生.短期電力負荷預測的自適應混合遺傳優化BP算法[J].電力科學與工程,2008,24(9):32-35.
[3]王吉權,趙玉林,馬力.組合預測方法研究及其在電力負荷預測中的應用[J].東北農業大學學報,2008,39(4):51-54.
[4]張學工.統計學習理論的本質[M].北京:清華大學出版社,2000.
[5]張林,劉先珊,陰和俊.基于時間序列的支持向量機在負荷預測中的應用[J].電網技術,2004,28(19):38-41.
[6]閻威武,朱宏棟,邵惠鶴.基于最小二乘支持向量機的軟測量建模[J].系統仿真學報,2003,15(10):1494-1496.
[7]岑健,危阜勝,張多宏,等.最小二乘支持向量機用于水量預測[J].計算機仿真,2009,26(7):212-215.
[8]王曉蘭,康蕾.增量式剪枝最小二乘支持向量機的時間序列預測[J].微型電腦應用,2009,25(6):12-13.
[9]閻嘯天,武穆清.基于最小二乘支持向量機的自適應差分進化算法[J].系統仿真學報,2009,21(7):1921-1925.
[10]紀玲玲,林振山,王昌雨,等.最小二乘回歸支持向量機對非線性時間序列預測的試驗分析[J].解