楊 婧 安 江
(貴州電網有限責任公司計量中心 貴陽 550000)
眾所周知,電力負荷預測一直是電力系統運行的關鍵工具[1]。許多運營決策都基于負荷預測,例如發電機的調度調度、可靠性分析和發電機的維護計劃,特別是隨著全球電力行業放松管制和自由競爭的加劇,負荷預測變得比以往任何時候都更加重要[2]。同時,負荷預測對于競爭性電力市場中的能源交易至關重要。此外,準確地估計負荷是電價預測的關鍵步驟。預測錯誤對利潤、市場份額以及最終的股東價值具有重要指導意義[3]。然而,由于市場參與者的動態競價策略和依賴于價格的負荷多變性和非平穩性,電力負荷越來越難以預測。因此現代電力系統需要更高精度和更復雜的預測工具。
在過去的幾年中,針對負荷預測問題[1]已經嘗試了各種各樣的技術,其中大多數是基于時間序列分析。時間序列模型主要包括基于統計方法和基于人工神經網絡(ANN)的方法。統計模型是基于系統精確模型的硬計算技術,包括隨機過程[1]、數據挖掘方法[2]、移動平均和指數平滑方法[2]、線性回歸模型[3]、移動平均(ARMA)模型[4]、Box-Jenkins方法[5]和基于卡爾曼濾波的方法[6]。基本上,大多數統計方法都是基于線性分析。然而負荷序列通常是外生變量的非線性函數。因此,為了適應非線性,人工神經網絡在解決負荷預測問題方面受到了更多的關注[7~10]。神經網絡不僅能夠學習時間序列的負荷曲線,而且能夠模擬負荷和天氣變量之間未指明的非線性關系。其中,基于機器學習技術和支持向量機(SVM)的預測方法已廣泛應用于電力負荷的預測,并取得了良好的測試性能[11~12]。
本文重點關注短期負荷預測(STLF),特別是預測日前負荷情況,重點解決負荷序列的非平穩性、預測模型的適應性和預測工具的魯棒性。提出了一種基于自組織映射(SOM)和支持向量機(SVM)自適應混合算法分兩階段預測短期電力負荷,該方法采用具有兩階段自適應混合架構的非平穩模型。采用貴陽市獨立系統運營商(ISO)的負荷曲線數據來驗證所提出方法的學習和預測的有效性。利用平均絕對百分誤差(MAPE)和平均絕對誤差(MAE)作為性能比較的標準,表明了召回的準確性。此外,為了比較研究,還使用支持向量機檢查了網絡。本文還給出了詳細的數值結果和討論過程中的誤差。
本文通過與貴陽市國家電網有限公司(SGCC)的預測結果比較,將貴陽市的每小時電力需求序列為例進行驗證。為了建立一個合適的模型,研究每小時負載系列的主要特征。圖1為2017年7月1日到2018年6月30日的電力需求。
根據圖1(a)所示,負荷特征具有多個季節性模式,分別對應于每日和每周的周期性,并且還受節假日的影響,例如周末和假期。有時電力需求呈現高波動性和非恒定均值。本文可以得出一個結論:由于市場和季節效應,在時間序列中存在不同的模式,這通常引起分段式的平穩性。基于這樣的分析,本文使用混合模型將非平穩價格的數據集分類為具有不同特征的若干子集,例如:分段靜止數據子集,這與傳統方法相比,可以獲得較精確的預測結果。
本文接下來分析負荷和溫度之間的相關性。眾所周知,溫度信息對于負荷預測非常重要。然而,負荷和溫度之間的相關性并不總是恒定的或線性的。例如,相同時間點的負荷和溫度之間的相關系數通常具有針對不同季節和不同負荷預測問題的各種值。這一事實解釋了為什么有些研究表明負荷對溫度非常敏感,而另一些研究則表明溫度不會對負荷產生很大影響[11]。因此,本文有必要分析特定系統的負荷和溫度之間的固有相關性。圖1(b)顯示了2017年7月1日到2018年6月30日貴陽市的負荷和溫度之間的相關性。

圖1 貴陽市電力負荷
如圖1(b)所示,在負荷和溫度之間存在大致相關的分段線性關系,其差異約10℃,可以使用以下公式計算每個階段中的相關性:

