• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于黏菌算法優(yōu)化VMD-CNN-GRU模型的年徑流預測

      2022-11-15 09:10:29徐冬梅夏王萍王文川
      南水北調與水利科技 2022年3期
      關鍵詞:黏菌徑流卷積

      徐冬梅,夏王萍,王文川

      (華北水利水電大學水資源學院,鄭州 450046)

      中長期水文預報是水資源規(guī)劃管理、防汛抗旱、水庫優(yōu)化調度的重要環(huán)節(jié),其研究一直受到眾多水文學者的廣泛關注[1]。隨著科學技術的不斷發(fā)展,許多現(xiàn)代人工智能技術方法被應用于水文預報,例如BP(back propagation)神經網絡[2-3]、徑向基神經網絡[4-5]、Elman神經網絡[6-7]、支持向量機[8-9]、自適應模糊推理系統(tǒng)[10-11]、長短時記憶神經網絡(long short-term memory,LSTM)[12-13]等。

      卷積神經網絡(convolutional neural network,CNN)是一種前饋式神經網絡,能夠充分挖掘數據之間的相關性,已被應用于物體識別[14]、故障診斷[15]、文本分類[16]等方面。門控循環(huán)單元神經網絡(gated recurrent unit,GRU)是循環(huán)神經網絡(recurrent neural network,RNN)衍生體系結構中的一種典型體系結構,常用于時間序列數據預測,能夠解決梯度消失的問題,已在負荷預測[17]、氣象要素預測[18]、風速預測[19]等領域得到應用。在徑流預測方面的研究有:郭玉學等[20]利用多種遞歸神經網絡對海島水庫進行徑流預報,通過對比研究發(fā)現(xiàn)具有復雜神經元結構的長短時記憶神經網絡和門控循環(huán)單元神經網絡預報效果更好;李文武等[21]將相空間重構與變分模態(tài)分解(variational mode decomposition,VMD)和深度門控網絡耦合,該模型對白山水庫入庫月徑流量進行預測,在測試集上擬合效果較好;包苑村等[22]提出了一種VMD-CNN-LSTM組合模型,對渭河流域的2個水文站進行月徑流預測,預測精度對比其他模型更優(yōu)且在預測峰值和谷值上優(yōu)勢更為明顯。為了提高傳統(tǒng)CNN、GRU單一模型預測精度,學者們已經提出卷積神經網絡和門控循環(huán)單元神經網絡的組合模型(CNN-GRU)并應用于多種領域。如:姚程文等[23]將CNN-GRU模型用于電力負荷數據預測,該模型在預測精度與預測效率方面有較好的結果;黨建武等[24]將CNN-GRU模型用于股指預測,有效提高了股指預測的準確率;針對出菇房室內溫濕度具有非線性等特點,趙全明等[25]利用CNN-GRU模型預測出菇房多點溫濕度,相比較傳統(tǒng)的BP神經網絡等CNN-GRU模型預測精度更高。

      針對多數CNN-GRU混合神經網絡超參數的設置方法存在精度和效率偏低的問題,本文在引入CNN-GRU組合模型進行年徑流預測工作中,采用黏菌優(yōu)化算法(slime mould algorithm,SMA)來確定關鍵參數,提出基于SMA優(yōu)化的VMD-CNN-GRU組合模型對蘭西水文站年徑流進行預測,并構建CEEMDAN (complete ensemble empirical mode decomposition with adaptive noise)-CNN-GRU、VMD-CNN-LSTM、VMD-GRU、VMD-LSTM、VMD-PSO (particle swarm optimization)-CNN-GRU、SMA-CNN-GRU和CNN-GRU作為對比模型,以驗證本文提出模型的有效性。

      1 研究方法

      1.1 變分模態(tài)分解算法(VMD)

      VMD是2014年提出的一種新的處理信號的算法[26],分解信號的同時還能夠降低輸入信號中存在的噪聲,因此在處理非線性非平穩(wěn)序列上具有一定的優(yōu)勢,相較于2011年由Torres等[27]提出的自適應噪聲完整集成經驗模態(tài)分解算法(CEEMDAN),VMD可以有效地分離信號。VMD是給實際輸入信號尋找一組最優(yōu)重構的模態(tài)集合,而每個模態(tài)都被約束在一個估計的中心頻率上。當給序列確定恰當的模態(tài)分解個數后,VMD就可以將非線性的原始序列分解成若干個具有不同頻率并相對平穩(wěn)的子序列。詳細的VMD實現(xiàn)步驟請參閱文獻[26]。

      1.2 卷積神經網絡(CNN)

      卷積神經網絡[28]是一種獨特的深度網絡。輸入層、全連接層和輸出層的結構與其他神經網絡的基本相同,獨特之處在于CNN擁有池化層和卷積層的結構。池化層能夠篩選過濾掉多余的信息,不僅減少全連接層中的參數個數防止過擬合問題的出現(xiàn),而且縮短了訓練的時間。卷積層中的卷積核(過濾器)可以實現(xiàn)對輸入矩陣自動提取特征,并且卷積層的權值將在神經元之間共享。

      1.3 門控循環(huán)單元神經網絡(GRU)

      門控循環(huán)單元神經網絡是對長短時記憶神經網絡[29]進行了改進。GRU和LSTM都是通過“門”函數來進行計算的,不同之處在于GRU比LSTM少了一個“門”簡化了模型結構。GRU只有兩個門,即更新門和重置門。GRU與LSTM運算效果相差不大,但由于GRU參數少故計算速度更快。GRU神經網絡內部結構見圖1。

      圖1 GRU網絡基本結構Fig.1 Basic structure of GRU

      GRU的前向計算公式為

      更新門:zt=σ(Wz·[ht-1,xt])

      (1)

      重置門:rt=σ(Wr·[ht-1,xt])

      (2)

      (3)

      (4)

      yt=σ(Wo·ht)

      (5)

      1.4 黏菌算法(SMA)

      黏菌優(yōu)化算法由Li等[30]于2020年提出,根據黏菌多頭絨泡菌在尋找食物過程中發(fā)生的一系列動作和身體上的變化來建立數學模型。文獻[28]證明了該算法在實際問題中能夠快速收斂并找到最優(yōu)值。詳細的數學模型如下。

      階段1:接近食物。黏菌可以通過空氣中的氣味來尋找食物,具體用公式表示為

      (6)

      p=tanh|S(i)-DF|,i=1,2,…,n

      (7)

      式中:S(i)為每個黏菌的適應度;DF為迭代過程中最佳適應度。

      (8)

      (9)

      SmellIndex=sort(S)

      (10)

      式中:Condition表示適應度值排在種群數前1/2的個體;r為在[0,1]上的隨機數;maxt為最大迭代次數;bF(bestFitness)和wF(westFitness)為當前迭代中的最優(yōu)和最差適應度值;SmellIndex為排序后的適應度值序列。

      階段2:包圍食物。搜索食物時,黏菌體內會受食物濃度的影響產生一種信號。黏菌靜脈接觸的食物濃度越高,體內產生的波越強,細胞質流動越快,靜脈變得越粗。當食物濃度較高時,該區(qū)域附近的權重較大;當食物濃度較低時,該區(qū)域的權重會降低。更新黏菌位置的計算公式為

      (11)

      式中:LB和UB分別為搜索范圍的上下邊界值;rand和r為[0,1]中的隨機數。

      SMA算法進行參數尋優(yōu)的步驟如下。

      步驟1:初始化SMA參數。設置種群規(guī)模n、最大迭代次數M、優(yōu)化參數的個數及其范圍,令當前的迭代次數t=1。初始化個體,隨機生成n個黏菌個體的初始化位置。

      步驟2:選用均方誤差作為優(yōu)化目標函數。將每個黏菌個體位置向量依次作為CNN-GRU模型的前提參數,根據均方誤差的公式分別計算出各自對應的適應度值,然后對適應度值進行排序,選出最優(yōu)和最差適應度值。

      步驟4:令t=t+1。判斷t是否小于最大迭代次數M,若是則重復步驟2和步驟3,反之則輸出最優(yōu)個體,即算法的最優(yōu)解,算法結束。

      1.5 組合模型構建

      基于SMA優(yōu)化的VMD-CNN-GRU模型的構建流程圖見圖2,具體的預測步驟總結如下。

      圖2 預測模型構建Fig.2 Prediction model construction

      采用VMD方法對原始的徑流序列進行分解后得到若干子序列。

      建立SMA-CNN-GRU模型。設置黏菌算法中的參數,再利用黏菌算法對CNN-GRU模型的卷積層層數N、GRU層神經元個數H、訓練次數E和學習率η進行參數尋優(yōu)。具體步驟見1.4節(jié)。

      根據建立的SMA-CNN-GRU模型對預處理后的每個分量進行擬合得到預測值。

      將所有預測后的子序列進行進一步累積得到最終結果。

      1.6 模型驗證

      采用均方根誤差(ERMS)、平均絕對誤差(EMA)、平均絕對百分誤差(EMAP)對模型進行評價。ERMS、EMA、EMAP的計算公式為

      (12)

      (13)

      (14)

      2 實例應用

      蘭西站是呼蘭河下游的一個水文站,斷面以上集水面為27 736 km2,距河源464 km。呼蘭河是松花江左岸一級支流,全長515 km,集水面積為36 631 km2。以蘭西水文站1959—2014年的年徑流資料為研究對象,取1959—2002年年徑流數據為訓練集,2003—2014年年徑流數據為測試集。1959—2014年蘭西水文站年徑流序列見圖3。

      圖3 蘭西水文站年徑流序列Fig.3 Annual runoff series of Lanxi hydrological station

      2.1 VMD分解時序數據

      VMD分解徑流序列的關鍵是提前設置合適的模態(tài)個數K,不同分解個數會影響分解的結果,進而影響最終的預測結果。K值偏高可能導致模態(tài)混合或純噪聲模態(tài),K值偏低可能導致模態(tài)的重復。通過比較各分量中心頻率的方法來確定最終的模態(tài)個數K[31]。當選擇不同的K值時,對蘭西水文站年徑流序列進行VMD分解后得到各子序列的中心頻率,見表1。從表1可以看出,在K=7時,出現(xiàn)的中心頻率3 156 Hz和3 492 Hz相差不多,說明此時可能出現(xiàn)模態(tài)混疊現(xiàn)象,所以選K=6較為合適。

      表1 不同K值對應的中心頻率Tab.1 The central frequency corresponding to various K values

      圖4是分解后6個不同頻率的子序列。對比圖3原徑流序列振幅變化沒有明顯的規(guī)律,由圖4看出隨著模態(tài)分量的增加,序列振幅變化呈現(xiàn)出周期性,序列越來越穩(wěn)定,這個預處理使CNN-GRU模型可以更好地模擬數據中的特征信息并進行預測。

      圖4 蘭西水文站年徑流VMD分解圖Fig.4 VMD decomposition diagrams of annual runoff at Lanxi hydrological station

      2.2 參數設置

      在CNN-GRU模型中,根據一般經驗,每層卷積核的數量為上一層的兩倍。根據黨建武等[24]的研究,再結合本文實例得到設置不同卷積層時各層對應的卷積核個數,具體數值見表2。

      表2 不同卷積層對應的卷積核個數Tab.2 Number of convolution kernels corresponding to different convolution layers

      然而對于設置卷積層層數、GRU層神經元個數、訓練次數、學習率的不確定性,本文提出采用黏菌優(yōu)化算法來確定CNN-GRU模型卷積層層數等關鍵參數。設置SMA算法黏菌種群規(guī)模n=10,最大迭代次數M=20;卷積層層數N、GRU層神經元個數H、訓練次數E、學習速率取值范圍分別為[2,5],[100,200],[400,500],[0.005,0.010]。為了確定合適的滯時來預測當前的徑流,采用自相關函數(autocorrelation function,ACF)和偏自相關函數(partial autocorrelation function,PACF)確定CNN-GRU模型的輸入步長。蘭西水文站年徑流序列的ACF圖和PACF圖見圖5。從圖5可以看出,ACF的估計值在17時達到峰值,并且在17個滯時以后其PACF的估計值均落在95%的置信帶內。因此,時間步長取17,即根據前17年的年徑流來預測下一年的年徑流。

      圖5 年徑流序列ACF圖和PACF圖Fig.5 ACF and PACF plots of annual runoff series

      由于原始序列經VMD分解后生成了6個子序列,針對不同序列該如何設置參數的問題,采用兩種方案構建VMD-SMA-CNN-GRU的預測模型。方案1(VMD-SMA-CNN-GRU1)采用對不同的序列設置不同的參數,方案2(VMD-SMA-CNN-GRU2)采用對不同的序列設置統(tǒng)一的參數,不同方案下SMA對各子序列參數進行尋優(yōu)后結果見表3。除加入優(yōu)化算法的模型以外,其他6種對比模型中,卷積層層數、GRU層神經元個數、訓練次數、學習率分別設置為各取值范圍的中間值。因此,CNN層數為4,GRU層和LSTM層神經元個數均為150,訓練次數為450,學習率為0.007 5。

      表3 不同方案下SMA對各子序列參數尋優(yōu)結果Tab.3 Optimization results of sub-sequence parameters by SMA under different schemes

      2.3 結果分析

      采用實測數據逐步分析驗證。利用訓練好的CNN-GRU模型先提取訓練集中最后17年的數據,以預測第一個新值,接著取第二個所預測數據前面17年的實測數據來計算當前年的預測值,重復上述操作直至預測完驗證期全部數據為止。選擇2003—2014年的預報結果驗證模型預測精度,即預測到第12年結束。

      為了說明SMA優(yōu)化的VMD-CNN-GRU模型的優(yōu)勢,使用CEEMDAN-CNN-GRU模型、VMD-CNN-LSTM模型、VMD-LSTM模型、VMD-GRU模型、VMD-PSO-CNN-GRU模型、SMA-CNN-GRU模型和CNN-GRU模型作為基準進行對比。各模型預測后評價標準計算結果和對比見表4和圖6。

      表4 各模型評價標準計算結果Tab.4 Calculation results of each model evaluation standard

      圖6 各模型預測值與原序列對比Fig.6 Comparison between the predicted values of each model and the original sequence

      從圖6(a)可以看出優(yōu)化后的VMD-CNN-GRU模型擬合效果均很好,相比較之下VMD-PSO-CNN-GRU模型的效果略差,從局部放大圖中可以明顯看出1988年和2013年VMD-SMA-CNN-GRU1預測結果比其他2個模型更精確。從圖6(b)可以看出:VMD-SMA-CNN-GRU2模型擬合的效果最好,尤其在預測峰值的情況下;CEEMDAN-CNN-GRU模型擬合效果最差,只有曲線的大概趨勢與原序列相同而具體數值與實際值相差較大。在訓練期,除CEEMDAN-CNN-GRU模型以外,其他模型均達到較好的擬合效果,但通過局部放大1994年的預測結果后可以發(fā)現(xiàn)各模型之間還存在一定的差異,VMD-SMA-CNN-GRU2模型預測精度更高。從驗證期中可以看出,VMD-SMA-CNN-GRU2和VMD-CNN-LSTM模型擬合程度優(yōu)于VMD-GRU和VMD-LSTM模型。

      由表4可以得出如下結果。

      經SMA優(yōu)化的VMD-CNN-GRU組合模型預測精度最高。對比2種不同方案下VMD-SMA-CNN-GRU的預測結果可知各子序列設置不同參數時可以提高預測精度。VMD-SMA-CNN-GRU1與VMD-PSO-CNN-GRU模型相比,ERMS、EMA分別減少了31.18 %、26.33 %,說明粒子群優(yōu)化算法[32](PSO)容易陷入局部最優(yōu)無法找到最優(yōu)解,而SMA算法能避免這一問題并有效的尋找優(yōu)化參數。

      VMD-SMA-CNN-GRU2模型與SMA-CNN-GRU模型相比,ERMS、EMA和EMAP分別減少了80.13%、 82.72%和 84.84%,可以看出分解技術和優(yōu)化算法均能提高模型的預測精度,但通過比較發(fā)現(xiàn)分解技術的提高程度更大。

      VMD-SMA-CNN-GRU2模型與CEEMDAN-CNN-GRU模型相比,ERMS、EMA和EMAP分別減少了79.81%、78.66%和80.68%;與CNN-GRU模型相比,ERMS、EMA和EMAP分別減少了85.21%、87.17%和 86.99%。VMD-SMA-CNN-GRU2模型預測精度明顯高于CEEMDAN-CNN-GRU模型和CNN-GRU模型,說明了VMD分解效果優(yōu)于CEEMDAN。

      VMD-GRU模型和VMD-LSTM模型相比預測精度相差不大,但是VMD-GRU模型與VMD-LSTM模型訓練時間分別為38.55 s和57.03 s,相比訓練時間縮短了32.40%,通過對比兩者模型的訓練時間可以發(fā)現(xiàn)GRU模型效率更高。GRU比LSTM訓練時間短的原因是GRU模型只有兩個門,模型結構簡單,構建龐大的網絡時更加有效。

      VMD-SMA-CNN-GRU2模型與VMD-GRU模型相比,ERMS、EMA和EMAP分別減少了29.43 %、23.20%和19.95%,與VMD-LSTM模型相比ERMS、EMA和EMAP分別減少了31.33%、26.20%和26.25%。加入CNN網絡后模型預測精度明顯提高,這是因為CNN模型中卷積層中的卷積核(濾波器)發(fā)揮著提取數據特征作用,通過卷積提取需要的特征然后傳遞給GRU層或者LSTM層。

      綜上所述,在驗證期各種模型對蘭西水文站年徑流預測精度存在的差異較大一些,預測效果最好的方法依次為VMD-SMA-CNN-GRU、VMD-PSO-CNN-GRU、VMD-CNN-LSTM、VMD-GRU、VMD-LSTM、CEEMDAN-CNN-GRU、SMA-CNN-GRU、CNN-GRU。年徑流序列由于受多種因素的影響極其不平穩(wěn),VMD可以自適應處理年徑流序列,對序列進行重構以達到去噪的效果,CNN通過提取數據內部的特征使得GRU后續(xù)能夠更加高效地進行預測,而SMA算法為CNN-GRU模型確定了恰當的參數,因此VMD-SMA-CNN-GRU模型具有良好的適應性和預測性能。

      3 結 論

      在VMD-CNN-GRU模型中,隱含層神經元個數、訓練次數等超參數的設置影響模型擬合效果,利用SMA算法對CNN-GRU混合神經網絡中超參數進行尋優(yōu)改善了模型的性能,避免了人工試算效率低的情況,節(jié)約了運算時間成本同時提高了模型的預測精度。

      分解技術和優(yōu)化算法均能提高模型的預測精度,并且分解技術的作用影響更大。徑流序列具有非線性和非平穩(wěn)的特點,VMD可以將原始序列分解成較為平穩(wěn)的多個子序列,增加數據的同時能夠更好地進行擬合。VMD與CEEMDAN相比,在分解時VMD可以自主地設置合適的模態(tài)個數,能夠有效解決模態(tài)混疊的問題,使得分解精度更高進而預測結果更準確。

      VMD-CNN-GRU模型同時具有CNN網絡和GRU網絡的優(yōu)點。CNN網絡可以充分挖掘數據中的特征,GRU網絡適用于時間序列預測,試驗結果表明兩者的結合可以有效的預測年徑流,為中長期徑流預報提供了一種新途徑。

      猜你喜歡
      黏菌徑流卷積
      養(yǎng)黏菌當寵物,對身體有害嗎
      基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
      黏菌觀察記
      養(yǎng)群黏菌當寵物
      黏菌一點不簡單
      華夏地理(2019年2期)2019-07-24 10:05:57
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標跟蹤算法
      Topmodel在布哈河流域徑流模擬中的應用
      探秘“大徑流”
      攻克“大徑流”
      龙南县| 邹城市| 长顺县| 临西县| 揭阳市| 化德县| 中卫市| 古丈县| 三都| 阿勒泰市| 河北省| 宜丰县| 拉萨市| 错那县| 谢通门县| 从江县| 广安市| 平武县| 潼南县| 天等县| 石屏县| 中山市| 得荣县| 河池市| 射洪县| 三门峡市| 荆门市| 安阳县| 绥江县| 新安县| 临安市| 黑河市| 霍林郭勒市| 东宁县| 怀柔区| 石渠县| 方正县| 读书| 正镶白旗| 新乐市| 阿拉善盟|