劉春霞,李 軍,黨偉超,白尚旺,王學(xué)斌
1(太原科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024)
2(精英數(shù)智科技股份有限公司 戰(zhàn)略管理部,太原 030012)
近年來,隨著經(jīng)濟(jì)的日益快速發(fā)展,人口數(shù)量的不斷增加,能源的消耗也在持續(xù)增長.在這種形勢下,清潔能源逐漸進(jìn)入了人們的視線,天然氣作為一種綠色清潔能源,漸漸展現(xiàn)了優(yōu)勢[1].中國的能源需求正在不斷增長.自2005年至2018年,我國天然氣年消費(fèi)量從467.63 億m3增長到2800 億m3,增長率達(dá)到498.76%.天然氣負(fù)荷預(yù)測是城市燃?xì)庀到y(tǒng)的設(shè)計與調(diào)度的重要依據(jù),同時也是確定燃?xì)夤こ添?xiàng)目中經(jīng)濟(jì)可行性的理論依據(jù).只有合理科學(xué)準(zhǔn)確地預(yù)測城市燃?xì)獾呢?fù)荷,才能夠提高經(jīng)濟(jì)運(yùn)行效率、提高資源利用率,提高城市空氣質(zhì)量.
目前,負(fù)荷預(yù)測的相關(guān)研究在天然氣領(lǐng)域的應(yīng)用正在不斷的改進(jìn)和發(fā)展.文獻(xiàn)[2]建立了一種自適應(yīng)模糊推理系統(tǒng)的神經(jīng)網(wǎng)絡(luò),可在復(fù)雜環(huán)境下進(jìn)行天然氣負(fù)荷預(yù)測.文獻(xiàn)[3]把天然氣和溫度模型進(jìn)行結(jié)合,推演出了不同溫度條件下天然氣的消耗分布,通過利用某城市的歷史溫度和天然氣負(fù)荷數(shù)據(jù),對天然氣的日負(fù)荷量進(jìn)行了預(yù)測.文獻(xiàn)[4]提出了一種具有可變結(jié)構(gòu)的自適應(yīng)智能灰色預(yù)測模型,該模型可以根據(jù)實(shí)際數(shù)據(jù)的特征對模型參數(shù)進(jìn)行自動優(yōu)化,并且通過實(shí)驗(yàn)證明該模型的預(yù)測精度優(yōu)于傳統(tǒng)灰色模型.文獻(xiàn)[5]通過對杭州市天然氣負(fù)荷與氣象因子之間的關(guān)系研究,建立了支持向量機(jī)的預(yù)測模型,將杭州市天然氣負(fù)荷數(shù)據(jù)輸入模型中,對模型預(yù)測值和期望值進(jìn)行比對.文獻(xiàn)[6]利用果蠅算法對支持向量機(jī)參數(shù)進(jìn)行優(yōu)化,采用可Kmeans 聚類算法對負(fù)荷序列做了離群點(diǎn)分析,通過對預(yù)測數(shù)據(jù)和期望數(shù)據(jù)的誤差分析對模型進(jìn)行檢驗(yàn),實(shí)驗(yàn)結(jié)果表明優(yōu)化后的輸出要優(yōu)于單一的SVM 方法.
綜上所述,目前對天然氣負(fù)荷的預(yù)測并沒有形成成熟的體系.當(dāng)前的研究大多使用基于神經(jīng)網(wǎng)絡(luò)或者SVM 的預(yù)測方法,存在以下普遍的缺陷:SVM 對大規(guī)模的數(shù)據(jù)訓(xùn)練比較困難,而負(fù)荷預(yù)測需要大量數(shù)據(jù)對模型進(jìn)行訓(xùn)練;傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)預(yù)測容易出現(xiàn)局部最優(yōu)問題,而且神經(jīng)網(wǎng)絡(luò)算法的收斂速度也慢,使得算法效率低下.因此,本文提出了一種基于遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的預(yù)測方法GA-WNNs (Genetic Algorithm-Wavelet Neural Network).該方法使用遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò),利用遺傳算法的尋優(yōu)全局性克服小波神經(jīng)網(wǎng)絡(luò)容易出現(xiàn)的局部極小、過早收斂問題,提高了預(yù)測模型的準(zhǔn)確性.
小波分析是從傅里葉分析演化而來的,為時間序列提供多分辨率分析.在信號處理相關(guān)領(lǐng)域經(jīng)常會使用到傅里葉分析,它可以對信號的成分進(jìn)行分析,同時也能將這些成分合成相應(yīng)的信號.但是,它有一個嚴(yán)重的不足,就是不能在時間序列上刻畫信號的局部特性,對于一些突變信號和非平穩(wěn)信號效果不好.使用小波去噪的方法能夠改善傅里葉變換去噪的這個缺點(diǎn)[7].
小波函數(shù)是通過母小波函數(shù)進(jìn)行平移和伸縮變化得到的,小波分析是將信號分解成小波函數(shù)的疊加.小波變換指的是把一個基本的小波函數(shù)ψ (t)平移b 以后,再在不同的尺度a 下與待分析的信號 x (t)做內(nèi)積.
式(1)等效的時域表達(dá)式為:
式中,a 和b 是式中的參數(shù),a 代表平移因子,b 是伸縮因子.從上式中可以看出小波分析能夠通過小波基函數(shù)的變換進(jìn)而對信號的局部特征進(jìn)行分析,在二維情況下具有信號方向選擇性能力.
小波神經(jīng)網(wǎng)絡(luò)(WNN)模型是一種由小波分析和人工神經(jīng)網(wǎng)絡(luò)相結(jié)合的復(fù)雜模型.它主要用于時間序列的預(yù)測.WNN 模型的結(jié)構(gòu)通常由以下部分組成:離散小波分析,小波系數(shù)重構(gòu),人工神經(jīng)網(wǎng)絡(luò)預(yù)測和數(shù)據(jù)序列重構(gòu).首先,利用小波分解函數(shù)對時間序列進(jìn)行離散小波分析,提取出一系列高頻和低頻小波系數(shù).通過重新分解低頻系列,可以計算出任何比例的高頻和低頻小波系數(shù).其次,利用小波重構(gòu)函數(shù),重構(gòu)了高頻和低頻小波系數(shù).通過分析重建的高頻序列和低頻序列,可以粗略地檢測時間序列的變化特征和趨勢[8].第三,利用人工神經(jīng)網(wǎng)絡(luò)模型,預(yù)測了高頻和低頻小波系數(shù)的重構(gòu)序列.其拓?fù)浣Y(jié)構(gòu)如圖1 所示.
圖1 小波神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
圖1 中各個值代表的含義如下:X1,X2,···,Xi表示輸入數(shù)據(jù);ωj,k代表輸入層和隱含層之間的權(quán)值參數(shù);ωi,j表 示從隱含層到輸出層之間的權(quán)值參數(shù);y1,y2,···,yi表示輸出層數(shù)據(jù).ψa,b(x)代表小波函數(shù),本文采用的是Morlet 函數(shù),該函數(shù)在時間與頻率的局部化之間有很好的的平衡,而且包含更多的振動信息,表達(dá)式如下:
式中的a、b 分別代表小波函數(shù)的平移因子和伸縮因子.
為了使小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)穩(wěn)定,需要借助數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,其次要借助測試數(shù)據(jù)集對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行驗(yàn)證.算法步驟如下:
步驟1.網(wǎng)絡(luò)參數(shù)初始化.隨機(jī)初始化小波函數(shù)的平移因子、伸縮因子以及網(wǎng)絡(luò)連接權(quán)重 ωj,k,ωi,j,設(shè)置網(wǎng)絡(luò)學(xué)習(xí)速率η.
步驟2.數(shù)據(jù)分類.將收集到的數(shù)據(jù)分成訓(xùn)練集和測試集兩類,將訓(xùn)練集數(shù)據(jù)輸入到網(wǎng)絡(luò)對模型進(jìn)行訓(xùn)練,測試集用來對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行精度測試.
步驟3.預(yù)測輸出.通過輸入數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到預(yù)測輸出數(shù)據(jù),結(jié)合期望值和預(yù)測輸出計算誤差e.
步驟4.參數(shù)修正.根據(jù)上一步的誤差不斷調(diào)整網(wǎng)絡(luò)權(quán)值和小波神經(jīng)網(wǎng)絡(luò)的參數(shù),使預(yù)測輸出值與期望值的誤差減小.
步驟5.判斷算法是否滿足結(jié)束條件,若不滿足則返回步驟3.
小波神經(jīng)網(wǎng)絡(luò)采用梯度下降法修正網(wǎng)絡(luò)的權(quán)值和小波函數(shù)的參數(shù),使得小波神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出值更加接近真實(shí)值.對小波神經(jīng)網(wǎng)絡(luò)的修正步驟如下:
(1)網(wǎng)絡(luò)預(yù)測誤差值
其中,y n(k)表示真實(shí)值,y (k)表示小波神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出值.
(2)根據(jù)預(yù)測誤差e 修正小波神經(jīng)網(wǎng)絡(luò)的權(quán)值和小波函數(shù)的參數(shù)
上式中η 為網(wǎng)絡(luò)的學(xué)習(xí)速率.
遺傳算法(Genetic Algorithms,GA)是由John Holland等人創(chuàng)建的著名進(jìn)化算法.在20 世紀(jì)60年代,Rechenberg在一本名為“進(jìn)化策略”的書中介紹了進(jìn)化計算的理念.繼人工神經(jīng)網(wǎng)絡(luò)之后,開始對遺傳算法進(jìn)行了初步的研究.這兩個領(lǐng)域都是受到生物系統(tǒng)的啟發(fā),作為一種新型計算模型.遺傳算法是一種迭代算法,具有高度并行、隨機(jī)和自適應(yīng)的特點(diǎn),可以在迭代過程中不斷的改進(jìn)解,每個解稱為一個染色體[9].經(jīng)過不斷的循環(huán)遺傳操作,種群逐漸往好的方向進(jìn)化,最終得到最優(yōu)解.但是基本遺傳算法存在收斂速度慢、易陷入局部極值等缺點(diǎn),導(dǎo)致小波神經(jīng)網(wǎng)絡(luò)的閾值以及網(wǎng)絡(luò)連接權(quán)值未收斂至最優(yōu)值.本文采用的遺傳算法是通過對選擇算子進(jìn)行改進(jìn),在最優(yōu)保存策略的基礎(chǔ)上將每代種群按照計算的適應(yīng)度值升序排序,平均分成前中后三段,并按照一定的比例進(jìn)行選擇.從末段中隨機(jī)選取個體補(bǔ)充由于選擇操作而損失的個體,這樣既利用了最優(yōu)保存策略的全局收斂特性同時也保持了種群的多樣性[10].
遺傳算法中的遺傳操作時算法的核心,目的是通過逐代優(yōu)化從而找到問題的最優(yōu)解.其中包括3 個遺傳操作:選擇,交叉和變異[11].
選擇操作,選擇操作應(yīng)用比較廣泛的是比例選擇操作和最優(yōu)保存策略,比例選擇操作由于選擇的隨機(jī)性會存在誤差,但其簡單實(shí)用仍被廣泛實(shí)用.本文采用了新的選擇操作算法,可以在種群中有效選擇出較優(yōu)的個體,從而克服了最優(yōu)保存策略只考慮保存種群中最優(yōu)個體忽視了其余個體,破壞種群多樣性,造成陷入局部極值.
交叉操作,同生物界中染色體交叉相似,染色體通過交換部分基因,產(chǎn)生新的染色體.
變異操作,是指種群中任意選取一個染色體,選擇染色體中的一點(diǎn)進(jìn)行變異,變異操作可以保持群體多樣性,防止早熟現(xiàn)象產(chǎn)生.
通過使用遺傳算法對神經(jīng)網(wǎng)絡(luò)的權(quán)值進(jìn)行優(yōu)化并且結(jié)合神經(jīng)網(wǎng)絡(luò)函數(shù)的較好的逼近能力,可以對短期的天然氣負(fù)荷量預(yù)測進(jìn)行建模,該算法克服了傳統(tǒng)小波神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)的缺點(diǎn).GA-WNN算法原理如圖2 所示.
圖2 GA-WNN算法流程圖
基本的步驟如下:
步驟1.設(shè)置種群大小為M,隨機(jī)生成初始種群N.
步驟2.用步驟1 中的種群N 進(jìn)行訓(xùn)練,此時初始化獲得小波神經(jīng)網(wǎng)絡(luò)平移因子和伸縮因子.
步驟3.根據(jù)適應(yīng)度函數(shù)計算個體的適應(yīng)度值.適應(yīng)度值達(dá)到規(guī)定值直接到步驟6,不滿足進(jìn)行下一步.
步驟4.選擇一部分適應(yīng)度大的個體繼承給下一代,遺傳操作后產(chǎn)生的適應(yīng)度最低的個體由父代適應(yīng)度值最大的個體代替.
步驟5.將當(dāng)前群體進(jìn)行交叉變異操作,生成新的種群,轉(zhuǎn)到步驟3.
步驟6.結(jié)束循環(huán),將群體中的最優(yōu)個體解碼值作為小波神經(jīng)網(wǎng)絡(luò)的初始參數(shù).
步驟7.采用上述步驟獲得最優(yōu)參數(shù)進(jìn)行建模.
通過SCADA 數(shù)據(jù)采集系統(tǒng)采集了某市2016年1月1日到2018年4月19日共計840 天的天然氣日負(fù)荷量數(shù)據(jù).并通過當(dāng)?shù)貧庀缶植杉矫恳惶斓娜兆罡邷囟?日最低溫度,日平均溫度數(shù)據(jù),降雨量,風(fēng)速以及相對濕度的數(shù)據(jù).選取數(shù)據(jù)集共588 條數(shù)據(jù)作為訓(xùn)練集,剩余的252 條數(shù)據(jù)作為測試集.將收集到的數(shù)據(jù)通過Matlab 繪制圖如圖3.
圖3 天然氣日負(fù)荷量與溫度關(guān)系
從圖3 可以看出天然氣負(fù)荷量存在隨機(jī)性與周期性變化規(guī)律,而且負(fù)荷量的變化趨勢與溫度的變化趨勢呈現(xiàn)出一定的相關(guān)性.當(dāng)溫度較低時,天然氣負(fù)荷處于較高水平;當(dāng)溫度較高時,天然氣負(fù)荷處于低水平.天然氣負(fù)荷變化隨溫度變化趨勢明顯,所以溫度是負(fù)荷預(yù)測的一個重要影響因素.而降雨量,風(fēng)速以及相對濕度這3 個數(shù)據(jù)通過Matlab 繪制圖像發(fā)現(xiàn)其變化規(guī)律與負(fù)荷量之間沒有很直觀的相關(guān)性,為了進(jìn)一步確認(rèn)這3 個因素對于天然氣負(fù)荷影響程度,本文進(jìn)行了相關(guān)性系數(shù)的計算.計算公式如下:
其中,C ov(X,Y)表 示變量X 和Y 的協(xié)方差,V ar[X]表示變量X 的方差,V ar[Y]表示變量Y 的方差.由式(11)我們可以計算得到天然氣與各因素之間的相關(guān)性系數(shù),如 表1 給出.
表1 天然氣負(fù)荷值與各因素相關(guān)系數(shù)
由表1 可以看出,溫度是影響負(fù)荷量的主要因素,其他幾項(xiàng)對于負(fù)荷量影響非常弱,可以忽略不計.
通過企業(yè)調(diào)研以及對收集的數(shù)據(jù)分析發(fā)現(xiàn),城市燃?xì)庥脩粼谄匠H蘸凸?jié)假日用氣量有明顯差異,所以要將這種差異考慮進(jìn)去作為影響因素,本文采用權(quán)重系數(shù),平常日權(quán)重系數(shù)為0.9,節(jié)假日權(quán)重系數(shù)為0.3.
為了評價GA-WNN算法的性能,實(shí)驗(yàn)以傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)、WNN 神經(jīng)網(wǎng)絡(luò)、LSTM 神經(jīng)網(wǎng)絡(luò)作為對比模型,以決定系數(shù)(R2)、均方誤差(MSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)作為評價指標(biāo).計算公式如下:
實(shí)驗(yàn)中遺傳算法的迭代次數(shù)為200 次,交叉概率0.9,個體數(shù)目為40 個,最大遺傳代數(shù)設(shè)置為100.神經(jīng)網(wǎng)絡(luò)模型參數(shù)設(shè)置,學(xué)習(xí)率為0.05,訓(xùn)練次數(shù)100 次.圖4 和圖5 是實(shí)驗(yàn)在Matlab 環(huán)境下仿真結(jié)果,表2 為不同神經(jīng)網(wǎng)絡(luò)模型的各項(xiàng)評價指標(biāo).
圖4 預(yù)測誤差值圖
圖5 不同預(yù)測模型與GA-WNN 對比圖
表2 不同預(yù)測模型與GA-WNN 性能對比
由圖4 可知預(yù)測誤差值波動在0.1 到0.2 之間,圖5 繪制了不同預(yù)測模型的預(yù)測結(jié)果與GAWNN 的對比,通過圖像我們不難看出雖然各個神經(jīng)網(wǎng)絡(luò)整體上都能反映出天然氣日負(fù)荷量的變化趨勢,但是GAWNN的擬合效果明顯優(yōu)于其他幾種預(yù)測模型.如表2 所示,GAWNN 的R2值比其他項(xiàng)更接近1,擬合度好,參考價值高.而其他幾項(xiàng)誤差評價指標(biāo)GA-WNN 均低于其他預(yù)測模型,充分表明GA-WNN 預(yù)測模型對短期天然氣日負(fù)荷量有更高的預(yù)測精度.通過Matlab 實(shí)驗(yàn)證明,未經(jīng)優(yōu)化的小波神經(jīng)網(wǎng)絡(luò)需要56 次才能達(dá)到目標(biāo)精度,遺傳算法優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)僅需25 次就達(dá)到了目標(biāo)精度,在總的運(yùn)行時間上后者比前者減少9.467 102 s.運(yùn)行時間的減少一方面是由于改進(jìn)選擇操作后計算量相對減少,另一方面改進(jìn)以后的遺傳算法搜索出較優(yōu)的初始權(quán)值使得小波神經(jīng)網(wǎng)絡(luò)進(jìn)一步尋找最優(yōu)解節(jié)省時間.將本文方法應(yīng)用到不同地區(qū)門站進(jìn)行預(yù)測都得到較好的預(yù)測結(jié)果.
綜上所述,本文提出的基于遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的預(yù)測模型對于短期天然氣負(fù)荷預(yù)測具有很好的預(yù)測精度,且能夠較好的反映出負(fù)荷量的趨勢,具有一定的工程應(yīng)用價值.
本文通過研究天然氣負(fù)荷數(shù)據(jù)與每日溫度之間的關(guān)系,建立了小波神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并通過遺傳算法對小波神經(jīng)網(wǎng)絡(luò)出現(xiàn)的易陷入局部最優(yōu)以及收斂速度緩慢等問題進(jìn)行改進(jìn).通過與不同模型進(jìn)行比對試驗(yàn),最后仿真結(jié)果表明,經(jīng)過遺傳算法優(yōu)化后的小波模型針對天然氣負(fù)荷預(yù)測具有學(xué)習(xí)速率快,有較強(qiáng)的逼近能力以及全局尋優(yōu)等有點(diǎn),能夠大大的提高燃?xì)庳?fù)荷預(yù)測的精度,對燃?xì)馄髽I(yè)有較大的幫助.