其中,Cov( d,y )是負荷d 和y 的協方差,σd和σy是d 和y 的標準偏差。 ρd,y=1 表示完全的線性相關,而中間值表示部分相關,而ρd,y=0 表示沒有相關性。
圖1(b)中的虛線表示兩個分段之間的分離點,這是通過最大化分段上的兩個相關系數而獲得的。根據本文的計算,分離點大約是12℃,兩個分段上的ρd,y分別為-0.19 和0.69。本文將在下一節的負荷數據集建模中使用這些信息。
在本文中,基于時間序列的非線性離散時間動力學模型的負荷預測由式(2)表示:

其中,y( t )表示時間t 的電力負荷曲線向量,m 是動態系統的階數,它是一個預設的常數。T 是表示動力系統的控制參數的矢量,例如溫度、濕度、風速和日期類型等。STLF 中的任務是推斷過去的負荷行為,同時也考慮其他影響因素的影響。
自適應混合網絡的可觀測量的時間序列可以來重建電負荷消耗的動態特征。本文提出的網絡如圖2所示。

圖2 電力負荷預測的混合模型
該模型基于兩階段架構,在第一階段,應用SOM 網絡以非無人監督的方式將輸入訓練數據集聚類成具有相似動態特性的若干子集。在此階段,本文還將輸入數據分為兩組:常規日和異常日。然后,在第二階段中,使用若干組24個SVM 以監督方式擬合每個子集中的訓練數據。換句話說,取決于它們的平穩性以及其他動態特征,該方法將時間序列分成不同的段或子集,由于相似的屬性,同一段中的數據可以由相同的SVR 建模。值得注意的是每個子集有24 個SVR,分別用于訓練和預測第二天的24小時負荷。
如圖2 所示,SOM 和SVM 網絡的輸入變量不同,輸入變量見表1、表2和表3。
如表1 所示,SOM 的輸入數據由六個元素組成:負荷矢量L0,溫度矢量T0,濕度標量H ,風速標量W 和日期類型矢量D,兩個二進制代碼作為周末和假日指示(周末和假日為1,其他日子為0)。如前一節所述,本文使用溫度靈敏度系數來表示負荷和溫度之間的不同相關性。如果溫度大于12℃,則該系數設置為1,否則設置為0。考慮到短時間內溫度和濕度的不斷變化,本文應用這兩個元素的最大值來提高靈敏度。相反地,由于風速的變化通常是隨機的,本文使用平均值。因此,SOM 網絡總共有九個輸入變量,預計可以識別負荷序列中的開關動態特征。
除了預測溫度和實際溫度之外,SVM的輸入變量是可用的最后一天的每小時負荷值以及前幾天或幾周中的類似小時數。在實際電力系統中,存在許多異常情況,例如周末、假期、故障后的突然變化和體育賽事等。這種異常日期說明加載預測是一項非常艱巨的任務,因為這些非典型負荷條件很少,并且與常規工作日完全不同。因此,本文有必要在常規日和第二階段的異常日使用不同的饋線。本文所提出的方法需能夠分別處理常規天和異常天,并且能在編程的網格切換操作下執行負荷預測。常規日的SVM網絡的輸入數據如表2所示。

表1 SOM網絡的輸入數據

表2 常規日SVM網絡的輸入數據
常規日訓練數據的輸入包括過去的每小時負荷需求和預測的溫度。為了捕獲負荷中的時間序列模式,本文預測了前七天的電力負荷。因為溫度變化通常在負荷變化之前,使用比預測時間提前一小時和兩小時的溫度信息。本文的實驗表明,只輸入集中包含的預測日的溫度,不能產生準確的預測結果,所以在包含負荷的每個時間點都會添加溫度變量。
除周末外,如何處理假期也是一個重要問題。用于預測常規日的輸入數據可以包括除周末之外的異常天數。例如當本文預測1月2日的負荷情況時,用于預測的輸入數據通常包括1 月1 日的假日數據。在這種情況下,一般負荷序列被擾亂,這導致預測性能偏差。因此,在本文中SVM 的輸入不使用異常日的實際負荷數據,而是使用當天的預測負荷數據,因為它是常規日。
根據歷史負荷數據,同一類型的假期顯示出與往年相似的負荷分布趨勢。以前的工作已經表明,應該針對常規日和異常天開發不同的方案[16]。例如,一些研究得出的結論是,假日的負荷圖與當天之前的兩個星期六以及最新的可用圖表有很強的聯系,假期的預測應該作為周末行為的函數進行評估。基于上述分析,本文選擇了異常天的SVM 網絡的輸入數據,如表3所示。
SVM 網絡在常規日和異常日之間的輸入數據的差異如表3 所示。除了最近兩天的負荷數據外,還使用了八個輸入變量表示在預測異常天數之前的兩個周末的預測小時周圍的負荷數據。所有輸入變量都是基于以下假設選擇的:負荷預測是在第二天的午夜進行,時間設為零,這意味著前一天的所有小時負荷都是已知的。另一方面,如果在午夜之前執行預測,則SVM 的輸入將不包括當天的圖表(滯后小時從24h 到47h),因為它們不是完全可用的。
由于電力負荷的動態特征與訓練數據集的離散變化相關的切換性質,其在短時間內是非平穩的或近似分段靜止的。在本文中,SOM網絡用作門控網絡,用以識別第一階段輸入訓練數據集的切換或分段靜態動態。
SOM是一種無監督的神經模型,旨在建立未標記數據集的矢量之間鄰域關系[19~20]。二維SOM 網絡的結構如圖3 所示。SOM 中的神經元被放在一維、兩維或三維陣列的輸出層A 中。每個神經元i具有權重向量ω,其具有與輸入向量X=(y(t),…,y(t-m+1),D)相同的維度,其存儲了關于正在研究的映射的輸入和輸出的信息。在輸出矢量的呈現之后,根據競爭協作方案訓練網絡權重,更新獲勝神經元及其輸出陣列中的鄰居的權重向量。

