国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SGA+DWT的BiLSTM滾動預測優(yōu)化模型

2021-02-14 11:11桑學鋒常家軒
水力發(fā)電 2021年11期
關(guān)鍵詞:遺傳算法種群建模

劉 鑫,桑學鋒,常家軒,鄭 陽

(1.華北水利水電大學水利學院,河南 鄭州 450046;2.中國水利水電科學研究院水資源管理研究室,北京 100038)

0 引 言

水文預測在水庫蓄水、城市供水調(diào)度策略及灌溉等工作中具有非凡的意義,是水利機構(gòu)或其工作人員進行決策時的關(guān)鍵參考,因此能夠精準預測顯得十分重要。為了提高水文預測的精度和可靠性,很多學者從不同角度通過學科交叉,提出了很多先進的方法,如灰色[1-2]、人工神經(jīng)網(wǎng)絡[3]、回歸[4-5]、時間序列[6-7]、深度學習[8-9]等模型。通過數(shù)據(jù)驅(qū)動的方式可以不受物理環(huán)境的影響,建立數(shù)據(jù)間潛在的特征關(guān)系;通過自學習自調(diào)參實現(xiàn)對過去規(guī)律延伸同時,還能通過模型自組織自適應特性,在預測時進行修正,從而使模型能夠較好地預測未來。

但是在長期預測中,時間序列存在較大波動,加上噪聲的影響,使得一些數(shù)據(jù)驅(qū)動模型在長期預測中的性能惡化,預測結(jié)果的誤差較大;甚至有概率出現(xiàn)預測值全部在中位數(shù)附近波動,從而無法為決策者提供有價值的信息。通過大量研究及實驗發(fā)現(xiàn),模型在長期預測中泛化能力變差有以下3個重要因素:一,模型的初始化結(jié)果對模型整個訓練過程及模型泛化能力的影響較大,可以說一個好的初始化可以大大減少模型的調(diào)參時間,甚至不需要很多先進算法的支撐就可以較好擬合。因此,有學者致力于模型的初始化過程,使用啟發(fā)式算法進行預調(diào)參,優(yōu)化初始化過程。但在模型訓練過程中,尋優(yōu)方向具有較大隨機性從而并不能解決根本問題。二,模型在尋優(yōu)的過程中,往往很難獲得全局最優(yōu)解,多數(shù)情況下輸出的結(jié)果都是局部最優(yōu)。通過增加神經(jīng)元及隱藏層數(shù)量,或者以梯度、動量、多種激活函數(shù)等方法期望幫助模型跳出局部最優(yōu)解,但是這樣會大大增加模型的訓練時間,同時也會使模型出現(xiàn)過擬合現(xiàn)象[10-11],仍然會導致模型泛化能力變差。因此,有學者嘗試從不同角度融合多種方法,希望可以獲得全局最優(yōu)解的同時又能解決過擬合現(xiàn)象,遺憾的是結(jié)果并不理想。三,在長期預測時模型很容易受到噪聲的干擾,使得輸出的序列出現(xiàn)明顯波動且波峰與波谷都被明顯的拉長,雖然無限增加訓練次數(shù)可以改善上述現(xiàn)象,但是也會導致嚴重的過擬合現(xiàn)象,使得模型測試時性能惡化。

綜上,本研究提出基于自發(fā)式遺傳算法(spontaneous genetic algorithm,SGA)+離散小波變換(discrete wavelet transform,DWT)的雙向長短時記憶(bidirectional long short term memory,BiLSTM)滾動(rolling)預測模型(SDBiLSTMR)解決上述問題。通過GA[12-13]進行預調(diào)參同時設置監(jiān)視器實現(xiàn)SGA,利用DWT[14]過濾噪聲。同時,為了防止模型的訓練時間大幅度增加,本研究將數(shù)據(jù)從內(nèi)存調(diào)入顯存,將模型訓練時的核心從中央處理單元(central processing unit,CPU)遷移到圖形處理單元(graphics processing unit,GPU)進行數(shù)據(jù)的并行計算,獲得優(yōu)化模型的同時減少建模時間。

