《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計應(yīng)用 > SVM與Fourier算法在電網(wǎng)短期負荷預(yù)測中的應(yīng)用
SVM與Fourier算法在電網(wǎng)短期負荷預(yù)測中的應(yīng)用
楊鏡非 謝 宏 程浩忠
摘要: 本文將Fourier(傅立葉)算法與SVM(支持向量機)共同引入電網(wǎng)短期負荷預(yù)測。對于波動性較大的負荷,F(xiàn)ourier算法用于濾除高次諧波分量,。SVM用于對濾除了高次分量的數(shù)據(jù)進行統(tǒng)計學習,,它首先篩選與預(yù)測點相關(guān)的的歷史數(shù)據(jù)構(gòu)成訓練樣本,,再將預(yù)測的平滑性和誤差損失函數(shù)相結(jié)合構(gòu)成問題的目標函數(shù)進行求解。編制了相應(yīng)的軟件,,對某實際電網(wǎng)進行了短期負荷預(yù)測,,取得了理想的結(jié)果,。
Abstract:
Key words :

0 引言

  電力系統(tǒng)負荷預(yù)測是電網(wǎng)能量管理系統(tǒng)的重要內(nèi)容,,通過精確的負荷預(yù)測,可以經(jīng)濟合理地安排機組啟停,,減少旋轉(zhuǎn)備用容量,,合理安排檢修計劃,降低發(fā)電成本,,提高經(jīng)濟效益,。常用的方法有非線性回歸、神經(jīng)網(wǎng)絡(luò)法,、時間序列法,、模糊理論等。非線性回歸和時間序列法在電網(wǎng)情況正常,、生產(chǎn)和氣象變化不大的時候預(yù)測效果良好,但不能考慮一些影響負荷的要素,,如休息日,、氣象等,當這些因素發(fā)生突變時預(yù)測精度受到影響,。神經(jīng)網(wǎng)絡(luò)和模糊理論考慮到了影響負荷的一些不確定因素,,但沒有徹底解決網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的難題,且需要較長的訓練時間,。
  SVM(支持向量機" title="支持向量機">支持向量機)是由Vapnik[1]最早提出的一種統(tǒng)計學習方法,,近年來已經(jīng)被成功地應(yīng)用于語音識別、文字識別,、時序數(shù)列預(yù)測等領(lǐng)域,。研究顯示,該統(tǒng)計學習方法具有學習速度快,、全局最優(yōu)和推廣能力強的優(yōu)點,,其學習結(jié)果經(jīng)常明顯好于其它的模式識別和回歸預(yù)測方法。本文將SVM理論應(yīng)用于電力系統(tǒng)短期負荷預(yù)測" title="短期負荷預(yù)測">短期負荷預(yù)測,,既考慮了影響負荷的諸因素,,又建立了完善的數(shù)學模型。
  SVM算法對與預(yù)測負荷曲線較平滑的系統(tǒng),,能夠取得較理想的效果,。但是,對于慣性較小,、隨機波動性較強的中小型電網(wǎng),,其效果相對較差。改進的方法是,先采用Fourier算法將歷史負荷曲線分解為平滑曲線和隨機波動曲線兩部分,,只采用平滑部分作為SVM的歷史訓練數(shù)據(jù),,能夠取得更好的效果。

1 SVM線性回歸模型
  假設(shè)有一組訓練數(shù)據(jù),,共有l(wèi)個,,其中第i個數(shù)據(jù)包含變量和與之相對應(yīng)的變量xi∈Rn和與之相對應(yīng)的變量yi∈R,SVM定義了一種機器(machine),用于確定x到y(tǒng)的映射關(guān)系x→f(X,a),a為可調(diào)參數(shù),,通過對已知數(shù)據(jù)的學習來確定它,。在線性回歸中,定義映射函數(shù)f(x)=+b,w∈Rn, y∈R,并要求:1)找到最小的w以保證曲線的平滑性,,一種常用的方法是使得w的歐氏二范數(shù)最小,。2)映射的誤差在允許的ε范圍之內(nèi)??梢詫懗上铝袛?shù)學模型:
 
  滿足(2)式有時候會使問題的求解變得非常困難,,可以通過在目標函數(shù)中增加損失函數(shù)" title="損失函數(shù)">損失函數(shù)來進行處理,損失函數(shù)有多種形式,,本文中只考慮ε-intensive損失函數(shù):
 
  式中C為常數(shù),,是回歸精度超過允許值的懲罰因子。(4)為有條件約束的優(yōu)化問題,,根據(jù)非線性規(guī)劃對偶性理論,,對其建立沒有約束條件的Lagrange方程,并將最小值問題它轉(zhuǎn)化為對偶的最大值問題:
 
2 非線性回歸模型及其核函數(shù)" title="核函數(shù)">核函數(shù)
  當然,,現(xiàn)實中的大部分問題并不是簡單的線性問題,,對非線性問題進行回歸,可以通過映射φ:X→τ把xi映射到特征空間τ,,然后用核函數(shù)k(x,x′)=<φ(x),φ(x′)>來代替線性回歸中的,,根據(jù)文獻[1],支持向量回歸的算法就可以改寫為:
 
  無論線性和非線性模型,,都可采用內(nèi)點法求解,。

