朱健安,魏云冰,朱鵬杰,蔣成成,朱成名
(1.上海工程技術大學 電子電氣工程學院,上海 201620;2.鄭州輕工業大學 建筑環境工程學院,河南 鄭州 450000)
近年來,隨著人民生活質量不斷提高和宏觀經濟的發展,人們對電能的需求也越來越大,很多地區的年度負荷都大幅增長。為了更好地保證電力供需平衡和電網的安全運行,中長期負荷預測顯得尤為重要。中長期負荷預測方法研究可分為傳統的經典預測算法和現代預測算法[1]。傳統的經典預測算法以時間序列分析法為代表,例如回歸分析法、趨勢外推法、灰色預測法等。文獻[2]采用時間序列分析法對負荷進行預測,取得了不錯的效果。雖然傳統的時間序列法運算量小且運算速度快,但其不具備自適應學習能力,預測誤差也比較大。文獻[3~5]采用灰色模型進行預測。傳統灰色模型對數據數量要求不高,但對數據質量要求比較高,因此對遞增式數據預測的效果更好。近年來,隨著人工智能技術的興起,出現了以神經網絡、支持向量機、小波分析為主的現代預測算法。文獻[6~9]采用神經網絡提高了負荷預測的精度,但神經網絡算法需要大量的數據,也較容易陷入局部最優。文獻[10~13]通過支持向量機算法對負荷進行預測,取得了一定的效果,但該方法對于多分類問題仍有局限性。
本文提出了一種改進粒子群優化的灰色傅里葉殘差修正模型。首先對原始數據進行三點平滑法的預處理,減弱數據中異常值對預測的影響。灰色模型有效解決了原始數據不足的問題。然后通過改進粒子群算法對灰色模型中的參數適當優化提高預測精度。最后,通過傅里葉變換對殘差的修正進一步提高了預測精度,并取得了理想的預測效果。
粒子群算法(Particle Swarm Optimization,PSO)是一種智能群體全局最優化的算法。PSO算法來源于鳥類群體捕食行為的研究,于1995年被首次提出。群體里的每個個體實時交流共享發現食物的位置,即為問題的最優解。其中任意一個個體就是問題的一個隨機解,本文稱其為一個“粒子”。不同問題具有不同的適應值函數(目標函數),每個粒子都有其自身的適應值,且適應值的大小由問題的適應值函數決定。每一個粒子也都有其自身所在的位置和飛行速度以及飛行方向。每個粒子會按照一定的公式不斷更新自身的位置和速度(矢量),直至滿足最終的終止條件。每次迭代過程中,每一個粒子都有一個其自身經過的最佳位置pbest和所有粒子經過的最佳位置gbest。最終經過比較找到位置最佳的那個粒子即為問題的全局最優解。具體建模過程如下文所述。
PSO優化算法中,首先初始化一群粒子的位置與速度。假設粒子群的初始群體大小為N,在S維空間中第i個粒子的速度和位置分別如式(1)和式(2)所示。
Di=[di1,di2,…,diS]
(1)
Vi=[vi1,vi2,…,viS]
(2)
通過粒子的適應值大小判斷,來確定某一時刻每一個粒子所經過的最佳位置pbest和所有粒子經過的最佳位置gbest,分別表示為Oi(個體極值)和Og(全局極值),如式(3)和式(4)所示。
Oi=[oi1,oi2,…,oiS]
(3)
Og=[og1,og2,…,ogS]
(4)
設目標函數為f(x),故粒子i的最佳位置為
(5)
全部粒子所經過的全局最佳位置為
(6)
PSO算法每迭代一次,粒子的位置和速度都根據式(7)和式(8)更新一次,直到滿足終止條件為止。
Vij(t+1)=ω(t)Vij(t)+c1rand(·)(Oij-Dij(t))+
c2rand(·)(Ogj-Dij(t))
(7)
Dij(t+1)=Dij(t)+Vij(t+1),
i=1,2,…,N;j=1,2,…,S
(8)
式(7)和式(8)中的w為慣性因子;rand()為(0,1)之間的隨機數;c1、c2為取值(0,2)之間的學習因子;Dij(t)為第i粒子第t次迭代的位置。
PSO算法由于其具有概念簡單、參數較少、易于實現的特點,在預測中被廣泛應用。但PSO算法的收斂速度不佳且容易陷入局部最優。為了解決這個問題,本文提出了改進的PSO算法,即RWPSO。如式(9)和式(10)所示,改進的PSO算法將慣性因子在一定范圍內隨機取值,且去掉隨機參數rand(·)。RWPSO算法降低了粒子的收斂速度,保持了粒子活性和算法的多樣性。
Vij(t+1)=ω(t)Vij(t)+c1(Oij-Dij(t))+
c2(Ogj-Dij(t))
(9)
c1+c2>2(ω+1)
(10)
w(t)為慣性因子,是一定范圍內的隨機值,具體如式(9)所示。這樣粒子速度既可以收斂又可以發散,保證了種群的多樣性。
年度負荷原始數據具有一定的離散性,在原始數據進行灰色預測之前對數據進行一定的平滑處理可以有效降低噪聲對原始數據的干擾,并增加原始數據的魯棒性[14-18]。本文采用三點平滑法對數據進行預處理,其具體過程如下文所述。
設原始數據為X(0)=(x(0)(1),x(0)(2),…,
x(0)(n)),其中,x(0)(k)≥0,k=1,2,…,n。
(11)
其中,m=2,3,…,n-1。
兩端數據單獨處理為
(12)
(13)
原始數據經過三點平滑法的處理,降低了隨機因素的影響。
灰色系統于1982年提出,該系統為部分信息已知、部分信息未知的系統。灰色系統通過已知信息建立微分方程模型,該微分模型統稱為灰色模型,其建模過程如下文所述。
設原始數據為X(0)=(x(0)(1),x(0)(2),…,
x(0)(n)),其中x(0)(k)≥0,k=1,2,…,n;X(0)一次累加序列形成X(1),X(1)=(x(1)(1),x(1)(2),… ,x(1)(n)),其中
(14)
其中,k=1,2,…,n。
對新序列X(1)建立微分方程