1 方 法

長短時記憶(long short term memory,LSTM)模型(見圖1及式(1)~式(6))具有一定的記憶能力,隱藏層除了輸出計算結(jié)果外,還額外輸出一個記憶,該記憶通過一個衰減因子不斷地遺忘較遠的記憶,更依賴于過去最近的記憶。即

圖1 LSTM結(jié)構(gòu)

ft-1=σ(Wfxx(t)+Wfhh(t-1)+If)

(1)

it=σ(Wixx(t)+Wihh(t-1)+Ii)

(2)

mt=φ(Wmxx(t)+Wmhh(t-1)+Ig)

(3)

ot=σ(Woxx(t)+Wohh(t-1)+Io)

(4)

st=st-1ft-1+itMt,ht=φ(st)ot

(5)

φ(x)=(1-e-2x)/(1+e-2x),σ(x)=1/(1+e-2x)

(6)

式中,W和I分別為權(quán)重矩陣和截距矩陣;ft-1為衰減因子;it為輸入單元;mt為記憶單元;ot為輸出單元;st為輸出的記憶狀態(tài);ht為隱藏層輸出。

BiLSTM結(jié)構(gòu)見圖2。由圖2可以看出,BiLSTM融合了前向LSTM與反向LSTM,最終的輸出也是由2個方向的輸出拼接而成的。這使得模型的自學習能力得到增強,但是模型需要調(diào)節(jié)的參數(shù)增加了一倍,輸出的維度也增加了一倍;所以,最后輸出需要進行整流將維度還原。建模流程見圖3。

圖2 BiLSTM結(jié)構(gòu)

圖3 建模流程

1.1 SGA+AME+LS

遺傳算法(GA)不需要確定的規(guī)則,通過選擇、交叉、變異來產(chǎn)生比當前更好的下一代種群,讓適應能力更強的個體保留下來從而完成進化,自動指導優(yōu)化,自適應地完成對復雜空間的啟發(fā)式搜索,找到全局最優(yōu)解的概率較大。本研究除了使用GA進行預調(diào)參外還設置監(jiān)視器,當模型連續(xù)兩次的訓練誤差小于一定閾值時再次啟動遺傳算法實現(xiàn)SGA,進行啟發(fā)式搜索尋找全局最優(yōu)解。

自適應矩估計(adaptive moment estimation,AME)是一種自適應優(yōu)化算法,能夠隨著訓練迭代地更新,公式如下

fmt=m1×fmt-1+(1-m1)×gt

(7)

gt=ΔJ(Wt)

(8)

(9)

(10)

(11)

(12)

式中,fm、sm分別為一階矩估計和二階矩估計;m為動量的大小;g為梯度;fv、sv分別為對一階及二階矩估計的校正;P為模型的參數(shù);η為學習率;ε取10-8;t為迭代次數(shù)。

最小二乘(least square,LS)[15]是數(shù)據(jù)驅(qū)動模型最常用且效果較好的求解方法,本文不再贅述。其公式為

(13)

式中,Y為實測值矩陣;E為估計值矩陣。本研究數(shù)據(jù)載體全部為矩陣,這樣迭代一次等于逐元素計算迭代n次。

1.2 離散小波變換

噪聲對模型的構(gòu)建存在較大的影響,而小波分析是過濾噪聲的有效手段。小波分析分為連續(xù)小波變換(continuous wavelet transform,CWT)和離散小波變換(DWT)。對于逐日數(shù)據(jù)而言,嚴格意義上是離散數(shù)據(jù),雖然可以對數(shù)據(jù)進行插值連續(xù)化,但隨著時間尺度的減小意味著無窮次的計算,因此本研究采用DWT。

時間序列一般存在低頻分量與高頻分量,根據(jù)以往大量實驗發(fā)現(xiàn),噪聲多數(shù)是高頻分量,實測數(shù)據(jù)多數(shù)為低頻分量,而DB小波具有較好的正交性,對序列分解、修正、重構(gòu)后,對高頻分量的過濾效果較好。

