楊首暉,陳傳彬,王雪晶,李慶偉,吳元林,陳 靜
(1.福建電力交易中心有限公司,福州 350003;2.國網信通億力科技有限責任公司,福州350003;3.福州大學 電氣工程與自動化學院,福州 350108)
負荷預測不僅對電網系統經濟可靠的運行起著極為關鍵的作用[1—2],而且在電力交易市場中也占據著十分重要的地位。精準的負荷預測對發電企業來說,有利于合理安排電網運行方式以及規劃電源建設,而對售電公司來說,有助于其在現貨市場的電量交易中實現利潤最大化,同時也可以為企業用戶做好節能等增值服務[3—4]。
負荷預測從規模上可以分為電網層級的負荷預測和用戶層級的負荷預測,對于售電公司,用戶層級的負荷預測更為密切與重要,但相比電網層級,用戶層級的負荷曲線存在多種因素的干擾,具有很大的隨機性且波動劇烈,不易預測[5]。傳統的負荷預測方法有很多,如回歸分析法[6]、模糊預測法[7]等。回歸分析法是根據歷史數據和負荷影響因子建立相應的回歸方程,通過確定模型參數來推斷將來時刻的負荷值,該方法的原理和結構簡單,預測速度快,但對復雜問題,無法描述多種影響因素,精度較低;模糊預測法可以很好地處理負荷預測存在的不確定性,但對歷史數據的要求高且精度也難以滿足要求。為克服這些問題,通常需要在原有算法的基礎上進行改進。文獻[8]提出一種改進的模糊回歸分析法,通過設置自適應的權值,將回歸分析法和模糊預測法進行合理的結合,有效地保留了2種方法的優點;文獻[9]也在經典的差分整合移動平均自回歸模型(autoregressive integrated moving average model,ARIMA)中加入了小波變換,來對負荷數據進行去噪,以此提高模型的預測精度。
相較于ARIMA模型,Holt-Winters模型的結構更加簡單且模型的參數可以通過進化算法進行尋優,故本文提出了一種基于離散小波變換和粒子群優化的季節性Holt-Winters模型的負荷預測方法。考慮到Holt-Winters模型對原始時間序列的平穩性要求較高,借助小波去噪將負荷變化劇烈的部分進行平滑處理,同時采用小波離散變換(discrete wavelet transform,DWT)將波動大的負荷序列轉為波動較小的小波系數。為進一步提高模型的預測精度,使用粒子群算法(particle swarm optimization,PSO)對Holt-Winters模型的參數進行尋優。為了檢驗模型的預測性能及適用范圍,本文對企業進行日負荷短期預測,將預測值和真實值的均方根誤差(root mean square error,RMSE)和平均絕對百分比誤差(mean absolute percentage error,MAPE)作為模型性能的評價指標,并與ARIMA模型的預測結果進行對比,從實驗結果可以看出,無論是算法耗時還是預測精度,本文所提的模型都要優于ARIMA模型。
基于離散小波變換和粒子群優化的季節性Holt-Winters模型的電力負荷短期預測的原理如圖1所示。整個預測過程可分為3大部分。首先將原始數據進行常規的數據預處理操作,過濾異常數據后,再利用小波去噪進一步對負荷數據做平滑處理,剔除潛在的噪聲干擾;然后將處理好的負荷數據進行離散小波分解,得到一個低頻分量和N個高頻分量,將這些分量對應的小波系數作為訓練樣本,配合PSO算法進行參數尋優,構建相應的Holt-Winters模型;最后根據測試集的分解序列確定模型的預測步長,以此對每個分量的小波系數進行預測,再將預測的所有小波系數進行重構就得到了預測的負荷序列。

圖1 基于DWT和PSO的Holt-Winters模型的日負荷預測原理圖Fig.1 The schematic diagram of daily load prediction based on Holt-Winters model of DWT and PSO
小波變換的思想同傅里葉變換相同,只是將基函數改為小波基。小波基具有2個參數,尺度因子和伸縮因子,分別影響著時間分量和頻率分量,因此,小波變換不僅能獲取頻率,還能定位到時間,從而在信號變換領域得到了廣泛的應用。
小波變換按處理方式可分為連續小波變換和離散小波變換,離散小波變換通常使用Mallat算法,該算法分為2個階段,第一階段對離散信號進行分解得到對應的小波系數,分解公式如式(1)所示;第二階段則是根據小波系數構建新的離散信號,新的離散信號相比原信號不僅保留了時間分量,還多了對頻率的描述,重構公式如式(2)所示

式(2)可以簡寫為

式中:Wφ(j,k)為第j層的小波系數,k為位置索引;φ(t)為小波函數;x(t)為原始信號;A j(t)為原始信號在第j層的低頻分量;D j(t)為第j層的高頻分量。圖2給出了DWT 3層分解的過程。

