樊新啟
(三峽大學 電氣與新能源學院,湖北 宜昌 443000)
灰色預測是灰色系統理論的重要組成部分。在灰色預測中,應用最廣泛的是鄧聚龍提出的GM(1,1)模型[1],被稱為傳統 GM(1,1)。文獻[2]在傳統 GM(1,1)的基礎上提出了灰色預測的無偏GM(1,1)模型。無偏灰色模型的性能普遍優于傳統GM(1,1)模型[2,3],但隨著發展系數的增大,性能逐漸變差[4]。受到基于PSO(Particle Swarm Optimization)優化的灰色模型[5]的啟發,本文結合粒子群算法,針對無偏GM(1,1)進行優化,結果顯示優化后的無偏 GM(1,1)的精度有明顯改善。
以上標“(0)”表示原始序列,上標“(1)”表示累加生成序列,GM(1,1)的建模與預測的步驟如下:
(1)給定原始序列:

(2)對原始序列作累加生成:

顯然有:

(3)建立相應的微分方程為:

式中,a稱為發展灰數;b稱為內生控制灰數;將公式中的微商用差商代替,并用兩點的平均值代替x(1),有:

(4)引入向量Y=[x(0)(2),x(0)(3),…,x(0)(n)]T
以及矩陣

顯然應使VTV取極小,由此作參數a、b最小二乘估計:


(6)建立原始數據序列模型

粒子群優化算法是由Kennedy和Eberhart于1995年提出[6,7],其源于對鳥群捕食的行為研究。PSO同遺傳算法類似,是一種基于迭代的優化算法。系統初始化為一組隨機解,通過迭代搜尋最優值,但是它沒有遺傳算法用的交叉以及變異,而是粒子在解空間追隨最優的粒子進行搜索。
PSO中,每個優化問題的解都是搜索空間中的一只鳥,我們稱之為“粒子”。所有的粒子都有一個由被優化的函數決定的適應值(fitness value),每個粒子還有一個速度決定它們飛翔的方向和距離,然后粒子們就追隨當前的最優粒子在解空間中搜索。
PSO初始化為一群隨機粒子,然后通過迭代找到最優解。在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己。一個就是粒子本身所找到的最優解,這個解叫做個體極值pbest,另一個極值是整個種群目前找到的最優解,這個極值是全局極值gbest。
設初始群體的大小為N,維度為M的空間中第i個粒子的位置和速度可分別表示為:

評價每個粒子的適應值,確定每一個粒子所經過的最佳位置pbest以及群體所有粒子中所經過的最佳位置gbest,分別記為:

選取f(x)為所求適應值,在k次迭代中更新迭代中個體的最佳位置。

則群體中所有粒子所經過的最佳位置為

在粒子群優化算法的k次迭代中,各個粒子按照如下的公式來更新自己的速度和位置。

式中,w為慣性權因子,反應粒子先前速度的慣性大小。w值較大時,全局搜索能力強,收斂速度快;w值較小時,局部搜索能力強,解的精度高。w取值通常在0.1到0.9之間,本文采用Shi提出的線性遞減慣性權因子[8],隨著迭代次數的增加,為了增強局部搜索,w逐漸變小,最終從wmax變為wmin。具體公式為:

式中,Iter為當前迭代次數;Itermax為最大迭代次數;w為每次速度和位置更新時采用的慣性權因子。
c1和c2為學習因子,通常在0~2間取值。c1主要是為了調節微粒向自身最佳位置飛行的步長,c2是為了調節微粒向全局最好位置飛行的步長。r1和r2是在[0,1]上兩個相互獨立的隨機數。
步驟一:設置算法的參數,隨機初始化群體的位置和速度;
步驟二:選取目標函數,評價各個粒子的適應值,將各個粒子的位置和適應值存于pbest,將pbest中最佳的位置和適應值存于gbest中;
步驟三:根據公式更新群體中所有粒子的速度和位置;
步驟四:重新評價所有粒子的適應值;
步驟五:將所有粒子當前的適應值與pbest比較,若當前適應值更優,則存入pbestt中進行更新;
步驟六:將當前所有的pbest和原有的pbest比較,若有優于原有gbest的,存入gbest,進行更新;
步驟七:若滿足精度要求或者達到最大迭代次數,輸出gbest及其適應值并且停止迭代,否則返回步驟三。
優化后的GM(1,1)模型通過PSO直接對參數和進行求解,得到負荷預測模型。避免背景值取的不當而造成的誤差。算法流程如圖1所示。