1.3 滾動預測

目前,數(shù)據(jù)驅(qū)動模型中往往是單步預測,這種預測方式在短期預測中普遍適用,但是在長期預測中存在一定的缺陷。因為時間序列模型對較久遠的數(shù)據(jù)會進行衰減,因此,模型更傾向于將最近的規(guī)律進行延伸。而一次延長較長的序列,離訓練集越遠的數(shù)據(jù)無法有效延伸。

本研究將預測滾動進行以解決上述問題。讓模型每次只預測一個子序列,然后將該子序列融入訓練集使模型再進行學習,然后再預測一個子序列,如此滾動預測直到預測完畢。

1.4 評價標準

本研究從不同角度選擇了4個評價標準以綜合評價模型的性能,他們分別是均方誤差(mean squared error,MSE)、納什系數(shù)(Nash-Sutcliffe efficiency coefficient,NSE)、平均相對誤差(mean relative error,MRE)、Pearson相關(guān)系數(shù)(r),公式如下。

MSE=∑(yi-pi)2/n,i=1, 2, …,n

(14)

(15)

(16)

(17)

2 應 用

本研究利用深圳2015年1月~2019年12月共1 826 d的無空缺逐日供水數(shù)據(jù)按8∶2劃分訓練集與測試集,并與使用SGA+DWT優(yōu)化的LSTM(SDLSTM)及BiLSTM(SDBiLSTM)的預測結(jié)果進行對比;同時,按7∶3劃分訓練集與測試集進行交叉驗證。本研究數(shù)據(jù)來源于深圳市水務集團。訓練集結(jié)果見表1。由表1可知,訓練完畢后3個模型在訓練集上都較好擬合。

表1 訓練集結(jié)果

2.1 預測結(jié)果對比分析

8∶2劃分訓練集與測試集的預測結(jié)果和7∶3劃分訓練集與測試集的預測結(jié)果分別見表2、3。

由表2可知,3個模型的MSE、NSE、MRE及r從最優(yōu)到最差排序都是:SDBiLSTMR、SDBiLSTM、SDLSTM,其中SDBiLSTMR的泛化能力最強。SDBiLSTMR的MSE最小NSE最大說明模型的誤差最小擬合度最高,MRE最小說明模型的穩(wěn)定性最好,系數(shù)r最大說明預測值與實測值的相關(guān)性最強。SDBiLSTM比SDLSTM的MSE減小了83.91%,NSE提高了39.06%,MRE減小了96%,r提高了11.76%,SDBiLSTM的4個指標都比SDLSTM的更優(yōu),可知雙向網(wǎng)絡的性能要更優(yōu);SDBiLSTMR比SDBiLSTM的MSE減小了13.04%,NSE提高了3.37%,MRE減小了25%,r提高了1.05%,SDBiLSTMR的4個指標都優(yōu)于SDBiLSTM,說明滾動預測效果比單步預測精度更高。

表2 8∶2預測結(jié)果對比

由表3可以看出,交叉驗證集上,模型性能排序從最優(yōu)到最差依然是:SDBiLSTMR、SDBiLSTM、SDLSTM。SDLSTM在延長預測長度后,性能出現(xiàn)惡化,MSE增加了30.77%,NSE降低了43.75%,MRE增加了10%,r降低了11.76%,模型的誤差、擬合度、穩(wěn)定性及相關(guān)性都變差了。而從雙向網(wǎng)絡的4個指標可以看出,模型仍然表現(xiàn)出了較好的性能,說明雙向網(wǎng)絡在延長預測長度后依舊可以有效進行預測。其中仍然是SDBiLSTMR的泛化能力最強。與SDBiLSTM相比,SDBiLSTMR模型的MSE減小了16%,NSE提高了4.76%,MRE減小了25%,r提高了2.15%,在交叉驗證中滾動預測仍然比單步預測的效果更好。

表3 7∶3預測結(jié)果對比