(15)
式中,a為發展系數,反映x(1)和x(0)的發展態勢;u為內生控制灰數(亦稱灰色作用量)。用最小二乘法確定參數a和u
[a,u]T=(BTB-1)BTY
(16)
其中,Y和B分別為
(17)
(18)
解微分方程得
(19)
其中,k=1,2,…,n。
對x^(0)(k+1)在經過累減運算,即

(20)
其中,k=1,2,…,n。
可得到原始負荷序列x(0)的預測值為
(21)
預測值與實際值的相對誤差為式(22)。
(22)
改進粒子群算法通過優化式(15)中發展系數a的最佳值來對灰色模型進行改進,以提高預測的精度。在該算法中,每個粒子代表了模型中的發展系數a的一個候選解an。粒子根據種群信息和個體信息在搜索空間中更新自身飛行速度和位置。在數次迭代后,最終找到一個發展系數a的最佳值,其流程如圖1所示。

圖1 改進粒子群優化的灰色模型流程圖Figure 1.Flow chart of the grey model of RWPSO
具體步驟如下:
步驟1輸入原始負荷序列到灰色模型中,為預測做準備;
步驟2初始化。隨機產生N個粒子,對粒子的初始位置及初始速度進行設定;
Di=[ai,ui],i=1,2,…,N
(23)
Vi=[vi1,vi2],i=1,2,…,N
(24)
步驟3適應值計算。利用不同的a求出不同的預測值,代入目標函數式(25)中求出適應值;
(25)
步驟4根據位置計算式式(7)和速度計算式式(9)對粒子的位置和速度不斷更新;
步驟5判斷是否滿足迭代的終止條件(是否大于最大迭代次數M)。若滿足則輸出最終的gbest和pbest,得到參數a的最佳值;否則返回步驟3;
步驟6將參數a的最佳值帶入灰色模型求出預測值。
在電力系統中長期負荷預測的過程中,原始負荷數據往往有一定的離散性,這時用優化的灰色模型就會產生較大的誤差。為了解決這個問題,本文提出了用傅里葉殘差修正的方法對誤差進行修正。
傅里葉殘差修正是通過傅里葉變換對灰色模型預測數據的誤差進行修正。傅里葉級數是一種有規律的周期性變化函數,具有消除隨機噪聲的作用。利用傅里葉變換對誤差進行修正,可以有效削弱年度負荷原始數據中的噪聲,進一步提高灰色模型在中長期負荷預測中的精度。具體修正過程如下:

(2)根據灰色模型的預測值和原始數據求出誤差序列ε(k)=[ε(1),ε(2),…,ε(n)] ;
(3)將誤差ε(k)用傅里葉變換表示為
(26)
(27)
(28)
k=2,3,…,n
(29)
式中,T=n-1;N=[(n-1)/2-1];c0、cn、bn(n=1,2,…,N)為常數,又稱其為傅里葉系數。將其整理為矩陣形式
E≈PC
(30)
其中

(31)
式中,E=[ε(1),ε(2),…,ε(n)]T為誤差向量;C=[c0,c1,b1,…,cN,bN]T為傅里葉系數向量。由最小二乘法可得
C?(PTP)-1PTE
(32)
(4)經過傅里葉修正的電力系統負荷預測為
(33)

改進粒子群優化的灰色傅里葉殘差修正電力負荷預測模型(FR-RWPSO-GM(1.1))的具體流程如圖2所示。

圖2 粒子群優化的灰色-傅里葉殘差修正預測模型Figure 2.Gray-Fourier residual correction prediction model of PSO
該模型對中長期負荷預測的具體步驟如下:
步驟1初始化RWPSO算法中的參數(粒子數量、粒子的位置、速度和適應值),并確定最大迭代次數;
步驟2用三點平滑法對原始數據進行預處理;
步驟3將預處理過后的數據輸入GM(1.1)進行預測,并通過RWPSO算法求出最優的發展系數a;



以浙江省某地區2001~2018年的年度負荷為例,將2001~2012年這12年的實際年度負荷作為基礎數據對2013~2018年的負荷數據進行預測。原始負荷數據如表2所示。

表1 浙江某地區2001~2018年原始負荷數據Table 1. 2001~2018 raw load data in a certain area of Zhejiang

圖3 2001~2018年浙江某地區原始負荷Figure 3.The original load of a certain area in Zhejiang from 2001 to 2018
用三點平滑法對前12年原始負荷數據進行預處理,得到的數據如表2所示。

表2 預處理后的負荷數據Table 2. Load data after preprocessing
由圖4可知,經過三點平滑法處理后的數據更加接近于線性關系。

圖4 2001~2018年浙江某地區原始負荷及光滑處理后的數據Figure 4.The original load and smoothed data of a certain area in Zhejiang from 2001 to 2018
下面分別用灰色模型、數據平滑處理的灰色模型、數據平滑處理的粒子群優化的灰色模型、數據平滑處理傅里葉誤差修正的粒子群優化的灰色模型對2013~2018年6年的年度負荷數據進行預測。在粒子群算法中取粒子數N=50,學習因子c1、c2取2,迭代次數M取200。預測結果如表3所示。

表3 2012~2018年浙江某地區年度負荷預測結果Table 3. Annual load forecast results of a certain area in Zhejiang from 2012 to 2018

圖5 2012~2018年浙江某地區年度負荷預測結果Figure 5.Annual load forecast results of a certain area in Zhejiang from 2012 to 2018
由表3可知,粒子群優化的灰色傅里葉殘差修正的中長期負荷預測模型的預測值,比灰色模型、數據平滑處理的灰色模型、數據平滑處理的粒子群優化的灰色模型更接近預測值,預測精度更高。
本文通過粒子群優化灰色傅里葉殘差修正組合模型有效提高了中長期負荷預測的精度。原始數據經過三點平滑法的預處理,削弱了異常值對預測的影響。灰色模型通過粒子群算法進行參數優化,提高了灰色模型的預測精度,但預測精度仍不理想。采用傅里葉變換對誤差進行修正,有效提高了預測精度。
該組合模型解決了文獻[2~5]中時間序列分析法、灰色模型預測精度不足的問題,改善了文獻[6]協方差穩健模糊線性回歸分析法在處理縱向型數據時不夠理想的問題。對比于文獻[7~10]中的神經網絡算法,粒子群優化灰色傅里葉殘差修正組合模型不需要大量數據且不容易陷入局部最優。本文采用該模型對浙江省某地區的年度負荷進行預測,并與傳統的灰色模型以及優化后的灰色模型進行比較。預測結果表明,該模型對中長期負荷預測效果較為理想,具有一定的有效性和可行性。