圖1 優化無偏GM(1,1)模型結構
流程如下:
步驟一:將無偏 GM(1,1)模型的和看作群體中的粒子,n個粒子就有n個和,記為:

步驟二:選取目標函數。以模型與實際負荷的誤差平方和最小為目標函數。

式中,N為實際負荷中的個數;Yj表示第j個負荷值;j表示優化后的GM(1,1)中對應的負荷值;
步驟三:初始每個粒子的位置和速度;
步驟四:評價每個粒子的適應值;
步驟五:得到每個粒子的pbest和總體的gbest;
步驟六:利用2.1節所給公式更新各個粒子的位置和速度;
步驟七:若滿足精度要求或者達到最大迭代次數,輸出gbest及其適應值并且停止迭代,否則返回步驟三。
步驟八:將得到的和代入優化后的無偏GM(1,1)模型中。

為驗證該方法的有效性,本文選取了文獻[5]中四種具有代表性的負荷序列對無偏GM(1,1)和基于PSO優化的GM(1,1)進行考核。負荷數據如表1所示,如圖2可知負荷1、負荷2以及負荷3的數據都趨于指數函數,但增長率不一,負荷4呈非單調增長趨勢。選取表1的四種負荷作為原始負荷數據得到無偏GM(1,1)模型和基于PSO優化的 GM(1,1)模型,分別對兩種模型進行驗差的檢驗,結果如表2所示。
后驗差比值c,即:真實誤差的方差同原始數據方差的比值。c值越小,精度越高。

表1 測試負荷數據

圖2 四種負荷曲線
分別用兩種模型進行預測,參數設置:
粒子數N=40,wmin=0.4,wmax=0.9,c1=c2=2。結果如表2。

表2 仿真結果
采用PSO對無偏灰色模型的參數和直接進行求解,來構建優化后的無偏灰色模型,提高了模型的擬合和預測精度。將優化后的GM(1,1)應用于增長規律不同的四種電力負荷的預測問題中,預測精度優于原有的無偏GM(1,1)。不僅適用于變化平穩的歷史負荷序列和增長率大的負荷序列,也適用于非單調增長的負荷序列。
擴展了無偏GM(1,1)的適用性,具有一定的理論意義和使用價值。
[1] 鄧聚龍.灰色預測與決策[M].武漢:華中科技大學出版社,1988.
[2] 吉培榮,黃巍松,胡翔勇.無偏灰色預測模型[J].系統工程與電子技術,2000,22(6):6-7.
[3] 吉培榮,黃巍松,胡翔勇.電網負荷預測的無偏灰色預測模型[J].三峽大學學報,2001,23(1):59-62.
[4] 鄭文琛,吉培榮,羅賢舉.改進無偏GM(1,1)模型及其在中長期電力負荷預測中的應用[J].繼電器,2008,36(5):41-43.
[5] 周在陽,周步祥,詩玉東,鄭海濱.基于粒子群優化的電力負荷灰色預測模型[J].四川電力技術,2009,32(1):32-35.
[6] Kennedy J,Eberhart R C.Particle swarm optimization[C].Proceeding of IEEE International Conference on Neural Networks.Perth,Australia,1995:1942-1948.
[7] Eberhart R C,Kennedy J.A new optimizer using particle swarm theory[C].Proc.6th Int.Sysposium on Micro Machine and Human Science.Nagoya,Japan ,1995:39-43.
[8] Shi Y,Eberhart R C.Fuzzy adaptive particle swarm optimization[C].Proceedings of the IEEE CEC,2001:101-106.