2種劃分方式的擬合結(jié)果及誤差條見圖4。由圖4a、4b可以看出,模型的誤差主要體現(xiàn)到后半段,前半段3個模型的表現(xiàn)都較好。但當預測長度增加到一定程度時,SDLSTM模型的曲線明顯偏離實測值,誤差及擬合程度都較差;而SDBiLSTM與SDBiLSTMR曲線與實測值偏離較小,模型依舊保持較好的性能。由此也可以證明,BiLSTM的泛化能力強于LSTM。其中,SDBiLSTM雖然誤差也較小,但是后半段的曲線縱向延伸度不夠;而SDBiLSTMR模型在后半段曲線縱向延伸度較好,與實測值的擬合度最佳,模型最接近無偏估計。為了更加直觀地看出誤差,圖4c、4d展示了測試集后150個數(shù)據(jù)的誤差條。由圖4c、4d可以看出,在2個測試集上SDLSTM預測曲線差別很大且誤差條很長,代表模型的誤差非常大;2個雙向網(wǎng)絡的預測曲線變化很小且誤差條較短,說明模型的誤差較小,其中SDBiLSTMR的誤差最小。

圖4 擬合結(jié)果及誤差條

MSE只是模型預測值與估計值的最終對比,只能說明最終結(jié)果的好壞,而不能體現(xiàn)模型是否足夠可靠。因此,本研究進一步使用式(18)計算每個預測數(shù)據(jù)的相對誤差(RE),通過全部預測數(shù)據(jù)的RE來驗證模型的可靠性。即

RE=|(yi-pi)/yi|

(18)

RE箱圖見圖5。由圖5可以直觀地看出,2個測試集箱圖的規(guī)律是一致的,RE的上限從大到小排序都是SDLSTM、SDBiLSTM、SDBiLSTMR,RE密度從低到高都是SDLSTM、SDBiLSTM、SDBiLSTMR。8∶2的測試集上,SDBiLSTMR模型箱圖的上下限分別是4.71%與1.46%,上下限的距離最短,中位數(shù)和平均值最小,分別是2.9%與3.47%;7∶3的測試集上,SDBiLSTMR模型箱圖的上下限分別是5.03%與1.2%,上下限的距離最短,中位數(shù)和平均值最小,分別是2.64%與3.45%,由箱圖可知,SDBiLSTMR模型最可靠。

圖5 RE箱圖

當模型比較復雜參數(shù)較多時,使用矩陣作為數(shù)據(jù)的載體不僅可以減少迭代次數(shù),還能在GPU上并行計算,較大程度減少建模時間(見表4)。本研究使用第八代intel酷睿i7處理器和GeForce 930MX實現(xiàn)CPU和GPU上的5 000次訓練,本研究將SDBiLSTMR分3步預測,因此訓練次數(shù)為15 000次。

表4 建模時間 s

由表4可以看出,3個模型建模時間較短,且在GPU上的訓練時間明顯少于CPU上的訓練時間。SDLSTM、SDBiLSTM及SDBiLSTMR模型在GPU上的訓練時間比CPU減少了21.96%、26.74%、27.5%。對于SDBiLSTM而言,網(wǎng)絡的參數(shù)是SDLSTM的2倍,但是模型在GPU上的訓練時間只增加了64 s,而在CPU上訓練卻增加了104 s。對于SDBiLSTMR而言,相當于構(gòu)建了3次SDBiLSTM,在GPU上訓練時間只增加了193 s,而在CPU上增加了270 s,由此充分證明了以矩陣作為數(shù)據(jù)載體的迭代效率非常高,此外網(wǎng)絡越復雜參數(shù)越多,訓練次數(shù)越多,GPU越能表現(xiàn)出強大的性能。

2.2 啟示

通過實驗發(fā)現(xiàn),遺傳算法雖然可以自發(fā)啟動幫助模型跳出局部最優(yōu)解,但是算法有一定的局限性,即存在誤差下限,本研究提取種群大小為50迭代200次的結(jié)果(見圖6)。