3 短期負荷預(yù)測的SVM與Fourier方法
3.1 樣本及其輸入輸出量的選擇
  本文采用SVM方法來解決短期負荷預(yù)測問題。對于訓練樣本,,首先通過聚類找出和預(yù)測點在星期屬性,、節(jié)假日屬性、預(yù)測時段都相同的數(shù)據(jù)作為SVM中的y值,,相應(yīng)的x值(即樣本輸入量)分為如下幾類:
  1)A={a1,a2,...,an} ,,預(yù)測日之前n日內(nèi)的在預(yù)測時段的負荷數(shù)據(jù)
  2)B={b1,b2,...,bm},預(yù)測日前一日預(yù)測時段之前m個時段的負荷數(shù)據(jù)
  3)C={c1,c2,...,cs},,預(yù)測日的氣象預(yù)報,,共s個數(shù)據(jù),,包含平均氣溫、最高氣溫,、最低氣溫,、風力、濕度等
  4)D={d1,d2,...,dn} ,,預(yù)測日之前日內(nèi)的每日氣象數(shù)據(jù),,其中任何一個元素di包含s個如上所述的氣象數(shù)據(jù)
  5)E={e1,e2,...,e7} ,預(yù)測日的周屬性,代表周一到周日,,每個變量用1或0來表示
  6)F ,一些從已知變量中通過某種計算演化而來的,、對負荷的結(jié)果可能影響較大的數(shù)據(jù)(例如前一日溫度與該日預(yù)測溫度的差值、前二日與前一日在預(yù)測時段的負荷差值,、該日前一周每天在預(yù)測時段的負荷平均值等),。
3.2 負荷預(yù)測的支持向量機模型
    為了選擇合適的核函數(shù),本文使用線性函數(shù),、多項式函數(shù),、徑向基函數(shù)、對數(shù)S型等多種核函數(shù)進行測試,,發(fā)現(xiàn)徑向基函數(shù)的模型對于負荷預(yù)測問題精度最高,,因此本文選用徑向基函數(shù)作為核函數(shù)。
    假設(shè)按照上述樣本及其輸入輸出量的選擇構(gòu)造的l個樣本集合為{(xi,yi),i=1,2,...,l},,則負荷預(yù)測的支持向量機模型可寫為式(6)的形式,,其中為徑向基函數(shù),。
3.3 Fourier算法對歷史數(shù)據(jù)進行平滑處理
    經(jīng)數(shù)字實驗證明,,上述短期負荷預(yù)測的SVM方法對于負荷慣性較大的大型電網(wǎng)有較理想的效果,但是,,如果將它應(yīng)用于具有較多沖擊性負荷(如軋鋼廠),,其誤差較大。為了改進算法的預(yù)測效果,,本文提出用Fourier算法對每日歷史負荷曲線進行Fourier變換,,分解為平滑曲線和隨機波動曲線兩部分,只采用平滑部分作為歷史訓練數(shù)據(jù),,方法如下,。
    1) 對欲進行處理的一日負荷數(shù)據(jù),檢驗其初始點負荷f(0)與終點負荷f(24)的差值是否小于給定的閾值δ,。如果是, 說明該曲線基本滿足Fourier分解的基本條件f(0)=f(T);否則,,進行時間軸的旋轉(zhuǎn)變換,使得f(0)=f(T),;
 
    如果未經(jīng)坐標軸變換,,T取24(小時),;否則,取坐標變換后的時間軸對應(yīng)初始負荷點與終點的坐標差值,。
    k的取值視電網(wǎng)負荷曲線的波動情況而定,。取值應(yīng)越大,擬合效果越好,,但是其濾波作用越差,。經(jīng)過數(shù)字實驗發(fā)現(xiàn),k取15對波動性較大的地區(qū)性電網(wǎng)能有較理想的濾波效果且與原曲線擬合較好,。
    3) 如果經(jīng)過了坐標軸變換,,將數(shù)據(jù)再還原到原始時間坐標軸。

4 計算結(jié)果與誤差
    本文采用的算例是根據(jù)由常州電力公司提供的2003年3月1日至4月24日的每天氣溫數(shù)據(jù)和每天288點的負荷數(shù)據(jù),,預(yù)測4月25日全天96點的數(shù)據(jù),。為了考察本文所使用的方法的精度,還采用BP神經(jīng)網(wǎng)絡(luò)法和SVM算法(無Fourier分解)進行了預(yù)測,。圖1到圖3分別示出三種方法的該日的預(yù)測情況,。



  本文所提出的算法計算的該日的最大相對誤差(絕對值)為5.2%,平均誤差為2.4%,。對比神經(jīng)網(wǎng)絡(luò)法(平均誤差4.1%,,最大相對誤差11.9%)和單純SVM算法(平均誤差3.7%,最大誤差10.1%)的誤差結(jié)果,該法具有較高的精度,。本文所提算法對每個點進行預(yù)測,,訓練程序運行時間都在400毫秒到1500毫秒之間(含濾波時間),測試時間則小于20毫秒,,具有較快的速度,。

5 結(jié)論
  本文介紹了SVM和Fourier算法及其在電力系統(tǒng)短期負荷預(yù)測中的應(yīng)用。算法考慮到影響負荷的要素,,對歷史數(shù)據(jù)聚類,,找出與預(yù)測點屬同一類的數(shù)據(jù)進行訓練。Fourier算法將負荷曲線平滑化,,防止了隨機波動對預(yù)測的干擾,。算例證明,該方法結(jié)果合理,,運行速度快,,精度很高,是一種很有應(yīng)用價值的新興算法,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。