圖3 SOM網絡
學習過程包括一系列訓練步驟。在訓練階段,基于訓練樣本X 的輸入,來確定在步驟n 處的獲勝神經元i*,如公式所示:

這意味著神經元i*具有所有輸出層A 的神經元中的權重向量ωi與輸入向量X 之間的最小距離。用于更新權重的學習規則如以下公式所示:

其中,α( n )是學習速率,而hii*是由下列公式得到:

其中,ri( n )和分別是神經元i 和i*的位置。σ( n )確定鄰域的大小,α( n )和σ( n )的數值首先會相應較大,以便快速適應神經元,并且它們隨迭代次數快速衰減:

其中,αi和σi表示它們的初始值,αf和σf是最終值,N 是總迭代次數。式(6)實際上類似于模擬退火過程的冷卻時間表[20~21]。
在訓練完成之后,SOM網絡可以用于識別輸入數據子集的類型:

其中,獲勝神經元i*的數量可在式(3)中找到。由于SOM 是一個無監督網絡,它能夠以無人監督的方式將輸入訓練或測試數據集分解為具有特定特征的若干子集,例如季節相關數據或分段靜止數據,SOM 隨后將在下一個SVR 訓練和預測中加以考慮。
從分類中可以獲得的另一個好處是類似日子的組合。如上所述,在特殊情況下的異常時期,預測結果并不十分令人滿意,其原因是這些事件代表的只是基于歷史數據學習的算法的周統計樣本。本文沒有足夠的歷史數據來了解這些異常日子。但是如果本文可以找到與異常日相似的天數并將一些異常日合并為一組,那么異常日的訓練樣本量將會增加,并且可能具有更好的預測性能。
在該階段,幾組SVR用于每個子集中的加載時間序列學習和預測,并且每個SVR 對應于一個時刻。假設本文給出了訓練數據如{(xi,yi)},其中xi是輸入模式,并且yi是xi的相關輸出值,支持向量回歸分析解決了一個優化問題:

其中,xi被映射通過函數Φ 到更高維度空間,是上訓練誤差(ξi是更低)的松弛變量,受ε 不敏感管( ωTφ( xi)+b )-yi≤ε 的影響。常數C >0 確定平坦度和損失之間的權衡。控制回歸質量的參數是誤差C 的成本、管ε 的寬度和映射函數Φ。
式(8)的約束意味著本文將大多數數據xi放在管ε 中。如果xi不在管中,則存在錯誤ξi或ξi*,本文傾向于在目標函數中最小化這些錯誤,這可以在圖4 中看到。SVR 通過最小化訓練誤差)以及正則化項來避免訓練數據的欠擬合和過擬合。對于傳統的最小二乘回歸,ε始終為零,并且數據不會映射到更高維空間。因此,SVR是對回歸問題的更一般和靈活的處理。

圖4 SVR擬合曲線
由于Φ 可能將xi映射到高維或無限維空間,而不是在高維中求解式(8)中的ω,所以本文需處理其對偶問題:

其中,Qij=φ( xi)Tφ( xj),因為φ( x )的元素太多了,這個內部產品的計算成本可能很高,所以本文應用“內核技巧”來隱式地進行映射。也就是說,采用一些特殊的形式,可以在原始空間中計算更高空間的內部產品。內核函數的典型示例是多項式內核和RBF 內核(xj)=e-γ(x1-x2)2。它們是非常高維空間(或無限維空間)的內積,即使不知道φ(x) ,也可以通過內核技巧有效地計算。
由于從SOM 分類的每個數據子集被認為是近似靜止的,因此通過利用所有過去的信息和類似的動態特性,分別應用24 個SVR 來擬合每小時電力負荷曲線數據。第二天的電力負荷由受過訓練的網絡以SOM 和SVR 中的投票方式和可接受的準確度來進行預測。對于本文中的數值實驗,本文使用的是LIBSVM[22]軟件,它支持向量機的庫,包括式(9)的有效求解功能。
本文考慮了貴陽市的日常用電量和天氣數據。選擇了兩個典型月份來預測和驗證所提出模型的性能。第一個對應于2018年1月,這是一個需求旺盛的冬季。第二個對應于2018年7月,這也是一個需求量很大的夏季月份。用于預測第一個月的每小時數據是從2017 年1 月1 日到2017 年12 月31日,一共365天。用于預測第二個月的每小時數據是從2017 年7 月1 日到2018 年6 月30 日,也 是366 天。由于貴陽市在2017 年8 月14 日經歷了電力停電,因此從訓練樣本中消除了一周的數據,包括停電日和隨后的六天。通過鄰值間插值的方法,填補了一些載荷和溫度數據的缺失。
基本上大數據集是對抗過度擬合的有效方法。但是過去通過聚合數據來增加數據集的大小可能是不可行的,因為負荷序列顯示出非常明顯的上升趨勢,并且負荷模式在年復一年略有變化。考慮到本文的工作是用于學術研究,本文選擇一年的訓練數據以簡化。但是本文認為應該在實際應用中使用更多的訓練樣本,例如兩年。
測試集與訓練集完全分開,并且測試集在學習過程中不被使用。因為較大的預測提前期并不一定意味著更大的預測誤差,這取決于不同時期的數據可變性。
如上所述,SOM 和SVM 的訓練模式是不同的。SOM 的訓練模式僅包括輸入數據,而SVM 的訓練模式由輸入-輸出對組成,SVM 訓練模式的輸出是實際的每小時負荷。一旦經過訓練,建議的網絡就可用于預測第二天的每小時負荷。
輸入變量、負荷和其他變量分別在本文的程序中進行了縮放。此過程可以設置具有統一范圍的輸入變量,這可以避免數值問題并使每個輸入變量具有相同的重要性。
在訓練數據之前,本文仍然需要預處理訓練樣本。如圖1 所示,訓練數據中存在極高或極低的電力需求。其中一些是由高溫,發電機的緊急維護等隱含原因引起的。然而其他一些不能用可評估的原因來解釋,這可以被認為是訓練樣本中的噪聲。數據中的噪聲可能導致過度擬合和欠擬合問題。為了提高訓練的準確性,本文根據負荷和溫度之間的相關關系去除訓練樣本中的噪聲數據。
本文已經計算出兩組訓練數據的歷史相關性分別為-0.19 和-0.69。從訓練數據中刪除不合理的數據后,本文可以分別獲得-0.26 和0.75 的更高的需求-負荷相關性,這是由于需求和溫度之間的具有近似的線性關系,這可以提高訓練精度。
在本文所提出的架構的學習過程中使用交叉驗證過程,其概述如下:
步驟1:將整個訓練數據集分為兩組:用于更新網絡參數的訓練集和用于測試性能的驗證集。
步驟2:預設SOM 網絡中神經元的最小數量和最大數量,并設置為神經元的初始數量。
步驟3:使用訓練數據集訓練SOM 網絡,并將神經單元分為兩組:常規日和異常日。
步驟4:在輸入空間的每個子集中,根據式(9)訓練SVM以適合數據子集。
步驟5:使用用于驗證的數據集預測負荷簡檔,并計算MAPE。
步驟6:增加SOM 中神經元的數量,并重復步驟1至步驟5。
步驟7:通過比較SOM 網絡的不同神經單元的MAPE,將MAPE 最小的網絡參數用作最終的網絡參數。
對于不同的系統,主要區別可能僅在于分類的數量。因此本文可以輕松地將所提出的模型應用于不同的電力系統。
在SOM 的訓練過程中,有幾個參數可能會影響所提出模型的性能。首先,本文需要選擇和確定SOM 的神經單元的最小值和最大值Nmin和Nmax,然后確定每個子集中的訓練數據集的數量,即要分區的負荷狀態的數量。基本上,更多的狀態可為模型提供了更高的分類能力,但也存在過度擬合和高計算量的風險,此外具有太多狀態的模型也更難以解釋。另一方面,較少數量的狀態可能導致不合適的問題。
對于SOM 的訓練,有兩個參數α 和σ 可供選擇。在本文中,α 的初始值和最終值設置為αi=1和αf=0.01。σ 的初始值選擇為σi=2,最終值為σi=0.1。
而對于SVM 模型,有兩個關鍵參數,即RBF 函數中的錯誤C 和成本γ。為了確定適當的參數,每個數據子集被分成兩個子集:訓練子集和驗證子集。訓練數據子集用于更新網絡的參數,而驗證數據子集用于監控訓練過程中的訓練性能。基于此分區,本文通過以下測試過程進行交叉驗證以選擇合適的參數:
1)使用門控SOM 網絡,根據測試日和前幾天的信息確定測試日的類型。
2)使用相應的SVM網絡輸出預測負荷。
比較性能的標準是本文中的MAE和MAPE,它們表明了召回的準確性,MAE定義如下:

其中,yai是實際值,yfi是預測值,n 是預測值的總數,MAPE定義如下:

對于比較研究,還進行了與其他方法比較的數值模擬。首先,本文計算貴陽市在同一時期發布的預測負荷的MAE和MAPE。同時,為了驗證混合結構的有效性,還建立了一個不使用SOM 選通階段的SVM網絡模型,并研究了該模型的性能。
表4和表5顯示了使用三種不同方法的兩個測試月的每小時MAE 和MAPE。其中,表4 顯示了兩個月總天數的結果,而表4 和表5 分別顯示了常規天數(工作日)和異常天數(包括周末和假日)的結果。從三個表中可以看出,混合網絡幾乎在所有情況下都優于其他網絡。唯一的例外是單個SVM 可以更準確地預測2018 年1 月的異常天數。本文認為,其原因是混亂網絡在異常天的情況下缺乏訓練樣本。然而常規日子的擬議方法的總體準確性要好得多。

表4 每天的誤差值統計

表5 常規日誤差值統計
圖5 顯示了預測結果以及2018 年1 月和2018年7 月的實際負荷需求。為避免混淆,數據標記在兩個數字中每12h設置一次。

圖5 預測電力負荷和實際電力負荷對比

表6 異常日誤差值統計
為了進一步研究所提方法的適應性,本文還分別比較了常規日的SVM 異常和異常日專用的SVM的預測結果,如表7所示。

表7 常規日與異常日SVM誤差值統計
圖6 顯示出了2017 年7 月的長周末的預測值和實際負荷。可以看出,當應用本文模型時,異常的準確性得到改善。

圖6 短期電力負荷預測對比
本文所有的數值研究都在1GB RAM 內存和2.79GHz 的計算機上運行。一般包括訓練和預測在內,一次測試通常不到7min。
本文所提出的模型具有三個顯著的優點。首先,它有能力解決電力負荷時間序列中的非平穩性問題,由于市場影響,電力負荷時間序列變得越來越重要。其次,它可以在編程的網格切換操作下使用不同的方案處理常規日和異常日。最后,它具有很強的魯棒性,可以很容易地針對不同的電力系統或市場進行修改。
電力負荷的預測結果在過去幾年的誤差為1%~3%[1],雖然已達到合理的性能狀態,但這個問題仍然是一項艱巨的任務,以至于提出全面而通用的解決方案遠非易事。這也可以通過過去幾年關于負荷預測的大量出版物來解釋。對于特定系統,只有在對系統的固有特性進行深入研究的情況下才能實現最佳性能。對于本文所提出的方法,應根據系統的特性選擇SOM 網絡的不同饋線組,因為輸入變量的靈敏度可能隨系統變化而變化。例如濕度對于熱帶地區和夏季的負荷預測非常重要。但是在溫帶和秋季,負荷可能對濕度不敏感。未來本文將進一步將運營和市場因素納入本文的模型,以提高預測的準確性。
本文提出了一種基于SOM 和SVR 網絡的自適應混合模型來預測電力負荷。所提出的方法中的SOM 門控網絡可以識別負荷狀態并以無監督的方式將輸入數據集聚類成若干子集。然后在每個子集中,使用不同的SVM 以監督的方式擬合屬于不同市場狀態的輸入數據。該方法應用于貴陽市第二天負荷分布的預測,證明了學習和預測的有效性和效率。