圖6 種群分布及誤差變化

由圖6的種群分布可以直觀地看出,遺傳算法初期展示了很強大的性能,第20代時種群大多數(shù)個體都分布在誤差0.01~0.02的位置,但是當?shù)?0代的時候誤差的減小速度趨近于0,當?shù)?00代時,誤差停留在0.005不能再減小。通過連續(xù)啟動遺傳算法,結(jié)合模型自身的優(yōu)化器+激活函數(shù)才可以使模型在訓練集的誤差繼續(xù)減小。這是因為種群的進化過程存在一些缺陷(見圖7)。

圖7 種群進化過程

遺傳算法通過選擇、交叉、變異來產(chǎn)生更優(yōu)的新一代種群。但從圖7可以看出,種群在進化時經(jīng)常會變差或者連續(xù)較多代沒有產(chǎn)生更優(yōu)化的后代,直到達到一定的迭代次數(shù)后才產(chǎn)生更優(yōu)化的后代。主要原因是隨機地迭代搜索對全局尋優(yōu)的影響較大。算法初期設置較大的交叉變異概率可以加速全局尋優(yōu),后期減小概率能得到適應度值高的個體。因此,很多學者會設置自適應交叉變異概率,即設置一個衰減因子,算法剛開始時設置一個較大的概率值,隨著迭代的進行不斷對概率值進行衰減。但是這種方法的穩(wěn)定性較差,因為種群中的個體在進化的同時,會產(chǎn)生較差的一代(退化現(xiàn)象),而退化的個體使得衰減的交叉變異概率無法保證算法的收斂,從而使得計算結(jié)果非常不穩(wěn)定。綜上,未來的研究方向應該是著重解決種群個體的退化現(xiàn)象。

3 結(jié) 論

在制訂城市未來的供需水調(diào)度計劃時,需要掌握盡可能準確的需水量才能合理地分配有限的水資源;因此,能夠準確地進行長期預測,可為供需水計劃的制訂提供強有力的支撐。LSTM模型在預測達到一定長度時的誤差明顯增大,通過融合先進方法依然不能很有效地解決這個問題,主要原因是模型的學習能力不夠。本研究提出了基于SGA+DWT的BiLSTM滾動預測模型SDBiLSTMR,將LSTM由單向變?yōu)殡p向,實現(xiàn)遺傳算法的自發(fā)式調(diào)用;同時,將DWT引入過濾噪聲,并采用滾動預測的方式,有效降低了長期預測的誤差,提高了納什系數(shù),并得出以下結(jié)論:

(1)BiLSTM的學習能力比LSTM的學習能力更強。

(2)建模中,以矩陣作為數(shù)據(jù)載體可以更加高效地完成迭代。

(3)當模型越復雜參數(shù)越多、訓練次數(shù)越多時,GPU展現(xiàn)出強大的并行計算能力,比CPU的建模時間有較大提升。

(4)SDBiLSTMR模型MSE最小,NSE最大,RE箱圖上限較小、密度集中,預測曲線變化較小、誤差線較短,比單步預測的精度更高,泛化能力更強,最接近無偏估計。

(5)遺傳算法的個體在進化的同時,也可能存在退化。這將導致算法不穩(wěn)定且有概率出現(xiàn)不收斂的現(xiàn)象,因此解決種群中的退化現(xiàn)象是后續(xù)研究的重點。

猜你喜歡
遺傳算法種群建模
山西省發(fā)現(xiàn)刺五加種群分布
基于雙種群CSO算法重構(gòu)的含DG配網(wǎng)故障恢復
基于遺傳算法的高精度事故重建與損傷分析
聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
求距求值方程建模
基于遺傳算法的智能交通燈控制研究
基于PSS/E的風電場建模與動態(tài)分析
由種群增長率反向分析種群數(shù)量的變化
一種基于遺傳算法的聚類分析方法在DNA序列比較中的應用
基于改進多島遺傳算法的動力總成懸置系統(tǒng)優(yōu)化設計