應(yīng)張馳,陳淑萍,盧旭航
(國網(wǎng)浙江義烏市供電公司,浙江 義烏 322000)
電力負荷預(yù)測是電力系統(tǒng)規(guī)劃決策的重要依據(jù)之一。 負荷數(shù)據(jù)記錄了用戶對電能的消耗情況,反映了用戶生產(chǎn)生活規(guī)律。在新的發(fā)展形勢下,提出更為精確的負荷預(yù)測方法對電力系統(tǒng)安全生產(chǎn)和優(yōu)質(zhì)服務(wù)有著非常重要的意義。
目前流行的負荷預(yù)測方法主要有經(jīng)典時間序列法、指數(shù)平滑法、人工神經(jīng)網(wǎng)絡(luò)法、模糊預(yù)測法、支持向量機、專家系統(tǒng)、灰色模型等[1-7]。這些預(yù)測方法都具有各自的優(yōu)缺點,比如傳統(tǒng)算法運算量較小,但擬合能力不足;ARIMA(自回歸移動平均)方法建模能力非常優(yōu)秀,但由于其只考慮歷史數(shù)據(jù)的變化而不直接考慮其他因素對時間序列的影響,預(yù)測精度存在提升空間;支持向量機具有計算速度快、全局最優(yōu)和泛化能力強的優(yōu)點,但對模糊現(xiàn)象的處理能力較為缺乏[8];人工神經(jīng)網(wǎng)絡(luò)對多源信息具有較強的學(xué)習和自適應(yīng)功能,但也存在著網(wǎng)格結(jié)構(gòu)難以確定、收斂緩慢等缺陷[9]。
用戶對電能的消耗除了受自身生活規(guī)律影響以外,也受周邊環(huán)境、事件等因素影響。隨著智能電網(wǎng)的發(fā)展,更多智能化設(shè)備的引入為電力系統(tǒng)狀態(tài)監(jiān)控和預(yù)測提供了更多借鑒信息??紤]到ARIMA 對時間序列的良好建模能力,以及人工神經(jīng)網(wǎng)絡(luò)對多源信息的強大利用效率,本文將兩者相結(jié)合,提出一種基于ARIMA 和人工神經(jīng)網(wǎng)絡(luò)的混合預(yù)測模型,首先利用ARIMA 模型得到時間序列預(yù)測值,再將預(yù)測值及其他多源信息送入神經(jīng)網(wǎng)絡(luò)模型中進行訓(xùn)練,以期取得更好的預(yù)測效果。
ARIMA 模型是由Box 和Jenkins 提出的一種時間序列建模方法,分為AR(自回歸過程模型)與MA(移動平均過程模型)兩大類。兩者都是預(yù)測未來數(shù)據(jù)的方法,但前者以原序列滯后變量為依據(jù),后者以過去的誤差項為依據(jù),2 種方法同時使用,就轉(zhuǎn)化為ARIMA(自回歸移動平均模型)。由于構(gòu)建ARIMA 模型要求時間序列平穩(wěn),對于非平穩(wěn)時間序列,一般經(jīng)過若干次差分計算后轉(zhuǎn)化為平穩(wěn)時間序列后再進行建模[10]。理論上,對于序列yt的ARIMA 建模數(shù)學(xué)描述為:
式中:Δdyt為yt經(jīng)d 次差分轉(zhuǎn)換后得到的平穩(wěn)時間序列,將其表達為由若干歷史數(shù)據(jù)和誤差值組成的相關(guān)函數(shù);εt為t 時刻的隨機誤差,具體為相互獨立的白噪聲序列;?i和θj為模型參數(shù);p和q 為模型階數(shù)。模型整體簡記為ARIMA(p,d,q)[12]。
ARIMA 模型建模步驟可以分為以下步驟:
(1)序列平穩(wěn)化。通過若干次差分運算,將非平穩(wěn)時間序列轉(zhuǎn)換為平穩(wěn)時間序列。
(2)模型階數(shù)識別。通過樣本自相關(guān)系數(shù)和偏相關(guān)系數(shù),確定模型階數(shù)p 和q,一般來說,相關(guān)系數(shù)衰減幅度大時從p=1 和q=1 開始逐步擬合,當衰減幅度小時,從較大的p,q 取值開始擬合。
(3)參數(shù)估計和模型檢驗。按照模型評價指標對模型進行評價,并對殘差序列圖進行隨機性檢驗。
(4)模型預(yù)測。按照選取的參數(shù)模型對未來趨勢進行預(yù)測[13]。
人工神經(jīng)網(wǎng)絡(luò)是目前人工智能領(lǐng)域的研究熱點,在負荷預(yù)測領(lǐng)域被廣泛使用。神經(jīng)網(wǎng)絡(luò)由大量神經(jīng)元相互連接構(gòu)成,每個節(jié)點代表一次函數(shù)運算。通過節(jié)點間的相互作用,神經(jīng)網(wǎng)絡(luò)可以完成對時間序列或函數(shù)的擬合逼近工作。
本文使用主流的BP(反向傳播)人工神經(jīng)網(wǎng)絡(luò)來構(gòu)造預(yù)測模型。多層BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,它是一種單向傳播的多層學(xué)習網(wǎng)絡(luò),其中第1 層稱為輸入層,最后一層(第L 層)被稱為輸出層,其它各層均被稱為隱含層。其主要特點是信號向前傳遞,誤差向后傳播,從而不斷調(diào)節(jié)神經(jīng)元的權(quán)重值,最終使誤差函數(shù)減小到某個閾值,得到最優(yōu)擬合結(jié)果。神經(jīng)網(wǎng)絡(luò)具有較強的學(xué)習能力和非線性映射能力[14]。
圖1 BP 神經(jīng)網(wǎng)絡(luò)示意
BP 神經(jīng)網(wǎng)絡(luò)算法基于梯度下降法提出[15]。設(shè)網(wǎng)絡(luò)共L 層,第l 層神經(jīng)元個數(shù)為nl,l-1 層第i個神經(jīng)元和l 層第i 個神經(jīng)元的連接權(quán)值為,l-1 層第j 個神經(jīng)元輸出為,f 為激活函數(shù),則l 層輸出為:
任意設(shè)置網(wǎng)絡(luò)的初值和權(quán)值,對輸入樣本p,網(wǎng)絡(luò)輸出opi和期望輸出dpi的誤差E 為:
進而得到權(quán)值修正公式為:
式中:η 為學(xué)習速度,用于加快網(wǎng)絡(luò)收斂速度;δjp為第l 層j 節(jié)點的模式誤差項。神經(jīng)網(wǎng)絡(luò)根據(jù)上述公式進行迭代計算,直至誤差滿足要求。
本文以某企業(yè)2018 年1 月1 日—2018 年7月30 日的日平均負荷作為預(yù)測樣本。按照建模步驟,首先對歷史負荷數(shù)據(jù)進行預(yù)處理,再對負荷數(shù)據(jù)時間序列及其差分序列進行ADF(單位根)檢驗,選擇顯著性水平為1%,檢驗結(jié)果如表1所示。由表1 可知,某企業(yè)歷史負荷數(shù)據(jù)原始序列非平穩(wěn),一階和二階差分序列平穩(wěn)。由于差分階數(shù)增加會導(dǎo)致預(yù)測誤差增大,故選取一階差分序列進行后續(xù)預(yù)測。
表1 時間序列各階ADF 檢驗結(jié)果
對時間序列相關(guān)系數(shù)進行分析,其衰減速度較快,所以從較小的p,q 值開始擬合。使用遍歷方法構(gòu)造ARIMA 模型,選取綜合評價指標最高的模型,對2018 年8 月1—20 日的負荷數(shù)據(jù)進行預(yù)測。 研究中發(fā)現(xiàn),模型準確率為94.60%,ARIMA 構(gòu)造方法準確擬合了該企業(yè)負荷趨勢,但在精確度上仍稍顯不足。進而使用BP 神經(jīng)網(wǎng)絡(luò)對其進行混合預(yù)測分析。
3.2.1 變量輸入
神經(jīng)網(wǎng)絡(luò)搭建過程中,首先需要確定輸入變量。根據(jù)資料和工作經(jīng)驗,列舉可能影響負荷數(shù)據(jù)的因素,歸納為以下3 個維度[16]。
(1)用戶基礎(chǔ)信息。此類信息直接反映用戶的基本屬性,包括使用年限、電壓等級、受電容量等。
(2)氣象信息。氣象信息一定程度上關(guān)系到用戶用電強度情況,如企業(yè)季節(jié)性訂單等。從電力氣候?qū)W角度,選擇最高溫度、最低溫度、風力、濕度、天氣信息作為輸入變量。
(3)用戶歷史數(shù)據(jù)。本文以天為預(yù)測單位,包括過去14 天的負荷平均值,以及預(yù)測日工作日信息等。
輸入變量如表2 所示。
表2 輸入變量清單
3.2.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)收集完成后,需要對數(shù)據(jù)進行預(yù)處理。主要包括以下方式:
(1)對不一致、異常波動的數(shù)據(jù)進行替換。異常波動定義為t 時刻點的數(shù)據(jù)值超出t-1 與t+1數(shù)據(jù)值100%以上或低于30%。用t-1 和t+1 時刻的數(shù)據(jù)平均值進行填補。
(2)數(shù)據(jù)編碼。觀察表2 數(shù)據(jù)集,其中電壓等級、受電容量、用電類別、天氣類別4 項特征為因子型變量,其他特征為數(shù)值型變量。部分數(shù)據(jù)編碼如表3 所示。
表3 部分天氣數(shù)據(jù)編碼情況
按照表3 所示,本文將天氣數(shù)據(jù)分為晴、多云、陰、雨4 類,使用同種思路對其他3 項特征進行編碼,其中電壓等級分為220 V,380 V,10 kV 3 類;用電類別分為大工業(yè)電價、一般工商業(yè)電價、居民電價、農(nóng)業(yè)生產(chǎn)用電4 類;受電容量按10 kW 以下,10~50 kW,50~400 kW,400 kW以上分為4 類,共15 個因子型輸入。數(shù)值型變量包括使用年限、最高溫度、最低溫度、平均濕度、風力等級、14 天歷史負荷、上月同期負荷、工作日標簽、預(yù)測日ARIMA 預(yù)測值共22 條。綜上所述,輸入神經(jīng)元數(shù)量總數(shù)為37 個。
(3)數(shù)據(jù)歸一化。數(shù)值型變量的量綱與量級不一致,因此使用0-1 標準化的方式進行歸一化處理。
本文選擇使用38×64×1 的全連接3 層BP 神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,訓(xùn)練函數(shù)采用trainlm 函數(shù),隱含層神經(jīng)元函數(shù)采用tansig 函數(shù),輸出層神經(jīng)元函數(shù)采用purelin 函數(shù)。通過不斷調(diào)整迭代次數(shù)、學(xué)習率參數(shù)和收斂誤差參數(shù),最終建立的混合預(yù)測模型準確率為96.13%。各負荷預(yù)測模型結(jié)果如圖2 所示。
圖2 負荷預(yù)測模型擬合結(jié)果
由圖2 可知,混合預(yù)測模型更接近實際負荷;ARIMA 對時間序列趨勢描述較好,但精度較低,這主要是由于該模型無法引入外部信息,進而無法量化外部擾動產(chǎn)生的誤差;神經(jīng)網(wǎng)絡(luò)在負荷均值附近表現(xiàn)良好,但在低谷處表現(xiàn)不佳,這主要是受限于網(wǎng)絡(luò)訓(xùn)練樣本不足,考慮在避免過擬合的情況下,適當增加每日負荷取點數(shù)量。
3 種方法的日負荷預(yù)測結(jié)果相對誤差,如表4 所示,進一步顯示了混合預(yù)測的優(yōu)勢??梢钥闯?,在大部分日期,混合預(yù)測的相對誤差較小,平均比ARIMA 預(yù)測誤差率減少1.53%,比神經(jīng)網(wǎng)絡(luò)預(yù)測誤差率減少2.85%。
表4 某企業(yè)日負荷預(yù)測結(jié)果相對誤差對比
基于負荷混合預(yù)測模型成果,在某市隨機選擇100 戶受電容量大于315 kVA 的工業(yè)用戶,按照10 天、20 天、30 天的時間跨度對其2018 年8月負荷數(shù)據(jù)進行預(yù)測,并與單獨使用ARIMA 和神經(jīng)網(wǎng)絡(luò)方法進行比較。3 種預(yù)測方法的整體結(jié)果如表5 所示,可以看出,使用混合預(yù)測模型的誤差明顯低于單獨使用ARIMA 和神經(jīng)網(wǎng)絡(luò)方法的預(yù)測誤差??梢哉J為,采用此方法進行負荷預(yù)測是可行的。同時發(fā)現(xiàn),當預(yù)測時長在30 天以上時,預(yù)測誤差將迅速超過10%,開展中期負荷預(yù)測需要對特征值進行重新選擇。
表5 不同模型平均預(yù)測誤差比較
本文提出了一種基于ARIMA 和神經(jīng)網(wǎng)絡(luò)的日負荷預(yù)測方法。首先利用ARIMA 優(yōu)秀的時間序列建模能力擬合時間序列整體趨勢,再利用神經(jīng)網(wǎng)絡(luò)的非線性擬合能力提升細節(jié)精度,取長補短,將盡可能多的用戶信息組合到預(yù)測模型當中,提升了預(yù)測穩(wěn)定性和準確度。實驗結(jié)果表明,利用該混合預(yù)測模型進行預(yù)測時,20 天整體預(yù)測準確率達到96.20%,效果良好。通過本算法思路可以拓展得到全網(wǎng)、各市縣(區(qū)域)、各行業(yè)乃至居民用戶的未來負荷數(shù)據(jù),有助于更加準確地把握各區(qū)域(行業(yè)、用戶)發(fā)展情況,輔助供電企業(yè)進行決策。
本文研究對象主要為工業(yè)用戶。工業(yè)用戶一般都具有較為明顯的周期性特征,在ARIMA 建模方面有天然優(yōu)勢。 隨著新能源技術(shù)的日益完善,光伏用戶數(shù)量不斷增多。光伏用戶不受工作日影響,而受氣象因素影響更大,與普通工業(yè)用戶屬性有較多不同。在以后的研究中,可以采用聚類算法[18]對不同屬性用戶分別建立預(yù)測模型,以期獲得更好的預(yù)測效果。