梁建武, 陳祖權(quán), 譚海龍
(中南大學(xué)信息科學(xué)與工程學(xué)院, 長沙 410083)
短期負(fù)荷預(yù)測的聚類組合和支持向量機(jī)方法①
梁建武, 陳祖權(quán), 譚海龍
(中南大學(xué)信息科學(xué)與工程學(xué)院, 長沙 410083)
為提高電力系統(tǒng)短期負(fù)荷預(yù)測的精度,提出了一種基于聚類組合和支持向量機(jī)的短期負(fù)荷預(yù)測方法。該方法用SOM網(wǎng)絡(luò)訓(xùn)練規(guī)格化的特征數(shù)據(jù)并獲得初始聚類中心,將初始聚類中心作為C-均值算法的輸入,并用DB指數(shù)評價聚類結(jié)果以獲得最佳聚類數(shù),通過訓(xùn)練可得相似日樣本,最后選擇合適的參數(shù)和核函數(shù)構(gòu)造支持向量機(jī)模型來進(jìn)行逐點(diǎn)負(fù)荷預(yù)測。預(yù)測結(jié)果表明,該方法比單一的支持向量機(jī)算法具有明顯的優(yōu)勢。
短期負(fù)荷預(yù)測; 聚類組合; SOM網(wǎng)絡(luò);C-均值; 相似日
目前,短期負(fù)荷預(yù)測方法主要包括回歸分析法[1]、時間序列法[2]、人工神經(jīng)網(wǎng)絡(luò)方法[3,4]、模糊預(yù)測法[5]和小波分析法[6,7]等。
支持向量機(jī)SVM(support vector machine)方法較好地解決小樣本、非線性、高維數(shù)和局部極小點(diǎn)等實(shí)際問題[8],在時間序列預(yù)測問題上得到了應(yīng)用[9]。但其預(yù)測精度在很大程度上依賴于訓(xùn)練集的選擇,恰當(dāng)、合理的樣本可使預(yù)測方法快速、有效地逼進(jìn)目標(biāo)矢量,達(dá)到誤差要求。
本文考慮到電力負(fù)荷變化的周期性和相似性特點(diǎn),根據(jù)自組織映射SOM(self-organizing map)網(wǎng)自組織和C-均值算法高效率的特點(diǎn),通過將兩者組合進(jìn)行聚類,引入DB指數(shù)[10]作為聚類質(zhì)量評價標(biāo)準(zhǔn),獲取與預(yù)測日特征相似的相似日樣本集,以克服傳統(tǒng)SVM方法訓(xùn)練樣本集過大的缺點(diǎn),利用SVM模型對預(yù)測日96點(diǎn)負(fù)荷進(jìn)行預(yù)測,取得了滿意的預(yù)測精度。
1.1SOM算法
SOM神經(jīng)網(wǎng)絡(luò)是由Kohonen[11]首次提出的。SOM網(wǎng)絡(luò)包含輸入層和輸出層兩層神經(jīng)元。輸入層對應(yīng)一個高維的輸入向量,輸出層是由一系列組織在二維網(wǎng)格上的有序節(jié)點(diǎn)構(gòu)成,輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)通過權(quán)重向量連接。在每個輸入樣本學(xué)習(xí)過程中,SOM找出與之距離最小的輸出層單元,即獲勝單元,然后更新獲勝單元及其鄰近區(qū)域的權(quán)值,使得輸出節(jié)點(diǎn)保持輸入向量的拓?fù)涮卣鳌?/p>
SOM聚類的過程如下。
步驟1權(quán)值初始化。對輸出層每個節(jié)點(diǎn)的權(quán)重wj賦隨機(jī)數(shù)為初值。
步驟2從訓(xùn)練樣本選取一個輸入向量并進(jìn)行歸一化處理,得到xi,求wj中與xi距離最小的連接權(quán)重向量
(1)
式中:‖ ‖為距離函數(shù),對于連續(xù)數(shù)值屬性的數(shù)據(jù)集,通常采用歐氏距離。
步驟3定義g為獲勝單元,Ng(t)為獲勝單元的鄰近區(qū)域,對于鄰近區(qū)域內(nèi)的單元,使其向xi靠攏的調(diào)整權(quán)公式為
wij(t+1)=wij(t)+η(t)(xi(t)-wij(t))
i=1,2,…,n;j∈Ng(t)
(2)
η(t)是學(xué)習(xí)速率,隨著時間的增加而逐漸下降,一般可取為
步驟4縮小鄰域半徑,重復(fù)步驟2~步驟4,當(dāng)訓(xùn)練的權(quán)值誤差小于允許值或者達(dá)到預(yù)設(shè)的迭代次數(shù)時,訓(xùn)練結(jié)束,輸出聚類結(jié)果。
1.2C-均值算法
C-均值聚類算法以C為參數(shù),把n個對象分為C個簇,以使簇內(nèi)具有較高的相似度,而簇間的相似度較低。相似度的計算根據(jù)簇中對象的平均值來進(jìn)行[12]。其算法描述如下。
步驟1初始化。設(shè)定聚類類別數(shù)C及每個類別的初始聚類中心Z={Z1,Z2,…,Zc},X={x(1),x(2),…,x(n)}表示輸入的樣本向量,Si表示所有屬于第i個聚類中心的樣本集合,設(shè)定迭代停止閾值ε。
步驟2樣本劃分。對于所有的輸入樣本向量,x(p)∈Si,如果
‖x(p)-Zi‖<‖x(p)-Zj‖
j=1,2,…,C;i≠j
(3)
步驟3計算新的類聚中心
(4)
式中,Ni是屬于集合Si中樣本的數(shù)量。
經(jīng)過C-均值算法劃分后,同一個簇的樣本具有最大的相似性,而不同簇的樣本之間的相似性盡可能的小。
1.3 支持向量機(jī)回歸算法
SVM最初用來解決模式識別問題,其分類算法能實(shí)現(xiàn)較好的泛化功能,隨著Vapnik不敏感損失函數(shù)[13]的引入,SVM已經(jīng)擴(kuò)展到用于解決非線性回歸估計問題。
設(shè)給定的訓(xùn)練數(shù)據(jù)集為
{(xi,yi)|i=1,2,…,L|}
x∈Rd,y∈R
(5)
其中,L為樣本總數(shù),構(gòu)造回歸估計函數(shù)f(x)=wφ(x)+b,w為權(quán)向量,b為偏差。系數(shù)w和b可以通過最小化回歸風(fēng)險來估計為
(6)
其中L(y,f(x))為損失函數(shù)定義為
(7)
(8)
引入拉格朗日因子α和α*,得到
(9)
(10)
式中,K(xi,x)=φ(xi)φ(x)稱為核函數(shù),核函數(shù)是滿足Mercer條件的函數(shù)。
2.1 樣本數(shù)據(jù)處理
考慮預(yù)測日的天氣狀況以及日期類型、季節(jié)類型對日負(fù)荷產(chǎn)生較大的影響,本文建立的樣本特征值包括以下幾類:A={a1,a2,…,ak},預(yù)測日前k日的預(yù)測時刻負(fù)荷數(shù)據(jù);B={b1,b2,…,bl},預(yù)測日前一日預(yù)測時刻前后l個時段的負(fù)荷數(shù)據(jù);C={c1,c2,…,cm} ,預(yù)測日及其前一日的氣象數(shù)據(jù),包括最高溫度、最低溫度、平均溫度和濕度等;D={d1,d2},預(yù)測日的周屬性,包括工作日和雙休日;E={e1,e2,e3,e4},預(yù)測日的季節(jié)類型,包括春、夏、秋、冬等。
樣本數(shù)據(jù)都需要進(jìn)行規(guī)格化,對需要規(guī)格化的屬性A,maxA,minA分別為屬性A的最大值和最小值,屬性A的一個原始數(shù)據(jù)v進(jìn)行規(guī)格化處理后為v′,即
(11)
2.2 基于聚類組合和SVM的預(yù)測模型
本文提出的預(yù)測模型首先根據(jù)聚類組合算法選出與預(yù)測日具有相似特征的相似日,然后通過構(gòu)造相似日訓(xùn)練樣本作為SVM的輸入進(jìn)行學(xué)習(xí)訓(xùn)練,克服單純SVM方法數(shù)據(jù)量大的缺點(diǎn),以獲得高精度的預(yù)測結(jié)果。該混合預(yù)測模型如圖1所示。
圖1 基于聚類組合和SVM的預(yù)測模型
聚類組合算法的具體執(zhí)行步驟如下。
步驟1權(quán)值初始化。對競爭層每個節(jié)點(diǎn)的權(quán)重wj賦隨機(jī)數(shù)為初值,設(shè)置學(xué)習(xí)速率η(t)、領(lǐng)域的初始值Ng(t)以及總的訓(xùn)練次數(shù)N。
步驟2從訓(xùn)練樣本選取一個輸入向量xi,輸入到網(wǎng)絡(luò)輸入層。
步驟3根據(jù)式(1)計算wj中與xi距離最小的連接權(quán)重向量wj。
步驟4根據(jù)式(2)更新獲勝單元及其鄰近區(qū)域Ng(t)內(nèi)單元的權(quán)值,使其向xi靠攏。
步驟5選取一個新的輸入向量給網(wǎng)絡(luò)輸入層,轉(zhuǎn)到步驟3,直到輸入向量全部輸入到網(wǎng)絡(luò)。
步驟6更新學(xué)習(xí)速率η(t),縮小鄰域半徑Ng(t),返回步驟2,迭代次數(shù)加1,當(dāng)訓(xùn)練的權(quán)值誤差小于允許值或者達(dá)到預(yù)設(shè)的迭代次數(shù)時,訓(xùn)練結(jié)束,輸出聚類結(jié)果。
步驟7保存SOM網(wǎng)絡(luò)中c個輸出節(jié)點(diǎn)的權(quán)值,并用這c個權(quán)值作為C-均值算法的初始聚類中心Z={Z1,Z2,…,Zc},該聚類的DB指數(shù)計算式為
(12)
式中:Dk是所有子類的值到該類中心點(diǎn)距離的均值;Dk(Qi,Qj)是子類中心點(diǎn)之間的距離。當(dāng)DB指數(shù)最小時,可求得最佳聚類數(shù)。
步驟8合并初始聚類中心最近的兩個聚類,聚類數(shù)c=c-1,重新進(jìn)行聚類,獲得新的DB指數(shù)DB*,如果DB*≤DB,記錄c為當(dāng)前最佳聚類數(shù),如果c>1,則重新執(zhí)行步驟8。
步驟9獲得DB最小時的聚類數(shù)c為最佳聚類數(shù),并將當(dāng)前聚類中心作為C-均值算法的初始聚類中心Z={Z1,Z2,…,Zc},X={x(1),x(2),…,x(n)}、 表示輸入的樣本向量,si表示所有屬于第i個聚類中心的樣本集合,設(shè)定迭代停止閾值ε。
步驟10根據(jù)式(4)進(jìn)行樣本劃分。
步驟11根據(jù)式(5)計算新的聚類中心。
其中步驟1~6是用SOM網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行初步聚類,獲得一個大致的聚類結(jié)果,保存SOM網(wǎng)絡(luò)的權(quán)值,步驟7~12是利用SOM網(wǎng)絡(luò)保存的c個權(quán)值作為初始聚類中心,并利用DB指數(shù)獲得最佳聚類數(shù)c,使用C-均值算法對原始數(shù)據(jù)進(jìn)行聚類。經(jīng)過C-均值算法劃分后,同一個簇的樣本具有最大的相似性,而不同簇的樣本之間的相似性盡可能的小。
3.1 相似日的選擇
本文結(jié)合湖南某地區(qū)歷史負(fù)荷數(shù)據(jù)、氣象數(shù)據(jù)和日期類型,對該地區(qū)2004年7月30日全天96點(diǎn)負(fù)荷進(jìn)行預(yù)測,首先需要從歷史日中選擇與預(yù)測日具有相似氣象與負(fù)荷特征的相似日。將預(yù)測日前3個月,前一年預(yù)測日前后各一個月的歷史數(shù)據(jù)規(guī)格化處理,形成聚類樣本,每個樣本包括17個特征數(shù)據(jù):日最高溫度、日最低溫度、日平均溫度、日平均相對濕度、星期類型、天氣類型、季節(jié)類型、前一日尖峰平谷段負(fù)荷均值、前6日每日平均負(fù)荷。使用MATLAB的SOM工具箱對歷史日進(jìn)行初步聚類,聚類結(jié)果如圖2所示。
根據(jù)SOM網(wǎng)絡(luò)初步聚類的結(jié)果,利用C-均值算法進(jìn)一步訓(xùn)練,并獲得不同分類數(shù)的DB值,當(dāng)分類數(shù)為17時,此時DB指數(shù)最小,故將17作為最佳聚類數(shù)。表1是分類數(shù)為17時C-均值算法的聚類結(jié)果,與序號為0的預(yù)測日屬于同一類別的日期序號就是所要找的相似日,即第8類的日期序號,根據(jù)這些相似日形成預(yù)測樣本進(jìn)行SVM預(yù)測。
表1 最終聚類結(jié)果
圖2 SOM聚類結(jié)果
3.2 預(yù)測結(jié)果
根據(jù)第3.1獲得的相似日構(gòu)造相似日訓(xùn)練樣本集,并建立預(yù)測日樣本集,每個樣本包括16個特征數(shù)據(jù):日最高溫度、日最低溫度、日平均溫度、日平均相對濕度、相似日或預(yù)測日前6日的預(yù)測時刻負(fù)荷數(shù)據(jù)、相似日或預(yù)測日前一日預(yù)測時刻前后2個時段的負(fù)荷數(shù)據(jù)、周屬性、季節(jié)類型。然后使用LIBSVM[14]軟件包進(jìn)行預(yù)測,其中核函數(shù)選擇RBF核函數(shù),參數(shù)選擇C=78,σ2=10,ε=0.1。
圖3 2004年7月30日實(shí)際負(fù)荷和預(yù)測負(fù)荷
為了進(jìn)行比較,本文根據(jù)文獻(xiàn)[15]的方法建立了常規(guī)SVM模型(含氣象數(shù)據(jù)和不含氣象數(shù)據(jù)),通過對該地區(qū)2004年7月30日全天96點(diǎn)負(fù)荷進(jìn)行預(yù)測,與本文提出的基于聚類組合和SVM預(yù)測模型進(jìn)行比較,各個模型預(yù)測負(fù)荷與實(shí)際負(fù)荷見圖3。圖4為各個預(yù)測模型的誤差比較曲線。
圖4 誤差比較曲線
由圖4可知,本文模型預(yù)測結(jié)果在全天絕大多數(shù)時間的相對誤差小于2%,結(jié)果較理想。含氣象數(shù)據(jù)的SVM預(yù)測模型比不含氣象數(shù)據(jù)的SVM模型,預(yù)測精度有明顯的提高。一天中較大誤差主要發(fā)生在上午8、9點(diǎn)、晚上5~7點(diǎn)以及午夜過后,這主要是因?yàn)檫@些時刻是工作和休息間隔的時候,負(fù)荷情況不是很穩(wěn)定。
用本文提出的方法和單純的SVM算法(含氣象數(shù)據(jù)和不含氣象數(shù)據(jù))分別預(yù)測從2004年8月2日至8月8日連續(xù)一周的96點(diǎn)負(fù)荷,表2為2004年8月2日至8日連續(xù)一周誤差統(tǒng)計結(jié)果。
每日的預(yù)測誤差采用平均絕對百分誤差(MAPE)衡量,即
(14)
表22004年8月2日至8日MAPE比較
Tab.2ComparisonofMAPEfromAug.2,2004toAug.8,2004%
方法8月2日8月3日8月4日8月5日8月6日8月7日8月8日平均值聚類分析SVM1.772.311.281.852.832.141.942.02常規(guī)SVM(含氣象數(shù)據(jù))2.093.071.842.332.872.662.392.46常規(guī)SVM(不含氣象數(shù)據(jù))3.073.462.722.673.433.712.973.15
從表2中可以看出,使用本文方法,最大MAPE為2.83%,最小MAPE為1.28%,平均MAPE為2.02%,與使用常規(guī)SVM算法相比,本文方法整體預(yù)測效果較為理想。
本文提出了一種基于聚類組合和支持向量機(jī)短期負(fù)荷預(yù)測方法,通過SOM和C-均值聚類組合算法,選取合適的相似日,構(gòu)造相似日樣本,通過SVM模型逐點(diǎn)訓(xùn)練得到最終的預(yù)測結(jié)果。該方法能有效地處理負(fù)荷序列的噪聲及非平穩(wěn)性,實(shí)驗(yàn)表明它是一種有效的短期負(fù)荷預(yù)測方法。
[1] Vapnik V ,Golowich S E,Smola A J. Support vector method for function approximation,regression estimation and signal processing[C]∥Advances in Neural Information Processing Systems 9 Conference, Denver, USA: 1996.
[2] Amjady N. Short-term hourly load forecasting using time-series modeling with peak load estimation capability[J].IEEE Trans on Power Systems,2001, 16(3): 498-505.
[3] Chow T W S,Leung C T. Neural network based short-term load forecasting using weather compensation[J].IEEE Trans on Power Systems,1996,11(4):1736-1742.
[4] 趙宇紅,肖金鳳,陳忠澤(Zhao Yuhong,Xiao Jinfeng,Chen Zhongze).混合模糊神經(jīng)網(wǎng)絡(luò)在短期負(fù)荷預(yù)測中的應(yīng)用(Application of hybrid fuzzy neural network in short-term load forecasting)[J].電力系統(tǒng)及其自動化學(xué)報(Proceedings of the CSU-EPSA),2006,18(2):99-104.
[5] Daneshdoost M, Lotfalian M, Bumroonggit G,etal.Neural network with fuzzy set-based classification for short-term load forecasting[J].IEEE Trans on Power Systems, 1998, 13(4): l386-1391.
[6] Du Tao,Wang Xiuli, Wang Xifan. A combined model of wavelet and neural network for short term load forecasting[C]∥International Conference on Power System Technology, Kunming, China: 2002.
[7] 顧潔(Gu Jie).應(yīng)用小波分析進(jìn)行短期負(fù)荷預(yù)測(Application of wavelet analysis to short-term load forecasting of power system)[J].電力系統(tǒng)及其自動化學(xué)報(Proceedings of the CSU-EPSA),2003,15(2):40-44,65.
[8] Vapnik V N. Statistical Learning Theory[M].New York: New York Wiley, 1998.
[9] 朱家元,段寶君,張恒喜(Zhu Jiayuan,Duan Baojun,Zhang Hengxi). 新型SVM對時間序列預(yù)測研究(Prediction of time series based on least squares support vector machines)[J].計算機(jī)科學(xué)(Computer Science),2003,30(8):124-125.
[10]Davies D L,Bouldin D W. A cluster separation measure[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1979,1(2):224-227.
[11]Kohonen T. The self-organizing map[J].Proceedings of the IEEE, 1990,78(9):1464-1480.
[12]Han Jiawei,Kamber M. 數(shù)據(jù)挖掘概念與技術(shù)[M].范明,孟小峰譯.北京:機(jī)械工業(yè)出版社, 2001.
[13]Cristianini N,Taylor J S.支持向量機(jī)導(dǎo)論[M].李國正,王猛,曾華軍譯.北京:電子工業(yè)出版社,2004.
[14]Chang Chih-Chung, Lin Chih-Jen. LIBSVM: a library for support vector machines[EB/OL].http://www.csie.ntu.edu.tw/~cjlin/libsvm, 2001.
[15]潘峰,程浩忠,楊鏡非,等(Pan Feng,Cheng Haozhong,Yang Jingfei,etal). 基于支持向量機(jī)的電力系統(tǒng)短期負(fù)荷預(yù)測(Power system short-term load forecasting based on support vector machines)[J].電網(wǎng)技術(shù) (Power System Technology),2004,28(21):39-42.
ApplicationofClusteringCombinationandSupportVectorMachineinShort-termLoadForecasting
LIANG Jian-wu, CHEN Zu-quan, TAN Hai-long
(Institute of Information Science and Engineering, Central South University, Changsha 410083, China)
In order to improve the accuracy of power system short-term load forecasting,a method of short-term load forecasting based on clustering combination and support vector machine is proposed.First,the standardized data are trained through SOM network and the initial clustering center are acquired,then the initial clustering centre is used as the input values of theC-means algorithm,and the best number of the clustering is obtained through DB index,the samples of similar days are acquired through training.Finally,support vector machine using appropriate parmaeters and kernel function are constructed and the load was forecasted point by point.The results showed that the method has a distinct advantage than simple support vector machine algorithms.
short-term load forecasting; clustering combination; SOM network;C-means; similar day
2009-11-06
2010-01-25
國家自然科學(xué)基金資助項(xiàng)目(60173041)
TM715
A
1003-8930(2011)01-0034-05
梁建武(1963-),男,副教授,研究方向?yàn)榫W(wǎng)絡(luò)通訊、安全、認(rèn)證,計算機(jī)應(yīng)用。Email:liang_jianwu@tom.com 陳祖權(quán)(1978-),男,碩士研究生,研究方向?yàn)橥ㄐ啪W(wǎng)絡(luò)的理論與技術(shù)。Email:chzq1121@163.com 譚海龍(1983-),男,碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘和智能技術(shù)在電力負(fù)荷預(yù)測中的應(yīng)用。Email:who_qiaoyu@163.com