葉遠勝 張靜
摘? 要:隨著電力系統(tǒng)的飛速發(fā)展,以往基于小規(guī)模數(shù)據(jù)的傳統(tǒng)電力負荷預測算法可能無法容納大量數(shù)據(jù)集和效率上的要求。為改善預測模型的工程實用性、效率和準確度,將傳統(tǒng)的時間序列預測方法與機器學習中的支持向量機算法相結合,應用于短時電力負荷預測。即使用某一時刻對應的以往時間點的電力數(shù)據(jù)作為屬性值,使用支持向量回歸構建模型進行預測。通過實踐證明,模型可以快速有效地處理數(shù)據(jù),并且具有較高的預測準確度。
關鍵詞:時間序列;支持向量機;電力負荷預測;機器學習
中圖分類號:TP183;TM715 文獻標識碼:A? ? 文章編號:2096-4706(2020)24-0017-03
SVM Short Term Power Load Forecasting Based on Time Series
YE Yuansheng,ZHANG Jing
(China University of Mining and Technology-Beijing,Beijing? 100083,China)
Abstract:With the rapid development of power systems,traditional power load forecasting algorithms based on small-scale data in the past may not be able to accommodate large data sets and efficiency requirements. In order to improve the engineering practicability,efficiency and accuracy of the forecasting model,the traditional time series forecasting method is combined with the support vector machine algorithm in machine learning and applied to short term power load forecasting. That is,the power data corresponding to a certain point in the past is used as the attribute value,and the support vector regression is used to construct a model for prediction. Practice has proved that the model can process data quickly and effectively,and has high prediction accuracy.
Keywords:time series;support vector machine;power load forecasting;machine learning
0? 引? 言
關于電力負荷特性的研究是研究電力的一項重要內容。由于用電負荷宏觀上受經(jīng)濟,市場政策,文化,地理等因素影響,微觀上又受到節(jié)假日、工作日等日期類型屬性,氣象狀況,社會活動等諸多因素的影響。且影響機制屬于非線性關系,常規(guī)方法難以取得較高精度[1]。精確的短期負荷預測結果能夠幫助電力工作人員指定合理的電力調配方案,即維持了供需平衡,保證了電網(wǎng)安全[2]。本文針對實際情況,利用支持向量機算法在解決線性不可分、高維數(shù)等問題上的優(yōu)勢,研究基于時間序列的短時電力負荷預測模型,以達到優(yōu)化電力負荷管理的目的。
1? 國內外研究現(xiàn)狀
國內外的學者們對電力負荷預測進行了很多的研究,并取得了很多不俗的成果。按照預測手段的不同,電力負荷預測的方法主要有傳統(tǒng)和現(xiàn)代兩大分支。首先出現(xiàn)的是建立在數(shù)學基礎上的傳統(tǒng)預測方法。時間序列法是當前進行短時電力負荷預測較為完善成熟且可靠性較高的一種傳統(tǒng)算法[3],每過一定的時間間隔對電力負荷數(shù)據(jù)進行一次記錄并形成序列,并參考過往的負荷數(shù)據(jù)對未來進行預測??柭鼮V波法同樣常用于短時電力負荷預測,它的原則與基礎是線性無偏最小均方差估計,首先依據(jù)歷史電力數(shù)據(jù)估計出模型參數(shù),再預測觀測的數(shù)據(jù)序列[4]。人工智能快速發(fā)展推動了現(xiàn)代預測方法的興起,最常見的有人工神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN)和支持向量機(Support Vecotor Machine,SVM)。人工神經(jīng)網(wǎng)絡理論建立神經(jīng)元網(wǎng)絡模型,首先用訓練樣本集進行訓練學習,初步得出各個輸出與輸入層之間的參數(shù),并以后項傳播的方式不斷進行參數(shù)修正直到得到一個理想的模型,最后再用該模型得到預測結果[6-8]。SVM擁有較強的推廣能力,可以在保證較高的預測精確度的同時求解到全局最優(yōu)解[9]。在解決小樣本、線性不可分、高維數(shù)和多分類等實際問題上,支持向量機算法擁有很大的優(yōu)勢,故可以建立出比較理想的短時電力負荷預測模型[10]。
2? 支持向量機原理與時間序列法
2.1? SVM簡介
SVM是一類按監(jiān)督學習方式對數(shù)據(jù)進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大邊距超平面。SVM的任務就是尋找一劃分超平面,且該劃分超平面剛好處于兩類訓練樣本的正中間位置,即最終的分類結果具有較高的魯棒性和泛化能力[11]。其線性判別函數(shù)的表達式為:
f(x)=wTx+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
wTx+b=0即為劃分超平面。其中w=(w1,w2,w3,…)為法向量,決定了方向,b為位移項,決定了原點與超平面的距離。令兩類樣本都滿足f(x)≥1,離分類面最近的樣本滿足f(x)=1。假設超平面能將訓練樣本全部正確分類,則需滿足:
yi[(w·xi)+b]≥1,i=1,…,n? ? ? ? ? ? ? ? (2)
求出w與b即可得到模型:
f(x)=wTx+b=aiyixiT+b? ? ? ? ? ? ? ? ? ? ? (3)
2.2? 核函數(shù)
在現(xiàn)實場景中,原始樣本空間內也許并不存在這樣的超平面,能夠將訓練樣本劃分為兩類。對于這樣的問題,我們使用到了核函數(shù)方法。作為SVM中最重要的一部分,核函數(shù)方法的思路是通過非線性變換?將n維向量空間中的向量x映射到高維特征空間,使得樣本在這個高維特征空間中線性可分,然后在高維特征空間中構造線性學習算法。一般而言,對于一個有限維的樣本,總是存在一個高維特征空間使訓練樣本線性可分[12]。根據(jù)式(1)轉換后的模型表達為:
f(x)=wT·?(x)+b? ? ? ? ? ? ? ? ? ? ? ? ? (4)
加入了Lagrange乘子后并加以轉換得到二次規(guī)劃尋優(yōu)問題:
(5)
我們通常會使用以下函數(shù)來簡化這個高緯度的問題:
k(xi,xj)=?(xi),?(xj)=?(xi)T?(xj)? ? (6)
即可以將xi與xj在特征空間的內積轉換為它們在原始樣本空間中通過函數(shù)k(·,·)計算的結果來簡化計算。通過這樣的等價轉換,我們就可以避免直接去計算高維乃至無窮維特征空間中的內積[13]。于求解后可得到:
(7)
這里的函數(shù)k(·,·)就是“核函數(shù)”(kernel function)。核函數(shù)的選擇是支持向量機問題的核心所在,核函數(shù)選擇將直接影響到分類的效果。本文用到高斯核函數(shù)。
2.3? 支持向量機回歸
分類問題與回歸問題是支持向量機問題的兩大分支。在基礎理論、如何選擇核函數(shù)等方面上,SVM分類問題和回歸問題存在很多相似的地方。與SVM分類問題不同,yi可以取任意實數(shù)值,而并非固定取值-1或+1。SVM回歸問題實質上還是通過尋找一個最優(yōu)函數(shù)y=f(x)來擬合輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的關系,期待得到一個擬合誤差最小的結果。支持向量回歸中往往采用“不敏感損失函數(shù)”來做為誤差函數(shù),傳統(tǒng)線性回歸一般直接使用模型輸出值f(x)與真實值y之間的差別作為損失,故此損失值通常不為零。而支持向量機回歸允許f(x)與y之間有?的誤差,則只要樣本落在以f(x)為中心,寬度為2?的矩形區(qū)域內,都認為不存在誤差。
其表達式為:
(8)
優(yōu)化問題即求:
(9)
引入松弛變量ξi和,引入Lagrange函數(shù),即可得到SVR的對偶問題:
(10)
代入求解有:
f(x)=(-ai)xiTxi+b? ? ? ? ? ? ? ? ? (11)
結合KKT條件,對每個樣本(xi,yi),都有(C-ai)ξi=0且ai(f(xi)-yi-ε-ξi)=0。
于是,在得到ai后,若0 b=yi+?-(-aj)xjTxi? ? ? ? ? ? ? ? ? ? ?(12) 考慮到特征映射形式,則相應的,式(12)將形如: w=(-ai)?(xi)? ? ? ? ? ? ? ? ? ? ? (13) 將式(13)代入到式(4),則SVR可以表示為: f(x)=(-ai)k(x,xi)+b? ? ? ? ? ? ? (14) 其中k(x,xi)=?(xi)T?(xj)為核函數(shù)。 2.4? 時間序列法 時間序列法是一種統(tǒng)計學上的分析方法,它用來描述事物隨著時間發(fā)展變化的特征,又被稱作稱時間序列趨勢外推法。時間序列法假設事物的發(fā)展趨勢會延伸到未來,并忽略事物發(fā)展之間的因果關系,使用一定時間內的歷史數(shù)據(jù)構成的數(shù)據(jù)序列來對未來該事物的情況進行預測。因此,時間序列法要求事物具有穩(wěn)定的變化趨勢和明確的相互關系。但很多時候事物的歷史數(shù)據(jù)都會受到一些偶然因素的影響而變現(xiàn)出不太規(guī)則的變化,因此我們在使用歷史數(shù)據(jù)時,還需采用算數(shù)平均、加權平均、指數(shù)平均等方法來減少偶然因素所帶來的影響。時間序列傳統(tǒng)的預測方法有移動平均法、加權移動平均、法指數(shù)平滑法等,現(xiàn)代方法有Box-Jenkins的自回歸模型(ARIMA)。 3? 實驗 3.1? 數(shù)據(jù)預處理 所使用的數(shù)據(jù)集為河北某電廠從2017年6月1日至2017年9月1日的電力數(shù)據(jù)。每隔三分鐘記錄一次,而且每隔幾行表格中會出現(xiàn)一次空行數(shù)據(jù),因此應先刪除掉這些空行數(shù)據(jù)。在Python環(huán)境下,可以調用pandas包,讀取表格數(shù)據(jù)后,使用DataFrame下的drop方法完成刪除操作。因為使用時間序列法進行負荷預測,即通過前一天,前一周等的負荷來預測當前的電力負荷。所以首先要對原始數(shù)據(jù)進行操作,將與當前行對應的前一天、前一周這樣的歷史數(shù)據(jù)輸入到本行作為屬性值。對于某些特殊情況,如6月1日當天是沒有前一天、前一周這樣的數(shù)據(jù)作為參考的,故可以考慮使用當天的數(shù)據(jù)作為歷史數(shù)據(jù)進行填充。這類缺少歷史數(shù)據(jù)的數(shù)據(jù)約占整體的5%。大部分的機器學習算法無法在缺失的數(shù)據(jù)集上工作,所以需要使用一些函數(shù)來處理這些缺失值。Scikit-Learn提供了一個非常方便的工具:Imputer。創(chuàng)建該實例后,選擇均值來替換缺失值。工作日、雙休日、節(jié)假日等時段對電力負荷會產(chǎn)生較大的影響。因此需要從日期中提取出這些信息,并使用One-hot編碼的形式將這些信息記錄到電力數(shù)據(jù)集當中。
3.2? 預測與結果評估
由于電力負荷數(shù)據(jù)分布的范圍比較接近,因此不需要再進行標準化、歸一化操作。在數(shù)據(jù)預處理完成后,選擇3/4的數(shù)據(jù)作為訓練集,1/4的數(shù)據(jù)作為測試集。將數(shù)據(jù)傳入到SVR回歸模型中。模型使用高斯徑向基(RBF)函數(shù),懲罰系數(shù)C=50,核函數(shù)的次數(shù)選定為3。預測的結果如圖1所示。
預測精確度為0.923 1,均方誤差為131.00,可以看出具有較高的預測精度。部分實際值與預測結果數(shù)據(jù)表1所示。
4? 結? 論
本文以時間序列法為基礎,通過構建支持向量機回歸(SVR)模型完成對短時電力負荷的預測,同時也兼并考慮到了節(jié)假日屬性對電力負荷的影響,既提高了短期電力負荷預測的預測精度,還同時兼顧到了時效性問題,提升了模型的整體預測能力。與傳統(tǒng)的短時電力負荷預測方法相比,本文所使用的基于時間序列的支持向量機回歸(SVR)預測能夠在較高的效率下獲得更高的負荷預測精度。未來可以考慮研究在溫度、天氣狀況、濕度、降雨量等影響因素下更復雜環(huán)境的短期負荷預測問題,并與其他負荷預測方法相結合,進一步提升預測模型的普適性和處理數(shù)據(jù)的能力。
參考文獻:
[1] 康重慶,夏清,劉梅.電力系統(tǒng)負荷預測 [M].北京:中國電力出版社,2007.
[2] 牛東曉,曹樹華,盧建昌,等.電力負荷預測技術及其應用:第2版 [M].北京:中國電力出版社,2009.
[3] 趙希正.中國電力負荷特性分析與預測 [M].北京:中國電力出版社,2002.
[4] 張文哲.電力系統(tǒng)短時負荷預測模型研究 [D].重慶:重慶大學,2004.
[5] 廖旎煥,胡智宏,馬瑩瑩,等.電力系統(tǒng)短期負荷預測方法綜述 [J].電力系統(tǒng)保護與控制,2011,39(1):147-152.
[6] 孟思齊,楊洪耕.基于灰色生成的卡爾曼濾波短期負荷預測 [J].電力系統(tǒng)及其自動化學報,2008,20(6):78-82.
[7] 張亞軍,張大波,許誠昕.神經(jīng)網(wǎng)絡在電力系統(tǒng)短期負荷預測中的應用綜述 [J].浙江電力 2007(2):5-9.
[8] 李重春,祝安琪,王爍罡,等.電力大數(shù)據(jù)下的短期電力負荷預測 [J].電力大數(shù)據(jù),2019,22(1):66-70.
[9] 杜莉,張建軍.神經(jīng)網(wǎng)絡在電力負荷預測中的應用研究 [J].計算機仿真,2011,28(10):297-300.
[10] 周志華.機器學習 [M].北京:清華大學出版社,2016.
[11] BATES J M,GRANGER C. The Combination of forecast [J].Journal of the Operational Research Society,1969,20(4):451-468.
[12] VAPNIK V N. The nature of statistical learning theory [M].New York:Springer,1995.
[13] THOMOPOULOS N T. Applied Forecastin Methods [M].Englewood Cliffs:Prentice-Hall,1980.
作者簡介:葉遠勝(1995—),男,漢族,安徽安慶人,碩士研究生在讀,研究方向:機器學習;張靜(1996—),女,漢族,安徽淮北人,碩士研究生在讀,研究方向:自然語言處理。