王詩涵 周法國
摘? 要:基于現(xiàn)有的電力負荷預(yù)測方法提高電力負荷預(yù)測的準確性,提出了一種基于支持向量機(SVM)的電力負荷預(yù)測模型。首先分析支持向量機的理論基礎(chǔ),通過建立支持向量機預(yù)測模型,將經(jīng)過預(yù)處理的真實電力數(shù)據(jù)輸入該模型進行學習預(yù)測,借助均方根誤差(RMSE)、平均絕對百分比誤差(MAPE)以及預(yù)測圖表對模型預(yù)測性能進行驗證分析。實驗結(jié)果表明,SVM預(yù)測模型能夠較為準確地對電力負荷預(yù)測進行刻畫。
關(guān)鍵詞:機器學習;電力負荷;支持向量機
中圖分類號:TP273.4? ? ? 文獻標識碼:A 文章編號:2096-4706(2020)24-0120-03
Load Forecasting of Power Grid Based on Support Vector Machine
WANG Shihan,ZHOU Faguo
(School of Mechanical Electronic & Information Engineering,China University of Mining and Technology-Beijing,
Beijing? 100083,China)
Abstract:Based on the existing power load forecasting methods to improve the accuracy of power load forecasting,a power load forecasting model based on support vector machine(SVM)is proposed. First,analyze the theoretical basis of support vector machines,and by establishing a support vector machine prediction model,input the pre-processed real power data into the model for learning prediction. The prediction performance of the model is verified and analyzed with the help of root mean square error(RMSE),mean absolute percentage error(MAPE)and prediction chart. The experimental results show that the SVM prediction model can describe the power load forecast more accurately.
Keywords:machine learning;electric load;support vector machine
0? 引? 言
電力負荷在電力管理系統(tǒng)中有著極為重要的地位。隨著電力事業(yè)的不斷發(fā)展,準確地對電力負荷進行預(yù)測[1,2],可以更加經(jīng)濟且合理地對電網(wǎng)進行規(guī)劃、對內(nèi)部發(fā)電機組進行啟停,實現(xiàn)供電的穩(wěn)定性與合理性,充分滿足用戶需求,促進電力市場的進一步發(fā)展。
然而,由于電力負荷變化極其復(fù)雜,與天氣因素、時間因素、季節(jié)因素甚至是否為節(jié)假日等方面的因素都息息相關(guān)。目前常見的負荷預(yù)測方法主要有兩類:一類是基于數(shù)理統(tǒng)計的方法,另一類是智能預(yù)測方法?;跀?shù)理統(tǒng)計的方法有回歸分析、時間序列法以及趨勢外推法等;智能預(yù)測方法則主要是機器學習方法,比如支持向量機預(yù)測方法以及神經(jīng)網(wǎng)絡(luò)方法等。
由于各個因素與電力負荷并非都是線型相關(guān)的,其中也存在大量的非線性因素。因此,想要通過數(shù)學方法去建立相應(yīng)的顯式公式以及物理模型將會非常困難。正因為如此,數(shù)理統(tǒng)計方法往往存在很大的偏差,并且很難將許多因素綜合考慮在內(nèi)。同時,電力公司在多年的運營中已經(jīng)產(chǎn)生了海量用電數(shù)據(jù),借助這些數(shù)據(jù),使用機器學習的方法進行分析,構(gòu)建基于機器學習方法的電力負荷預(yù)測模型,就能夠更好地解決非線性、局部值變化過大以及多維性等難題。其中深度學習作為一種嶄新的機器學習方法,借助內(nèi)部構(gòu)建的多層感知器創(chuàng)建非線性網(wǎng)絡(luò),對目標預(yù)測進行函數(shù)逼近。對于海量的數(shù)據(jù)來說,基于機器學習的預(yù)測算法將會具備更優(yōu)秀的數(shù)據(jù)處理能力,同時還能夠更好地提取有效數(shù)據(jù)。
1? 現(xiàn)狀分析
機器學習是一種致力于探究計算機如何通過算法來仿照或?qū)崿F(xiàn)人類的學習能力,學習新的知識并根據(jù)自身經(jīng)驗對新的難題進行求解,從而不斷提升自身性能的方法。通過學習不但可以靈活應(yīng)對層出不窮的新問題,而且還可以對未來數(shù)據(jù)的特征和規(guī)律進行推演和預(yù)測。然而,通常情況下,現(xiàn)實生活中的樣本往往數(shù)量不足且質(zhì)量一般,難以找到足夠多適用于機器學習的理想數(shù)據(jù),因此Vapnik團隊提出了一項統(tǒng)計學習理論[3],這是一項專門研究在訓練集所含樣本數(shù)量有限的情況下如何進行機器學習的理論科學。統(tǒng)計學習理論一般從部分訓練樣本出發(fā),通過一定的方式得到一些還無法用確切的理論或原理進行分析的規(guī)律,并通過這些規(guī)律來對需要進行預(yù)測的數(shù)據(jù)進行比較精確的分析預(yù)測。
基于統(tǒng)計學習理論,產(chǎn)生了一種新的機器學習方法:支持向量機[4-6](Support Vector Machine,SVM),SVM是機器學習方法中被廣泛研究和使用的一種方法。SVM是一類按監(jiān)督學習方式對數(shù)據(jù)進行二元分類的廣義線性分類器,但是隨著SVM方面的研究越來越深入,在分類之外也得到了廣泛的應(yīng)用,比如回歸、離散值分析以及排序等。為了改進現(xiàn)有負荷預(yù)測方法所存在的預(yù)測精確度不足等問題,本文通過構(gòu)建基于支持向量機的電力負荷預(yù)測模型,將數(shù)據(jù)進行預(yù)處理后,將其作為訓練集輸入預(yù)測模型中,進行特征提取。通過逐層學習與參數(shù)調(diào)試,將所提取出來的數(shù)據(jù)特征作為訓練集進行測試,然后通過輸入預(yù)測集,利用電力負荷預(yù)測模型對其進行數(shù)據(jù)預(yù)測。
2? 支持向量機算法
在給定的訓練樣本集D={(x1,y1),(x2,y2),…,(xn,yn)},yi∈{-1,1}中,線性分類器將會根據(jù)訓練樣本D在二維空間中尋找到一個超平面來將二類樣本分離。
將該平面用函數(shù)f(x)=wTx+b表示,其中T為矩陣的轉(zhuǎn)置,因此如果當f(x)恰好等于0的時候,x便是位于超平面上的點,而當f(x)大于0的點對應(yīng)y=1的數(shù)據(jù)點,f(x)小于0的點對應(yīng)的是y=-1的點。
此時我們令:
通過簡單平面幾何知識可求得空間中任意樣本點x到超平面的距離為: 。
由于yi∈{-1,1},因此我們將兩個異類支持向量與超平面之間的距離之和表示為? 。我們需要找到一個符合條件的超平面來分開兩類數(shù)據(jù):該超平面離兩類樣本都足夠遠,能夠使得距離之和達到最大,也就是說最終確定的參數(shù)w和b能夠使得r達到最大,即: ,s.t.yi(wTxi+b)≥
1,i=1,2,…,n。
以上便是基本線性可分情況下的SVM模型的基本思想。而對于回歸模型部分而言,優(yōu)化目標函數(shù)部分與分類模型是一致的,但是區(qū)別在于約束條件有所不同。回歸模型的目的是為了讓訓練集樣本中的所有樣本點都盡可能地擬合到同一個線性模型之上。SVM回歸算法采用ε-insensitive誤差函數(shù),用Lε表示該函數(shù),其定義為? ,其中ε為所能容忍的最大誤差。因此優(yōu)化目標可以定為將誤差函數(shù)最小化:,其中C為正則化常數(shù),n為平面中的樣本點總數(shù)。
由于在上述的目標函數(shù)中含有絕對值項而不可微。因此考慮將其轉(zhuǎn)化為約束優(yōu)化問題,即為每一個樣本數(shù)據(jù)都設(shè)置兩個松弛變量ζi≥0, ≥0,將誤差函數(shù)改寫成一個凸二次優(yōu)化問題: 。
通過引入拉格朗日乘子,將目標優(yōu)化函數(shù)轉(zhuǎn)化成無約束的形式,其中α>0, >0,μ>0, >0是拉格朗日的系數(shù):
在滿足約束條件時,,此時拉格朗日系數(shù)全部取0,。當不滿足約束 時,則? 無解。換言之? 在滿足約束條件時的解即? 的解,并且在約束外無解。因此求解? 即能得到滿足約束的的解。因此首先對w,b,ζi,分別求偏導(dǎo)數(shù)并將其帶回至拉格朗日函數(shù)中,化簡后能夠得到關(guān)于αi,的函數(shù),將該函數(shù)最大化則為接下來的目標:
(1)
式(1)的約束條件為0≤αi≤C,0≤≤C。其中κ(xi,yi)=(xi)Txj為向量內(nèi)積。接下來我們考慮KKT條件,KKT最優(yōu)化條件一般用來判斷一個非線性最優(yōu)化問題是否包含一個待確定的解。以下僅列出核心部分:
αi(ε+ζi+wTxi+b-)=0? ? ? ? ? ? ? ? ? ? ? ?(2)
(ε+-(wTxi+b)+)=0? ? ? ? ? ? ? ? ?(3)
由式(2)、式(3)可知當αi>0時,必定有ε+ζi+wT xi+b-=0,ζi≥0,此時預(yù)測值將會小于真實值;當? >0時,必定有(ε+-(wTxi+b)+)=0, ≥0,此時預(yù)測值將會大于真實值。而且對于每一個任意的數(shù)據(jù)點,由于ε>0,則αi和不會出現(xiàn)同時大于0的情況,并且為了得到在誤差范圍以內(nèi)的點,必定有αi=0以及=0。
由上述計算可得知? ,接下來進一步對b值進行計算,由式(2)可知某點預(yù)測值大于真實值時,有:ζi=0且(ε+ζi+wT xi+b-)=0。
可推導(dǎo)得出預(yù)測函數(shù),其中(xi,)為預(yù)測值大于真實值的某個點:
3? 預(yù)測實驗
3.1? 數(shù)據(jù)來源
為了驗證所構(gòu)建的SVM預(yù)測模型的有效性與精確性,實驗將使用河北省某地區(qū)2017年6月1日到6月30日之間的真實電力數(shù)據(jù),共包含17 279組電力負荷數(shù)據(jù)。數(shù)據(jù)中包含電壓、功率等數(shù)據(jù)的實時最高值、最低值以及平均值,在實驗中采用平均值進行計算。
3.2? 數(shù)據(jù)預(yù)處理
在將數(shù)據(jù)輸入模型之前,需要預(yù)處理原始電力負荷數(shù)據(jù)。由于數(shù)據(jù)按時間序列有部分缺失數(shù)據(jù),直接將空值讀入模型會導(dǎo)致模型運行、計算出錯。因此需要將空值處理為有效值,將缺失值設(shè)置為上下時間序列按時間間隔的均值。
同時為了避免因數(shù)據(jù)范圍不同而導(dǎo)致計算時出現(xiàn)飽和現(xiàn)象,需要對實驗所用的數(shù)據(jù)進行歸一化處理。采用下列方式完成數(shù)據(jù)歸一化: 。
其中x為預(yù)處理數(shù)據(jù)的樣本,xmax和xmin分別為樣本數(shù)據(jù)中的最大值及最小值,ymax和ymin則為期望數(shù)據(jù)中每一行中的最大值及最小值。
3.3? 模型評價指標
均方根誤差RMSE,也被稱為標準誤差,一般被用來測量觀測值與實際值之間的誤差大小。計算公式為:。
平均絕對百分比誤差MAPE也是機器學習中常用的一個評價指標,可以用來衡量一個模型預(yù)測結(jié)果的好壞,計算公式為:。
其中,yi和? 分別為樣本的真實值及預(yù)測值,n則為測試集中的樣本數(shù)量。
3.4? 預(yù)測結(jié)果與分析
將17 279組電力負荷數(shù)據(jù)分為三組,首先對其進行預(yù)處理使其變?yōu)榭刹僮鞯暮侠頂?shù)據(jù)。其中8 000組數(shù)據(jù)作為訓練集,用以構(gòu)建短期電力負荷預(yù)測模型,對模型進行學習訓練;5 000組數(shù)據(jù)作為測試集,用以對學習后的電力負荷預(yù)測模型的預(yù)測準確性進行檢驗;其余4 279組數(shù)據(jù)作為預(yù)測集,默認其為未來數(shù)據(jù),即只有時間數(shù)據(jù)而無電力負荷數(shù)據(jù),通過預(yù)測其電力負荷再與實際電力負荷值比對,進一步檢驗其預(yù)測性能。測試結(jié)果如圖1所示。
對應(yīng)的模型輸出的評價指標如表1所示。
對圖1及表1中的結(jié)果進行分析,可以發(fā)現(xiàn):
(1)SVM模型可以較好地對電力負荷進行預(yù)測,結(jié)果能比較準確地刻畫出電力負荷在一定時間內(nèi)的變化趨勢。
(2)對于特定時段的電力負荷的峰值變化難以把握,模型在預(yù)測峰值負荷的時候往往趨于平穩(wěn),導(dǎo)致對極端情況下的電力負荷預(yù)測準確性不高。因為在實際用電環(huán)境下,電力負荷往往不不僅僅只與時間有一定關(guān)系,還有大量其他因子會影響電力負荷。
4? 結(jié)? 論
本文通過構(gòu)建SVM模型實現(xiàn)對電力負荷數(shù)據(jù)特征的學習,并通過此數(shù)據(jù)特征對電力負荷數(shù)據(jù)進行預(yù)測。對實際數(shù)據(jù)進行測試調(diào)試后發(fā)現(xiàn),本文所提出的電力負荷預(yù)測模型可較為精準地對電力負荷進行預(yù)測,與真實值接近,模型有效性良好。對于其他會影響電力負荷的因素,如何將其合理地融入模型以對電力負荷進行更加準確的預(yù)測,還需要進一步研究。
參考文獻:
[1] 韓禹.非侵入式低壓電力負荷構(gòu)成識別與聚合建模的研究及應(yīng)用 [D].鎮(zhèn)江:江蘇大學,2020.
[2] 鞠平,郭德正,曹路,等.含主動負荷的綜合電力負荷建模研究綜述與展望 [J].河海大學學報(自然科學版),2020,48(4):367-376.
[3] 林洪樺.測量誤差分析及數(shù)據(jù)處理若干要點系列論文(四) ——統(tǒng)計學習理論及支持向量機方法統(tǒng)用于形位誤差評定 [J].自動化與信息工程,2020,41(4):1-5.
[4] 陳衛(wèi)東,梁朔,肖園園,等.基于模糊最小二乘支持向量機的微電網(wǎng)群狀態(tài)評估方法 [J].電力系統(tǒng)自動化,2019,43(2):76-82.
[5] 姜濤,王長江,陳厚合,等.基于正則化投影孿生支持向量機的電力系統(tǒng)暫態(tài)穩(wěn)定評估 [J].電力系統(tǒng)自動化,2019,43(1):141-148.
[6] 胡天宇,郭慶來,孫宏斌.基于堆疊去相關(guān)自編碼器和支持向量機的竊電檢測 [J].電力系統(tǒng)自動化,2019,43(1):119-125.
作者簡介:王詩涵(1996—),男,漢族,廣東中山人,碩士研究生在讀,研究方向:計算機應(yīng)用技術(shù);周法國(1976—),男,漢
族,山東聊城人,副教授,博士,研究方向:數(shù)據(jù)挖掘、人工智能等。