圖2 離散小波3層分解的示意圖Fig.2 Schematic diagram of discrete wavelet three-layer decomposition
因不同季節的環境溫度、濕度、日照、降雨量等氣象因子存在明顯不同,而用電負荷又容易受到這些氣象因子的影響,所以負荷數據是具有明顯的季節特征的時間序列[10]。Holt-Winters模型是建立在指數平滑法的基礎上,專門對具有季節性特征的時間序列進行預測的方法[11]。Holt-Winters模型不僅對歷史數據進行加權求和,還對數據的趨勢和季節特征進行加權求和。整個模型由3個指數平滑方程和一個預測方程組成[12],具體的公式見式(4)

式中:s i、t i、p i分別為原數據的水平特征、趨勢特征以及季節特征在第i個時間點的大小;α、β、γ分別為3個分量的阻尼因子,范圍在0~1之間;x i為數據在第i個時間點的實際值;h為觀察點到預測點的步長大小;l為季節分量的周期。
作為近幾年十分流行的進化算法,粒子群算法因其原理簡單,容易實現且收斂速度較快等優點,在模型參數優化領域已得到了廣泛的應用[13]。粒子的位置和速度更新公式如式(5)和式(6)所示

式中:vik、x ik分別為粒子i在第k次迭代的速度和位置;d為搜索空間的維度;Pbest ik為粒子i在第k次迭代時的個體最優解;Gbest k為整個種群在第k次迭代時的全局最優解;c1和c2為學習因子;w為慣性因子;rand1和rand2為介于[0,1]之間的隨機數。
本文將使用PSO算法來尋找Holt-Winters模型中季節參數l的最優值,算法的適應度函數為Holt-Winters模型的預測值與測試樣本真實值的平均絕對誤差,計算公式如式(7)所示



圖3 PSO算法的流程圖Fig.3 Flow chart of PSO algorithm
本次實驗采用的數據是某省企業2017年11月1日至2020年4月30日的電力日負荷數據,企業一天的用電數據采集頻率是0.25 h/次,故每天的負荷數據共96點。由于數據庫中的負荷數據是計量電能表經過多次傳輸后的結果,每次的傳輸過程都有可能出現意外因素從而影響最終數據的準確性。為減少這些數據對模型預測性能的影響,在進行實驗前需要先對原始數據進行預處理操作。
本文為保證預測結果的準確性,對數據集進行了3個方面的預處理操作:①過濾96點完全相同及存在負值的數據;②針對缺失數據,根據缺失的程度,采取不同的措施,本文將缺失占比達到20%及以上定義為嚴重缺失,對這類數據直接進行剔除,而對缺失量未達到20%的數據,借助線性插值法進行補全;③對于突變數據,本文采用3σ原則進行識別與處理,首先需要計算出每組數據的均值和標準差,然后篩選那些與均值的偏差大小超過標準差3倍的數據點,將這些數據定義為突變數據并進行刪除。經過上述的處理,可以得到企業的日負荷曲線,如圖4所示。

圖4 企業的日負荷曲線Fig.4 Daily load curves of enterprises
經過上面的預處理操作后,企業的負荷數據從889條降到864條,由圖4可知,該企業每年的春假時段日負荷曲線的波動范圍較小,但是存在顯著突變的部分,說明該企業受春節放假的影響,日負荷存在明顯的低谷,而其余時段則較為穩定。
根據原始數據得到的日負荷曲線比較曲折且存在較多的毛刺,為了讓模型在訓練時能更好地擬合輸入的負荷序列,利用小波去噪剔除負荷數據中的潛在噪聲。小波去噪的方式類似一個高通濾波器,因為信號的小波系數要比噪聲的大,故只需過濾低于某一閾值的小波系數,就能保證信號成分的存留,從而實現去噪功能。
去噪處理中閾值的選擇十分重要,只有選取一個合適的閾值才能保證在過濾噪聲數據的同時,保留正常數據。不同特點的負荷數據,閾值的選擇也不相同,將本文企業的去噪閾值設為0.5。經過小波去噪后的負荷曲線如圖5所示。可以看到,經過小波去噪后日負荷曲線的波動幅度、頻率都明顯減少,這使曲線顯得平滑,讓曲線整體的變化趨勢更加清晰,同時也留有一定程度的波動變化,保證了原數據的有效性。

圖5 小波去噪后企業日負荷曲線Fig.5 Daily load curve of enterprise after wavelet denoising
本文所提出的電力負荷短期預測的具體過程為:首先將原始數據分為訓練樣本和測試樣本,對訓練樣本進行離散小波分解,根據分解后得到的小波系數構建預測模型,設置模型的預測步長,每次只對測試樣本中前2條數據進行預測,然后將這2條實際數據歸入訓練樣本中,再以同樣的方式對后面的數據進行預測,直到預測出所有的測試樣本。模型預測的效果則使用RMSE和MAPE進行評價,具體的指標計算公式見式(8)和式(9)


