陶 娟,鄒紅波,周 冬
(三峽大學 電氣與新能源學院,湖北宜昌 443000)
電力負荷預測是考慮到歷史負荷、天氣、時間等信息,對未來電力負荷進行預測。負荷預測包括發電調度、系統備用發電量的確定、市場運行優化等[1-3]。負荷預測對電力企業在電力采購、發電、負荷切換、電壓控制、基礎設施建設等方面做出重要決策具有重要作用[4-5]。按預測持續時間分為長期預測[6-8]和短期預測[9-13]。負荷預測包括傳統方法和基于人工智能的方法。前者包括時間序列[14],多元回歸[15]和狀態估計方法,而后者包括模糊邏輯[16]、支持向量機[17],人工神經網絡(ANN)方法[18]。傳統的方法具有簡單的優點,而基于人工智能的方法具有較高的預測精度,可以準確地建模觀測負荷與所依賴的變量之間的高度非線性關系。
利用集成學習進一步提高了預測精度。集成學習中應用最多的兩種算法是袋裝神經網絡算法(BNN)和提升人工神經網絡算法(BooNN)。兩種算法都將單個預測模型的輸出聚合起來,以提高總體預測精度。BooNN技術基于迭代地生成許多ANN模型,在每個迭代中,生成的模型減少了預期輸出與前一個迭代中訓練的模型之間的誤差。該模型通過前一個迭代的目標輸出中減去加權估計值來更新每次迭代的目標輸出。數值計算結果表明,與現有的算法相比,該方法具有更小的預測誤差。
本研究采用一種基于提升人工神經網絡的短期負荷預測方法,并進行仿真驗證預測誤差。
人工神經網絡算法的體系結構包括三層:輸入層、隱含層和輸出層。第一層的輸入由不同的因素或特性組成。隱含層用以把輸入數據的特征抽象到另外的維度空間,來展現其更抽象化的特征,從而利用這些特征更好地進行線性劃分。輸出層為最后一層,輸出預測值。
每個隱含層包含有多個神經元,每層的輸出由前一層的輸入乘以權重加上偏差得到。權重矩陣將輸出從前面的層擴展到后面的層。神經網絡算法的數學模型為:

式中,xint為t時刻的輸入矢量,為輸入向量的各個分量,F為輸入參數的個數;分別為第1層和第i層輸出矢量;為最后層的輸出,為標量;L為總的層數;ρ為各層的激活函數;W1、Wi、WL分別為第1、i、L層的權值矩陣;b1、bi分別為第1、i層的偏差向量,bL為第L層的偏差,為標量。
通過改變權值和偏差對神經網絡進行訓練,并將所得到的預測輸出與輸入訓練數據比較,得到權值和偏差的變化,進而得到目標輸出。通過訓練使預測輸出與目標輸出之間的差異最小化,數學表示為:

式中,xouttarg為目標輸出值;W為權值矩陣集合;b為偏差向量集合。分別表示為:

通過隨機梯度下降算法對權值和偏差進行更新。利用部分訓練樣本得到上述目標函數,并根據權值和偏差計算目標函數的梯度。通過從權重和偏差中減去一個因子加權的計算梯度來更新權重和偏差。
在短期電力負荷預測中,預測模型反映了影響電力負荷的各種獨立參數X在離散時間序列上的取值,與這些時刻測量到的相應負荷值y之間的關系。描述X與y關系的模型i應滿足以下要求:
(2)預測值具有較低的方差。不同模型的預測值與所有模型的預測平均值之間不存在較大差異。
(3)函數應避免過擬合。該模型應該能夠忽略預測中的隨機誤差。
由于該模型是一個高度非線性的函數,基于人工智能的算法在處理非線性關系方面具有很大的優勢,本研究采用了基于人工神經網絡的總體學習方法,提升人工神經網絡算法。使用一組人工神經網絡模型,其中每個模型都是通過對不同數據集的訓練得到的,然后將這組模型(也稱為總體)融合在一起,得到最終的估計預測。改進模型是通過迭代生成,圖1為提升算法的流程。

圖1 改進人工神經網絡算法的流程
首先,在第i次迭代中使用原始訓練數據生成初始模型,這些原始訓練數據包含獨立的特征和相應的目標輸出。在第i+1次迭代中,將輸出目標替換為第一個模型預測的誤差,從而生成新的模型:

式中,hi是目標輸出與使用第i次迭代后模型的輸出之間的誤差,αi是每個模型的權重。迭代過程生成了M個模型,所有這些模型形成的集合為:

預測因子的線性組合表示為:

針對負荷預測問題,考慮由自變量Xtr和負荷ytr組成的訓練數據集,改進算法的步驟如下:
(1)參數定義。定義總體中迭代的總數為M,權重αi為常量為ytr。
(2)迭代生成模型。第一次迭代的模型為:


(3)從i=2到i=M,殘差按照下式進行迭代:

利用更新后的殘差計算出一個新的神經網絡模型:

更新過程使用在每個迭代中權值的估計值,只使用與目標輸出和訓練模型得到的輸出之間的差值相關的部分信息,可以防止過度擬合。
(4)在所有迭代結束時,每次迭代得到的所有神經網絡模型即為集合Ψ。

(5)在給定參數X的情況下,預測負荷以集成模型輸出的加權和的形式計算如下:

采用文獻[19]中的歷史小時溫度和負荷數據,這些參數是短期負荷預測的典型參數。訓練數據集由這些變量組成的數據向量構成,目標輸出與這些數據中給定時刻測量的電力負荷相對應。
表1為不同時段數對平均絕對誤差率的影響。對于大于500個時段數、大于20個節點和大于1個隱含層數時,性能沒有顯著提高。在300個或更多的時代,EMAP幾乎保持不變。隨著節點數的增加,EMAP減少,而當節點數超過20時,EMAP不再減少。此外,對于固定數量的節點,當隱含層從1增加到2時,EMAP的變化非常小。對于20個節點,1個隱含層的性能與10個節點,2個隱含層的性能相似。基于這些結果,選擇的ANN模型參數為500個時段數,1個隱含層包含20個節點。

表1 不同時段數對平均絕對誤差率的影響
不同迭代次數和訓練樣本大小對負荷預測精度的影響如表2~3所示。對于相同的迭代次數,隨著訓練樣本數量的增加,EMAP減小。樣本大于20 000時,對于每個樣本大小,25次迭代小于5次迭代的EMAP。隨著迭代次數增加,EMAP會有所減少并在最小值附近有一些波動。15 000個樣本時訓練樣本的大小不夠,在這種情況下,EMAP隨著迭代的增加而增加,因為在一定的迭代次數之后,會導致過度擬合。

表2 不同節點數和層數對平均絕對誤差率的影響

表3 不同樣本數和迭代數對平均絕對誤差率的影響
圖2為樣本數為25 000和35 000時平均絕對誤差率與迭代次數的關系。EMAP隨著迭代次數的增加而減小,特別是當迭代次數大于12次時,35 000個樣本時的EMAP小于25 000個樣本的。但差別較小且隨著迭代次數大于10次時EMAP變化較小,因此可以選擇樣本大小為25 000,迭代次數為10次。

圖2 樣本數對平均絕對誤差率的影響
選取文獻[19]中該地區2018年8月1日~9月1日的數據作為訓練樣本,預測10月1日~12日的小時負荷。將通過BooNN算法得到的平均絕對誤差率與現有的方法進行比較,包括袋裝神經網絡算法(BNN)、自回歸滑動平均算法(ARMA)、混合無監督神經網絡算法(HybANN)、基于典型日的小波神經網絡(SIWNN)。
圖3為與現有算法預測性能比較,BooNN的誤差率與ARMA、HybANN和SIWNN均有顯著性差異。雖然與BNN相比,其改進幅度較小,但BooNN在計算速度上更有優勢。BooNN的平均預測值為1.42%,ARMA、HybANN、BNN和SIWNN的平均預測值分別為2.21%、1.94%、1.47%和1.93%,說明BooNN具有更高的預測精度。

圖3 與現有算法預測性能比較
本研究提出了一種基于提升人工神經網絡(BooNN)的短期負荷預測方法。通過仿真,當計算輸出的模型個數大于或等于20時,可以獲得較低的預測誤差。通過與BNN、ARMA、HybANN和SI‐WNN的預測性能比較,進一步證明用BooNN得到的誤差更小,波動也更小。