侯勇嚴, 楊 澳, 郭文強, 張 棟, 師 帥
(1.陜西科技大學 電氣與控制工程學院, 陜西 西安 710021; 2.陜西科技大學 電子信息與人工智能學院, 陜西 西安 710021)
社會經(jīng)濟的快速發(fā)展及人類活動的日益頻繁,促進了電力需求的增長.龐大的電力需求帶動了全球發(fā)電業(yè)的蓬勃發(fā)展.僅在2020年,我國電源新增裝機容量達到19 087萬kW,其中,水電1 323萬kW、風電7 167萬kW、太陽能發(fā)電4 820萬kW[1].準確預測電力系統(tǒng)發(fā)電量對于經(jīng)濟投資具有重要指導意義[2-4].面對龐大的發(fā)電量,精準的電力需求預測為電力系統(tǒng)科學規(guī)劃與運行提供了重要依據(jù),預測精度千分之一乃至萬分之一的提升都會避免大量的資源浪費,產(chǎn)生巨大的經(jīng)濟效益.
在電力系統(tǒng)發(fā)電量預測方面,目前國內(nèi)外學者進行了大量相關(guān)研究.采用經(jīng)驗公式的傳統(tǒng)的發(fā)電預測方法,其預測的準確性和穩(wěn)定性都面臨較大的挑戰(zhàn).隨著預測算法在各個領(lǐng)域的研究與應(yīng)用,以及電子技術(shù)、計算技術(shù)的快速發(fā)展,為人們尋求更精確的工程問題求解提供了可能.研究人員提出了諸如基于統(tǒng)計的方法、機器學習、神經(jīng)網(wǎng)絡(luò)模型、混合模型等的多種預測模型,建立了多種因素條件下的非線性發(fā)電量模型,以提高發(fā)電量的預測精度.
文獻[5]針對短期發(fā)電量預測問題,采用回歸分析方法,利用排氣真空度、溫度、壓力和相對濕度等變量,建立了預測模型進行短期發(fā)電量預測.然而,這類基于數(shù)理統(tǒng)計的預測方法,往往需要根據(jù)經(jīng)驗近似地確定模型的階數(shù),不具備自適應(yīng)和自學習的能力,因此不能滿足工程實際需求.同樣,模型階數(shù)的確定困難也使灰色預測模型的使用受到限制.文獻[6]提出的支持向量機法,其決策函數(shù)只由少數(shù)的支持向量所確定,一定程度避免了“維數(shù)災(zāi)難”,但是其求解二次規(guī)劃將涉及高階矩陣的計算,對大規(guī)模訓練樣本難以實施.相較而言,采用神經(jīng)網(wǎng)絡(luò)的預測模型研究與應(yīng)用較為廣泛[7-8].文獻[9]基于神經(jīng)網(wǎng)絡(luò)深度學習研究成果,將長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用于電力系統(tǒng)運行參數(shù)的預測.但目前深度神經(jīng)網(wǎng)絡(luò)存在模型拓撲結(jié)構(gòu)復雜、網(wǎng)絡(luò)參數(shù)眾多等問題,加上其依賴先驗知識與專家經(jīng)驗的參數(shù)調(diào)整方法的隨機性,限制了其目前在工程實踐中的應(yīng)用[10].BP神經(jīng)網(wǎng)絡(luò)由于網(wǎng)絡(luò)拓撲結(jié)構(gòu)相對簡單,非線性映射能力較強,需要的建模樣本量相對較小,推理速度快,并且學習算法理論基礎(chǔ)較為成熟以及泛化和容錯能力較強等優(yōu)點,在工程實際中受到工程技術(shù)人員的青睞.然而,傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)存在著初始權(quán)值和初始閾值過于隨機的問題,后續(xù)參數(shù)訓練過程中容易陷入局部最優(yōu),導致網(wǎng)絡(luò)模型的預測精度較差.文獻[11]利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和初始閾值,使預測精度得到了一定的提高.對于更好的神經(jīng)網(wǎng)絡(luò)參數(shù)尋優(yōu)方法進行研究,以提升預測模型的精度,亟待深入展開.
本文提出一種利用灰狼優(yōu)化算法(Grey Wolf Optimization,GWO)[12]來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始值的方法.采用灰色關(guān)聯(lián)度對發(fā)電量特征數(shù)據(jù)進行關(guān)聯(lián)分析,確定出BP網(wǎng)絡(luò)模型的輸入層節(jié)點數(shù).然后,利用GWO最優(yōu)解搜索機制,擴大種群搜索范圍,有效防止了網(wǎng)絡(luò)訓練過程陷入局部最優(yōu),進而構(gòu)建出優(yōu)化后的GWO-BP預測模型,能提高電網(wǎng)短期發(fā)電量預測的精確性.
灰狼優(yōu)化算法是Mirjalili S等通過模擬自然界中的灰狼群的社會等級結(jié)構(gòu)和捕食獵物過程提出的一種新型元啟發(fā)式搜索算法[12].
灰狼是群居的肉食動物,而狼群對獵物的捕食過程可以被描述為:跟蹤、追趕和抓捕.灰狼種群中存在一定的社會分工.α狼擔任狼群中的領(lǐng)袖,負責捕食過程的決策;β狼是α狼的未來接任者,擔任組織的中堅,δ狼是狼群中的哨兵,聽從α狼和β狼的命令;狼群的最底層由多匹ω狼構(gòu)成.灰狼優(yōu)化算法的基本思想是:用狼群中每個個體狼的位置向量來代表要優(yōu)化的參數(shù),引入領(lǐng)導者策略來模擬狼群包圍、捕食獵物的過程,將理想的最優(yōu)參數(shù)值視為獵物的位置,完成參數(shù)優(yōu)化.
算法進化過程中,α、β和δ負責定位獵物的位置,并引導其他個體狼完成靠近.灰狼優(yōu)化算法的具體原理和步驟詳見文獻[12,13].通過狼群包圍和攻擊等行為,最終達到捕食獵物的目的,該算法主要過程可表示為[13]:
D=|C·Xp(t)-X(t)|
(1)
A=2ar1-a
(2)
C=2r2
(3)
(4)
式(1)~(4)中:D表示灰狼與獵物間的距離;Xp(·)表示獵物的位置向量;X(·)表示灰狼的個體位置向量;t為當前迭代次數(shù);A和C為群體協(xié)同系數(shù)向量;r1,r2是[0,1]之間的隨機數(shù);T為最大迭代次數(shù).
(5)
(6)
(7)
狼群個體與α、β和δ狼的距離由式(5)與式(6)確定,最后由式(7)計算出下一輪迭代時個體狼向獵物移動的信息.
分析可知,在灰狼優(yōu)化算法的過程中,灰狼在捕捉獵物時會識別獵物的位置,α狼比其他狼更有能力找到潛在獵物的位置,采用保存當前狼群中3只最佳的灰狼位置向量來分別代表α、β和δ狼的位置的策略,讓其他狼群成員根據(jù)最佳灰狼的位置來更新自己的位置.在模擬分散尋找獵物和聚集捕食獵物的過程中,GWO算法利用隨機的向量A來擴大灰狼搜索偏離獵物的范圍,達到全局搜索獵物的目標.GWO算法中另一個向量Ci在[0,2]之間隨機取值,從算法迭代初始到結(jié)束一直是隨機的,代表其可以隨機強化或者弱化獵物位置的影響.這種方法尤其是在后期的迭代過程中,可以使在遇到局部最優(yōu)時能跳出該區(qū)域,避免尋優(yōu)陷入局部最優(yōu).
基于對灰狼優(yōu)化算法的分析,本文將GWO領(lǐng)導者策略引入BP神經(jīng)網(wǎng)絡(luò)的參數(shù)尋優(yōu)過程,通過對初始權(quán)值和初始閾值的優(yōu)化和模型訓練,構(gòu)建發(fā)電量預測模型.
為了有效去除網(wǎng)絡(luò)模型特征量間的冗余,本文采用灰色關(guān)聯(lián)度對發(fā)電量特征數(shù)據(jù)進行關(guān)聯(lián)分析,確定出BP模型的輸入層節(jié)點數(shù),可有效簡化模型的結(jié)構(gòu)和訓練模型所需的樣本數(shù)量.
基于GWO-BP的短期發(fā)電量預測算法流程如圖1所示,主要包括以下步驟:
圖1 GWO-BP短期發(fā)電量預測算法流程
步驟1數(shù)據(jù)預處理.
對短期發(fā)電量原始數(shù)據(jù)進行歸一化.
步驟2判斷是否已構(gòu)建好預測網(wǎng)絡(luò).
若已構(gòu)建好優(yōu)化的預測網(wǎng)絡(luò),則執(zhí)行步驟11,用已有的網(wǎng)絡(luò)進行預測.否則,進入步驟3.
步驟3確定預測神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點.
利用灰色關(guān)聯(lián)度對發(fā)電量的數(shù)據(jù)集進行關(guān)聯(lián)分析,選取達到關(guān)聯(lián)度閾值θ的特征變量,并將其個數(shù)作為預測神經(jīng)網(wǎng)絡(luò)模型的輸入層節(jié)點數(shù)N0.
步驟4確定預測神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu).
確定預測神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),包括輸入層節(jié)點數(shù)N0、隱含層節(jié)點數(shù)Nn、輸出層節(jié)點數(shù)Nm.本文隱含層節(jié)點數(shù)取Nn=2xN0+1;輸出層節(jié)點數(shù)Nm取1,代表發(fā)電量的預測值.
步驟5設(shè)置GWO參數(shù).
(1)確定狼群中狼的個數(shù)K;
(2)確定最大迭代次數(shù)T;
(3)確定訓練終止條件;本文采用最大期望誤差值ε,即當最大迭代次數(shù)T未到達時,若相鄰兩次訓練結(jié)果的誤差小于ε,則訓練完成;
(4)確定權(quán)值、閾值的個體編碼的長度d,組成(1×d)維矩陣.其中:BP神經(jīng)網(wǎng)絡(luò)的權(quán)值w的個數(shù)為p=N0×Nn+Nn,閾值b的個數(shù)為q=Nn+Nm,d為GWO算法中個體編碼的長度,d=p+q.
步驟6產(chǎn)生狼群的位置向量X(X1,X2,…,XK),其中Xi是每只灰狼的位置向量(即個體編碼),其包含了BP神經(jīng)網(wǎng)絡(luò)全部的權(quán)值(w1,w2,…,wp)和閾值(b1,b2,…,bq).初始狼群的位置向量由公式(8)產(chǎn)生:
Xi=lb+r×(ub-lb)
(8)
式(8)中:X(灰狼的個體位置向量)對應(yīng)了BP網(wǎng)絡(luò)中的權(quán)值w和閾值b,X個體編碼的長度為權(quán)值個數(shù)和閾值個數(shù)之和,r為(K×d)維的[0,1]之間的隨機數(shù)向量;狼群位置的上界值ub和下界值lb在本文中分別取5和-5.
步驟7計算適應(yīng)度.
適應(yīng)度函數(shù)fit,由預測值與實際輸出值的誤差的絕對值之和確定,如公式(9)所示.
(9)
式(9)中:n為輸出層節(jié)點數(shù);Yi為節(jié)點i的實際發(fā)電量輸出值,Zi為節(jié)點i的發(fā)電量預測輸出值,R為常系數(shù).
步驟8狼群中灰狼位置向量的適應(yīng)度值更新.
計算從第一次迭代開始到目前為止適應(yīng)度最優(yōu)的三只灰狼信息,并保存為:
Gα=fitbest;Gβ=fitsecond;Gδ=fitthird
(10)
式(10)中:fitbest、fitsecond、fitthird分別代表本次迭代適應(yīng)度評分最高的三個位置向量.
更新對應(yīng)適應(yīng)度最優(yōu)的三只灰狼α狼、β狼、δ狼的位置向量:
Xα=Xbest;Xβ=Xsecond;Xδ=Xthird
(11)
然后通過公式(5)~(7)來計算下一次迭代后的新的狼群位置向量.
步驟9判斷是否達到優(yōu)化條件.
若迭代次數(shù)未到達T,且相鄰兩次訓練結(jié)果的誤差未小于ε,則返回步驟6;否則,輸出最優(yōu)的灰狼位置向量Xα,執(zhí)行下一步.
步驟10構(gòu)造GWO-BP神經(jīng)網(wǎng)絡(luò).
根據(jù)α狼的Xα,確定出優(yōu)化后的權(quán)值(w1,w2,…,wp)和閾值(b1,b2,…,bq),作為初始權(quán)值和初始閾值賦值給BP網(wǎng)絡(luò),完成GWO-BP神經(jīng)網(wǎng)絡(luò)的構(gòu)造.
步驟11短期發(fā)電量預測輸出.
將已有的發(fā)電量的相關(guān)數(shù)據(jù)輸入到GWO-BP網(wǎng)絡(luò)模型,輸出結(jié)果即為所需的短期發(fā)電量預測值.
為了驗證本文提出的GWO-BP算法在短期發(fā)電量預測準確度方面的優(yōu)越性,進行了如下實驗.同文獻[11]、[14],本文采用的實驗數(shù)據(jù)集來自于UCI數(shù)據(jù)庫中的燃氣-蒸汽聯(lián)合循環(huán)機數(shù)據(jù)集.燃氣-蒸汽聯(lián)合循環(huán)機是根據(jù)燃氣輪機和蒸氣輪機按不同熱力循環(huán)工作模式聯(lián)合在一起的發(fā)電裝置.以4個影響發(fā)電量的因素數(shù)據(jù)(作為輸入)來進行1小時后短期發(fā)電量(作為輸出)的預測.數(shù)據(jù)集共有9 568組,選用其中9 000組作訓練,其余568組作測試.為了突出本文算法的優(yōu)越性,實驗中還將GWO-BP算法與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)(下稱BP)方法和遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(下稱GA-BP)的方法進行了預測性能比較.實驗所用工具為MATLAB R2016a,計算機配置為Intel(R) Core(TM) i5-4288U CPU @2.60 GHz 2.10 GHz,4 G內(nèi)存.
燃氣-蒸汽聯(lián)合循環(huán)機數(shù)據(jù)集中每小時發(fā)電量EP(單位MW)與以下因素相關(guān):相對濕度(RH),在25.56%~100.16%之間;環(huán)境溫度(T),在1.81 ℃~37.11 ℃之間;環(huán)境壓力(AP),在992.89~1 033.30 mb之間;排氣真空度(V),在25.36~81.56 cm Hg之間.其中參數(shù)V與蒸汽輪機工作相關(guān),其它參數(shù)與燃氣輪機相關(guān).
為了分析影響發(fā)電量的各因素與目標變量EP間的關(guān)聯(lián)程度,利用灰色關(guān)聯(lián)度對數(shù)據(jù)集進行輸入變量(即影響發(fā)電量的各因素)與目標變量的關(guān)聯(lián)分析[15],關(guān)聯(lián)度閾值θ取0.6(通常認為關(guān)聯(lián)度θ達到0.5以上就有很好的關(guān)聯(lián)性).分析結(jié)果如表1所示.
表1 輸入變量與目標變量關(guān)聯(lián)度分析
由表1可知,輸入變量與目標變量EP的關(guān)聯(lián)程度都大于關(guān)聯(lián)度閾值θ,即相關(guān)性較高.因此,采用上述參數(shù)作為預測模型的特征變量是適合的,故本文在GWO-BP短期發(fā)電量預測算法中將其作為預測網(wǎng)絡(luò)的輸入節(jié)點.
由上述分析,本實驗對應(yīng)的GWO-BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)較為簡潔,為“4-9-1”結(jié)構(gòu),即輸入層節(jié)點變量個數(shù)N0=4個,隱含層節(jié)點變量數(shù)Nn=9個,輸出層為1個節(jié)點變量.網(wǎng)絡(luò)對應(yīng)的權(quán)值w的個數(shù)為p=N0×Nn+Nn=4×9+9=45,閾值b的個數(shù)為q=Nn+Nm=9+1=10.
GWO-BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中個體編碼的長度為d=p+q=45+10=55.考慮GWO參數(shù)設(shè)置不同對不同算法結(jié)果的影響,選用了與該神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)規(guī)模相當?shù)臏y試函數(shù),探討參數(shù)取值選取.選用的標準測試函數(shù)如公式(11)所示[12]:
(11)
圖2為測試函數(shù)的參數(shù)空間模型示意圖.由圖2可以看出,該函數(shù)是典型的具有多個局部最優(yōu)值的模型.
圖3所示為在公式(8)中的參數(shù)ub和lb分別取值±2、±5和±10時,采用GWO算法的目標函數(shù)的尋優(yōu)結(jié)果.由圖3可看出,ub和lb分別取5和-5條件下,迭代次數(shù)(T)在50次左右,目標函數(shù)的尋優(yōu)結(jié)果已較為理想.
圖4所示為ub和lb取5和-5時,代表狼群中狼的個數(shù)的參數(shù)K分別取5、10、20、30時的目標函數(shù)的尋優(yōu)變化情況.從圖4可以看出,迭代次數(shù)T在50次左右,K值分別取20和30時,尋優(yōu)性能與K取10時沒有明顯提升,因此,K取10時尋優(yōu)結(jié)果已較為理想.
圖2 測試函數(shù)的參數(shù)空間模型
圖3 參數(shù)ub和lb不同取值條件下的 目標函數(shù)尋優(yōu)結(jié)果
綜上實驗分析,本文取GWO中狼的個數(shù)K為10,最大迭代次數(shù)T為50,ε取0.001,ub和lb分別取5和-5.
該模型僅采用了一層隱含層,在本文應(yīng)用場景下,目前不采用復雜深度神經(jīng)網(wǎng)絡(luò)也可取得比較好的結(jié)果,GWO-BP網(wǎng)絡(luò)具有結(jié)構(gòu)簡單,實用性強的特點.
為了驗證本文提出的GWO-BP算法在預測準確度方面的優(yōu)越性,在相同的實驗參數(shù)設(shè)置和樣本條件下,為減少隨機性對算法的影響,采用BP、GA-BP以及GWO-BP算法分別重復進行15次實驗,然后取平均值用以性能比較.其中,網(wǎng)絡(luò)權(quán)值w2和閾值b1(圖5中分別用W2和B1表示)訓練前后如圖5所示.
由圖5可知,在其它參數(shù)相同的情況下,BP、GA-BP和GWO-BP預測模型的權(quán)值W2、閾值B1在訓練前后均發(fā)生了變化,而它們將決定預測模型的性能差異.
本文提出的GWO-BP算法與傳統(tǒng)BP和GA-BP算法預測每小時發(fā)電量的實驗結(jié)果如表2所示.為了直觀地與文獻[11]中的BP和GA-BP預測方法進行性能對比,圖6顯示的是568組測試數(shù)據(jù)中的最后100組數(shù)據(jù)在不同算法與真實值之間的誤差結(jié)果.表3所示為預測評價指標對比.主要評價指標包括:平均絕對誤差(MAE)、均方誤差(MSE)和平均絕對百分比誤差(MAPE)等.
從表2和圖6的比較結(jié)果可知:GWO-BP算法預測誤差更小,精度更高.在相同實驗條件下,不同預測算法平均誤差百分比分別為7.57‰、7.26‰和6.94‰.GWO-BP預測算法的平均誤差百分比較BP、GA-BP算法分別減少了0.63‰和0.32‰.
從表3可以看出,雖然GWO-BP算法建模耗時略高于GA-BP算法,但多項評價指標都優(yōu)于傳統(tǒng)BP和GA-BP算法.分析可知,在網(wǎng)絡(luò)結(jié)構(gòu)較深度神經(jīng)網(wǎng)絡(luò)明顯簡潔的同時,GWO-BP算法提高了短期發(fā)電量預測模型的準確度.
圖5 BP神經(jīng)網(wǎng)絡(luò)、GA-BP和GWO-BP 訓練前后部分參數(shù)數(shù)值對比
表2 不同預測算法預測平均值對比(單位:MW)
表3 9 000組訓練樣本下不同預測算法性能對比
表4為參照文獻[11]方法選用其中9 468組作訓練,其余100組作測試,不同預測算法的實驗結(jié)果.實驗結(jié)果表明:在減少訓練集的情況下,本文結(jié)果在平均絕對誤差、均方誤差和平均絕對百分比誤差均優(yōu)于BP和GA-BP預測方法,驗證了GWO-BP預測方法的優(yōu)越性,提高了短期發(fā)電量預測的準確性.
表4 9 468組訓練樣本下不同預測算法性能對比
圖6 不同預測算法實驗結(jié)果誤差比較
為了對電網(wǎng)發(fā)電量進行準確預測,本文采用相關(guān)性分析,篩選出與短期發(fā)電量相關(guān)的關(guān)鍵因素,提出了一種基于灰狼算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短期發(fā)電量預測方法.實驗結(jié)果表明,該模型具有結(jié)構(gòu)簡單,實用性強的特點.通過與經(jīng)典BP神經(jīng)網(wǎng)絡(luò)以及遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)等預測方法的對比分析,本文方法利用灰狼優(yōu)化算法對BP網(wǎng)絡(luò)的初始權(quán)值和初始閾值予以優(yōu)化,利用GWO算法的多個最優(yōu)解尋求最優(yōu)位置,擴大了狼群搜索范圍,有效防止了網(wǎng)絡(luò)訓練過程陷入局部最優(yōu),提高了短期發(fā)電量預測的準確性,為滿足用電供需平衡、電力系統(tǒng)的科學規(guī)劃等奠定了基礎(chǔ).