徐沐陽 何鋼健 胡 元 袁金騰
1.溫州市氣象局;2.國網(wǎng)溫州供電公司
根據(jù)溫州電網(wǎng)的負(fù)荷特征及溫州的氣候特征,通過考慮氣象因素優(yōu)化選擇歷史樣本數(shù)據(jù),在預(yù)測模型中加入氣象因素作為輸入向量,使用回歸型支持向量機(jī)方法進(jìn)行溫州電網(wǎng)的負(fù)荷預(yù)測。實踐證明,考慮氣象因素的回歸型支持向量機(jī)方法可進(jìn)一步提高溫州電網(wǎng)負(fù)荷預(yù)測的精度。
電能是現(xiàn)代社會必不可少的能源之一。近年來,許多研究表明電網(wǎng)負(fù)荷與氣象因素有著密切的關(guān)系。通過分析溫州電網(wǎng)負(fù)荷與氣象因素的相關(guān)性,找到影響溫州電網(wǎng)負(fù)荷的氣象因素,并在預(yù)測算法中加以考慮?;跉庀笠蛩氐幕貧w型支持向量機(jī)方法可更好地為電力系統(tǒng)的安全、經(jīng)濟(jì)運(yùn)行和優(yōu)化調(diào)度等提供科學(xué)的依據(jù)。
本文根據(jù)溫州電網(wǎng)的負(fù)荷特征及溫州的氣候特征,采取適用于溫州電網(wǎng)負(fù)荷預(yù)測的計算機(jī)算法,并將之應(yīng)用于實際預(yù)測工作中,取得了良好效果。
支持向量機(jī)(SVM)是由Vapnik 等人基于統(tǒng)計學(xué)習(xí)理論率先提出,它的主要思想是建立一個能夠使得不同分類之間的隔離邊緣達(dá)到最大化的分類超平面,并以之作為決策曲面;支持向量機(jī)遵循結(jié)構(gòu)風(fēng)險最小化原則:學(xué)習(xí)機(jī)器在測試數(shù)據(jù)上的誤差率(即泛化誤差率)以訓(xùn)練誤差和一個依賴于VC 維數(shù)的項的和為界,在可分模式情況下,支持向量機(jī)對于前一項的值為零,并且使第二項最小化;因此,在回歸擬合、分類識別等問題中,支持向量機(jī)能提供很好的泛化性能,能夠優(yōu)于較多已有方法。支持向量機(jī)正被廣泛地應(yīng)用于各領(lǐng)域,電網(wǎng)負(fù)荷預(yù)測就是其中之一。
為了利用SVM 解決回歸擬合方面的問題,Vapnik等人在SVM 分類的基礎(chǔ)上引入了ε 不敏感損失函數(shù),從而得到了回歸型支持向量機(jī)(SVR)。SVM 應(yīng)用于回歸擬合分析時,其基本思想不再是尋找一個最優(yōu)分類面使得樣本最優(yōu)分類,而是尋找一個最優(yōu)分類面使得所有訓(xùn)練樣本離該最優(yōu)分類面的誤差最小。
假設(shè)訓(xùn)練樣本集為{(xi,y i),i=1,2,3,…,l },其中,xi(xi ∈Rd)是訓(xùn)練樣本的輸入矢量,yi 則是對應(yīng)的輸出數(shù)據(jù)?;貧w型支持向量機(jī)的公式推導(dǎo)過程如下:設(shè)在高維特征空間中建立的線性回歸函數(shù)為
其中,φ(x) 為非線性映射函數(shù)。
定義ε 線性不敏感損失函數(shù)
其中,f(x) 為回歸函數(shù)返回的預(yù)測值;y 為對應(yīng)的真實值。
類似于SVM 分類情況,引入松弛變量 iξ,*iξ,并將上述ω,b 的問題用數(shù)學(xué)語言描述出來,即
其中,C 為懲罰因子,C 越大表示對訓(xùn)練誤差大于ε的樣本懲罰越大,ε 規(guī)定了回歸函數(shù)的誤差要求,ε 越小表示回歸函數(shù)的誤差越小。
求解程式(3)時,同樣引入Largrange 函數(shù),并轉(zhuǎn)換為對偶形式:
其中,K (xi,xj)=φ(xi)φ(xj)為核函數(shù)。
其中,Nnsv為支持向量個數(shù)。
于是,回歸函數(shù)為
從程式(7)中可以看出,SVR 最終的函數(shù)形式與SVM 相同,其結(jié)構(gòu)與神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)較為類似,如圖1所示。輸出是中間節(jié)點的線性組合,每個中間節(jié)點對應(yīng)一個支持向量。
根據(jù)溫州本地的氣候特點,分析溫州歷史負(fù)荷數(shù)據(jù)和氣象數(shù)據(jù),得出溫州各個季節(jié)顯著影響溫州電力負(fù)荷的不同氣象因素。顯著影響春季溫州電力負(fù)荷的氣象因素是日最高氣溫和天氣狀況,按照預(yù)測的要求對天氣狀況進(jìn)行量化:晴天(<1 成云)時賦值為4.多云(2~8 成云)時賦值為3,陰天(>9 成云或微量降水)時賦值為2,有雨(>0.1mm)時賦值為1;顯著影響夏季溫州電力負(fù)荷的氣象因素是日最高氣溫、日最低氣溫和日平均相對濕度;顯著影響秋季溫州電力負(fù)荷的氣象因素是日最低氣溫;顯著影響冬季溫州電力負(fù)荷的氣象因素是日平均相對濕度。
圖1 SVR 的結(jié)構(gòu)圖
根據(jù)實際操作可行性(數(shù)據(jù)收集難易程度、數(shù)據(jù)是否連續(xù)等),在影響電網(wǎng)每天96 個采集點(每15 分鐘一個采集點)負(fù)荷的氣象因素中選取對應(yīng)每天96 點的溫度和濕度作為預(yù)測模型的輸入向量。一天中的溫度和濕度的變化是連續(xù)的,溫度和濕度的日變化可以很好地表征天氣日變化。但是一天中的降水的變化是不連續(xù)的,而且降水對于電網(wǎng)負(fù)荷的影響還具有累積效應(yīng)和滯后性。況且降水的發(fā)生一定程度上也可以通過濕度的變大及持續(xù)維持高位來反應(yīng)。因此,本文未選取降水量作為模型輸入向量。
根據(jù)待預(yù)測日的天氣條件在不同季節(jié)選取不同的具顯著影響的氣象因素,并以此氣象因素作為依據(jù)篩選同天氣類型的負(fù)荷歷史數(shù)據(jù)樣本,然后在其中找出與待預(yù)測日相同日類型(工作日與非工作日)的負(fù)荷歷史數(shù)據(jù)樣本。選定負(fù)荷歷史數(shù)據(jù)樣本后,再調(diào)出與其對應(yīng)的氣象數(shù)據(jù)樣本,即對應(yīng)96 點負(fù)荷數(shù)據(jù)的96 個采集點的溫度、濕度數(shù)據(jù)。歷史數(shù)據(jù)樣本選定后,對所選的數(shù)據(jù)樣本進(jìn)行異常數(shù)據(jù)的判定和處理。
支持向量機(jī)將需要解決的問題轉(zhuǎn)化為解決一個帶約束的二次規(guī)劃問題,當(dāng)訓(xùn)練樣本比較少時,可以選擇內(nèi)點法、共軛梯度法、牛頓法等傳統(tǒng)方法進(jìn)行求解。然而,當(dāng)訓(xùn)練樣本比較大時,傳統(tǒng)算法的復(fù)雜度會急劇增加,且占用的內(nèi)存資源會很大。因此,為了減小算法的復(fù)雜度,提升算法的效率,不少專家和學(xué)者提出了許多解決大數(shù)目訓(xùn)練樣本的支持向量機(jī)訓(xùn)練方法。
本文采用的是LIBSVM 算法,該算法對SVM 所涉及的參數(shù)調(diào)節(jié)相對比較少,提供了很多的默認(rèn)參數(shù),利用這些默認(rèn)參數(shù)可以解決很多問題,并且該算法還提供了交互檢驗的功能,提高了算法運(yùn)行的速度和精度。
使用MATLAB 作為運(yùn)算工具,使用回歸型支持向量機(jī)方法預(yù)測待預(yù)測日負(fù)荷的具體步驟和算法流程圖如下。
S1、按本文上述的歷史數(shù)據(jù)樣本選擇規(guī)定,選定歷史數(shù)據(jù),并進(jìn)行異常數(shù)據(jù)的判定和處理。
S2、將S1 中初步處理過的所有歷史數(shù)據(jù)輸入LIBSVM 工具箱,并選定因變量(待預(yù)測日的96 點負(fù)荷)和自變量(歷史負(fù)荷、歷史負(fù)荷對應(yīng)的各具體氣象因素),LIBSVM 將所有樣本分類形成訓(xùn)練集和測試集。
S3、對訓(xùn)練集和測試集進(jìn)行歸一化預(yù)處理,歸一化后既可以提高分類和預(yù)測的準(zhǔn)確率,又可以方便算法的運(yùn)行。
圖2 程序流程圖
S4、利用LIBSVM工具箱提供的功能對SVM中參數(shù)進(jìn)行交叉驗證以選擇對于模型最優(yōu)的參數(shù)(懲罰參數(shù)c、RBF 核函數(shù)中的gamma 參數(shù)g)。最佳參數(shù)c 和g 能夠使得驗證分類準(zhǔn)確率達(dá)到最高,在滿足條件的所有c 和g 組合中選取c 最小的那組作為模型的最佳參數(shù)。如果在滿足條件的c 和g 組合中對應(yīng)最小的c有多組g,那么就選取在組合序列中的第一組c 和g 作為模型的最佳參數(shù)。懲罰參數(shù)c 過大會導(dǎo)致支持向量機(jī)發(fā)生過學(xué)習(xí)(訓(xùn)練集分類準(zhǔn)確率很高而測試集分類準(zhǔn)確率很低),所以判定在能夠使得驗證分類準(zhǔn)確率達(dá)到最高的所有c 和g 組合中較小的懲罰參數(shù)c 是更優(yōu)的選擇。
S5、利用S4 中選取的最佳參數(shù),使用LIBSVM 工具箱中svmtrain 函數(shù)訓(xùn)練SVM,得到一個model。model 是預(yù)測模型,其中包含各種參數(shù)。
S6、利用S5 中得到的model,使用LIBSVM 工具箱中svmpredict 函數(shù)對測試集進(jìn)行測試,通過預(yù)測指標(biāo)來判定model 的預(yù)測性能。
S7、利用S6 中通過性能判定的model,建立決策函數(shù)
通過決策函數(shù)來預(yù)測待預(yù)測日樣本的96 點負(fù)荷。其中,||xi-x||代表二范數(shù)距離;b=-model.rho(一個標(biāo)量數(shù)字);n=model.totalSV 代表支持向量的個數(shù)。對于每一個表示支持向量的系數(shù)(即SVR 結(jié)構(gòu)圖中的);表示支持向量(歷史負(fù)荷數(shù)據(jù)和各氣象因子數(shù)據(jù));x 是待預(yù)測標(biāo)簽的樣本;gamma 就是參數(shù)g。
假定2014 年7 月7 日(周一,工作日)的溫州各縣的電力負(fù)荷作為待預(yù)測日負(fù)荷,根據(jù)本文上述的歷史數(shù)據(jù)樣本選擇規(guī)定來選取樣本數(shù)據(jù)。選擇與待預(yù)測日相同天氣類型、日類型的參照日的數(shù)據(jù)作為歷史樣本數(shù)據(jù),因此選定2014 年6 月26 日的溫州各縣市的負(fù)荷數(shù)據(jù)和氣象數(shù)據(jù)作為歷史樣本數(shù)據(jù)。采用虛擬預(yù)測方法,將7 月7 日作為待預(yù)測日進(jìn)行96 點的負(fù)荷預(yù)測,然后與該日的實際負(fù)荷數(shù)據(jù)作比較,以檢驗本文提出的日負(fù)荷預(yù)測方法的準(zhǔn)確性和實效性。由于溫州的地理位置、地形及其他一些原因,各縣每天的氣象條件不同、負(fù)荷數(shù)據(jù)特征不同,因此,首先進(jìn)行溫州各縣的負(fù)荷預(yù)測,再將各縣的預(yù)測負(fù)荷值累加,從而得到預(yù)測的溫州地區(qū)總負(fù)荷。
如圖3、4 所示:圖3 為2014 年7 月7 日溫州電網(wǎng)負(fù)荷預(yù)測的結(jié)果對比;圖4 為2014 年7 月7 日溫州電網(wǎng)負(fù)荷預(yù)測的相對誤差。得出的預(yù)測結(jié)果表明:2014 年7 月7 日溫州地區(qū)負(fù)荷預(yù)測準(zhǔn)確率約為98.15%;96 個預(yù)測點中相對誤差大于5%的有7 個,最大相對誤差為6.49%,平均相對誤差為1.27%。
圖3 溫州電網(wǎng)2014 年7 月7 日負(fù)荷預(yù)測結(jié)果對比圖
圖4 溫州電網(wǎng)2014 年7 月7 日負(fù)荷預(yù)測的相對誤差
依照上述算例,根據(jù)本文敘述的方法流程,對其后5個工作日(2014 年7 月8 日至7 月11 日及7 月14 日)再次進(jìn)行96 點負(fù)荷預(yù)測,結(jié)果表明該5 個工作日溫州地區(qū)的負(fù)荷預(yù)測準(zhǔn)確率都達(dá)98%以上。96 個預(yù)測點中相對誤差大于5%的個數(shù)依次為0、7、0、12、6;最大相對誤差依次為2.29%、7.06%、1.53%、8.47%、6.08%;平均相對誤差依次為0.41%、0.97%、0.02%、0.91%、0.18%。
上述算例均為一般工作日的情形,休息日、節(jié)假日的負(fù)荷預(yù)測可按同樣的方法流程進(jìn)行,但進(jìn)行負(fù)荷預(yù)測前需對歷史數(shù)據(jù)樣本仔細(xì)篩選,本文限于篇幅不作贅述。具體算例可參見文獻(xiàn)。
本文采用的SVR 算法通過交互檢驗尋求預(yù)測模型的最優(yōu)參數(shù),加快了預(yù)測模型的運(yùn)行速度與精度。通過考慮氣象因素優(yōu)化選擇歷史樣本數(shù)據(jù),在預(yù)測模型中加入氣象因素作為輸入向量,進(jìn)一步提高了溫州電網(wǎng)負(fù)荷預(yù)測的精度。本算例中選擇了溫濕條件作為氣象因素輸入向量,對于其他氣象因素由于數(shù)據(jù)不易收集處理等原因,尚未加考慮,有待以后進(jìn)一步的實踐研究。