模型的預測首先需要對經過小波去噪后的負荷數據進行離散小波分解。本文采取Daubechies8小波(簡稱db8)作為母小波,選擇分解的層數為3,圖6給出了經過分解后的企業小波系數,可以看到企業低頻分量的變化相較于原始負荷序列都相對平緩,企業的高頻信號隨著層數的增加,分量逐漸減少。

圖6 企業的各層小波系數Fig.6 Wavelet coefficients of each layer of enterprise
將分解后的各層小波系數作為訓練樣本構建Holt-Winters模型,本文在模型的訓練過程中使用PSO算法來對模型的參數進行優化,其中PSO算法的參數設置為:學習因子c1和c2都為2;權重w為0.8;種群規模N為40;算法的最大迭代次數Tmax為30。圖7給出了模型訓練過程中PSO算法的迭代曲線。

圖7 企業PSO算法的迭代曲線Fig.7 Iteration curve of enterprise in PSO algorithm
Holt-Winters模型根據輸入的預測步長輸出相應預測時刻的小波系數,將這些小波系數進行重構,得到預測的負荷曲線。本文選取2017年11月1日至2020年3月31日的負荷數據作為訓練集,把2020年4月的負荷數據作為測試集進行滾動預測。圖8給出模型的預測結果與實際負荷曲線的對比,從圖可以看出預測曲線可以很好貼合實際曲線中平緩的部分,而對于突變的部分,則會存在一定的偏離。根據式(8)和式(9)可分別計算出企業的RMSE值為178.76,MAPE值為2.55。

圖8 企業的負荷預測結果Fig.8 Load forecasting results of enterprise
本文所提的模型性能主要受2個因素的影響,第一個是Holt-Winters模型的參數,即3個平滑參數α、β、γ以及季節分量的周期l,其中平滑參數可在訓練Holt-Winters模型時采取自動優化來確定,而季節周期l,本文則是通過PSO算法來尋找最佳值。另一個因素是小波變換的分解層數,對于初始時間序列,選用3層的小波分解能進行更加精確的分析,本文在此基礎上對日負荷數據做了小波2層、3層、4層分解的對比實驗,以預測結果的RMSE值和MAPE值來確定企業的最佳分解層數,實驗結果如圖9所示。表1給出了對應的預測性能指標,根據表1的結果,可以看出當小波分解的層數為3時,模型的預測精度最好。

圖9 企業不同分解層數的預測對比Fig.9 Comparison of prediction of different decomposition layers of enterprise

表1 不同分解層數下企業的預測性能指標Table 1 The predictive performance indexes of enterprise under different decomposition layers
為檢驗PSO算法對Holt-winters模型的優化效果,用未結合PSO算法的Holt-Winters模型對同一數據進行預測,同時增加了在負荷短期預測算法中常用的ARMIA模型和二次指數平滑法作為對比算法。不同算法的預測結果如圖10所示,可以看到DWT+Holt-Winters算法和DWT+PSO+Holt-Winters算法的預測結果比較貼合實際曲線,尤其是經過PSO算法優化的模型從一開始就緊緊跟隨著實際曲線的變化趨勢,而相比之下,ARIMA算法和DWT+Holt算法的預測曲線則不能很好地跟隨實際負荷曲線的變化趨勢。表2給出了4種算法對同一測試數據所預測的性能指標,可以看出ARIMA模型的RMSE值和MAPE值最高,同時耗時也比DWT+Holt-Winters算法長,而DWT+PSO+Holt-Winters模型的RMSE值和MAPE值要明顯低于另外3種算法,雖然粒子群算法的尋優過程增加了模型訓練的用時,但以算法耗時較長換取模型的預測精度提高,這在實際的電力負荷中是值得的。

表2 不同算法預測下的性能指標Table 2 Performance indexes predicted by different algorithms

圖10 不同算法的企業負荷預測對比Fig.10 Comparison of load forecasting of enterprise with different algorithms
針對企業用戶日負荷具有波動劇烈、難以預測的問題,本文提出了一種基于離散小波變換和季節性Holt-Winters模型。根據離散小波變換中經典的Mallat算法將負荷序列進行分解與重構,將預測對象從負荷序列轉為小波系數,再借助結合粒子群算法的Holt-Winters模型對小波系數進行預測。根據實驗結果可以看出該模型的預測值具有與實際負荷相同的變化特征,說明該模型能對輸入的歷史數據信息進行特征提取,從而保證對未來時刻的負荷進行準確預測。D