?

基于數據處理與若干群體算法優化的GRU/LSTM水質時間序列預測

2023-09-11 07:17楊坪宏崔東文
水資源與水工程學報 2023年4期
關鍵詞:獵豹捕食者水質

楊坪宏, 胡 奧, 崔東文, 楊 杰

(1.云南省水文水資源局, 云南 昆明 650106; 2.臨滄潤汀水資源科技服務有限公司,云南 臨滄 677000; 3.云南省文山州水務局, 云南 文山 663000; 4.北京全路通信信號研究設計院集團有限公司昆明分公司, 云南 昆明 650041)

1 研究背景

提高水質時間序列預測精度對于水環境治理和水生態保護具有重要意義[1]。當前,除MIKE 21等水質模擬模型外,有關水質預測的方法可分為3類。第1類是以逐步回歸為代表的傳統預測方法;第2類是以機器學習為代表的預測方法,如BP(back propagation)神經網絡[2-3]、支持向量回歸機[4]、長短期記憶神經網絡(long short-term memory networks,LSTM)[5-6]、非線性自回歸神經網絡[7]等,此類方法提高了對非線性問題的處理能力,但權值閾值或關鍵參數的合理選取制約了其預測精度的提升,目前普遍采用群體智能算法進行尋優,并獲得較好的預測效果。第3類是組合預測法,組合預測法分兩種方式,一種是基于兩個或兩個以上預測器的組合預測,如TimeGAN-CNN(convolutional neural networks)-LSTM模型[8]、GRNN(general regression neural network)-Markov模型[9]、STG(spatial-temporal graph)-LSTM模型[10]等,組合預測方法的特點是利用各模型的優勢來克服單一預測模型的不足,但預測結果往往存在較大的不確定性;另一種是基于信號分解技術的預測方法,該方法利用分解技術將時序數據分解為若干更具規律的子序列分量,通過對子序列分量進行預測、重構后得到最終預測結果。由于基于信號分解技術的預測方法具有較好的預測精度,該方法已在水質時間序列預測研究中得到廣泛應用,如孫銘等[11]提出的小波分解-長短期記憶網絡(W-LSTM)時間序列預測模型;金昌盛等[12]提出的奇異譜分析-遺傳算法-BP神經網絡(SSA-GA-BP)預測模型;顧乾暉等[13]提出的變分模態分解-粒子群優化算法-長短期記憶神經網絡(VMD-PSO-LSTM)預測模型;李建文等[14]提出的集合經驗模態分解-支持向量回歸機(EEMD-SVR)預測模型;白雯睿等[15]提出的變分模態分解-卷積神經網絡-長短期記憶神經網絡(VMD-CNN-LSTM)組合水質預測模型。

近年來,隨著大數據和人工智能的發展,LSTM、門控循環單元(gated recurrent unit,GRU)已被應用于水質預測[15-16]的研究中。LSTM是循環神經網絡(recurrent neural network,RNN)的變種,其克服了RNN面臨的梯度消失和梯度爆炸問題 ,在問題分類[17]、預測研究[18-21]等領域應用廣泛。GRU是LSTM的變種,與LSTM相比,GRU擁有更低的復雜度以及更好的預測性能,被應用于各類預測研究[22-24]之中。在實際應用中,GRU/LSTM超參數(包括層數、學習率、隱含層節點數、dropout、LearnRateDropPeriod等)對GRU/LSTM預測性能具有較大影響,需要通過人工不斷調整試錯得到GRU/LSTM超參數,不僅要求操作人員具有豐富的調參經驗,而且極易陷入局部極值,難以滿足GRU/LSTM的預測需求。目前,海洋捕食者算法[18]、粒子群優化算法等[25-28]群體智能算法(swarm intelligence algorithms,SIA)已在尋優GRU/LSTM超參數中得到應用,并取得了較好的調優效果。

為提高pH值及CODMn、DO、NH3—N濃度時間序列的預測精度,改進GRU/LSTM的預測性能,拓展SIA在GRU/LSTM超參數調優中的應用范疇,本文基于小波包變換(wavelet packet transform,WPT)分解技術和“分解算法+智能算法+預測模型+疊加重構”思想,研究提出采用變色龍優化算法(chameleon swarm algorithm,CSA)、獵豹優化(cheetah optimization,CO)算法、山瞪羚優化(mountain gazelle optimization,MGO)算法分別調優GRU/LSTM超參數的水質時間序列預測模型,并構建WPT-GRU、WPT-LSTM模型及基于SVM預測器的WPT-CSA-SVM、WPT-CO-SVM、WPT-MGO-SVM模型進行對比分析,然后通過云南省昆明市觀音山斷面pH值、DO、CODMn、NH3—N預測實例對各模型進行檢驗。

2 數據來源與研究方法

2.1 數據來源

本文以云南省昆明市觀音山斷面2004—2015年逐周pH值及CODMn、DO、NH3—N濃度時間序列預測為例對各模型進行驗證。原始pH值及CODMn、DO、NH3—N濃度數據來源于原環境保護部數據中心的水質周報,共624組,對于個別缺失數據采用線性法進行插補,昆明市觀音山斷面水質時間序列3D圖見圖1。從圖1可以看出,該斷面水質pH值及CODMn、DO、NH3—N濃度時序數據呈現出非線性、多尺度等特征,起伏變化激烈。

圖1 昆明市觀音山斷面水質時間序列3D圖

2.2 研究方法

2.2.1 小波包變換(WPT) WPT能同時對信號低頻部分和高頻部分進行分解,更適用于水質時間序列分解。WPT對pH值及CODMn、DO、NH3—N濃度原始信號進行分解的公式為[29-32]:

(1)

重構算法為:

(2)

式中各參數意義見文獻[32]。

2.2.2 變色龍優化算法(CSA) CSA是Malik等于2021年提出的一種新型智能優化算法,該算法通過對變色龍搜索獵物、鎖定獵物、攻擊獵物3種行為進行數學建模來求解待優化問題[33-34],CSA數學描述具體見文獻[34]。

2.2.3 獵豹優化(CO)算法 CO算法是Akbari等[35]于2022年受自然界獵豹狩獵啟發而提出的一種新型智能優化算法。該算法通過模擬獵豹在狩獵過程中搜索、坐等和攻擊3種策略來實現位置更新,即待優化問題的求解。CO算法數學描述如下:

(1)初始化。與其他群體智能優化算法類似,CO算法也是從種群初始化開始。設在d維搜索空間中,獵豹初始化位置描述為:

Xi,j=LBj+rand·(UBj-LBj)

(3)

(i=1,2,…,n;j=1,2,…,d)

式中:Xi,j為第i頭獵豹第j維位置;UBj、LBj為第j維搜索空間上、下限值;rand為介于0和1之間的隨機數;n為獵豹種群規模;d為問題維度。

(2)搜索策略。獵豹在其領地(搜索空間)或周圍區域進行全范圍掃描或主動搜索,以找到獵物。該策略數學描述為:

(4)

(3)坐等策略。在搜索模式下,獵物可能會暴露在獵豹視野中,在這種情況下,獵豹的每一個動作都可能會導致獵物逃跑。為避免該情況發生,獵豹采取坐等伏擊策略(躺在地上或躲進灌木叢)以接近獵物。該策略數學描述為:

(5)

該策略不但可提高狩獵成功率(獲得最優解),而且還避免了CO過早收斂。

(4)攻擊策略。在CO算法中,種群中每頭獵豹都可以根據逃跑獵物、領頭獵豹或附近獵豹的位置來調整自己的位置,以獲得最佳攻擊位置。該策略數學描述為:

(6)

2.2.4 山瞪羚優化(MGO)算法 MGO是Abodollahzadeh等[36]于2022年受自然界中瞪羚生存能力啟發而提出的一種新型群體智能優化算法。該算法通過對瞪羚覓食(開發階段,在沒有捕食者或在捕食者跟蹤情形下)、逃離(探索階段,發現捕食者)行為進行數學建模求解待優化問題。MGO算法數學描述如下:

(1)初始化。與其他群體智能優化算法類似,MGO也是從種群初始化開始。設在d維搜索空間中,瞪羚種群為N的個體初始化位置描述為:

xi,j=LBj+rand·(UBj-LBj)

(7)

(i=1,2,…,N;j=1,2,…,d)

式中:xi, j為第i只瞪羚第j維位置;UBj、LBj為第j維搜索空間上、下限值;rand為介于0和1之間的隨機數;N為瞪羚種群規模;d為問題維度。

(2)覓食(開發)階段。MGO中,假設在沒有捕食者或在捕食者跟蹤情形下,瞪羚悠閑地覓食,并在覓食時以布朗運動進行移動,瞪羚位置更新數學描述為:

(8)

(3)逃離(探索)階段。MGO中,瞪羚一旦發現捕食者就迅速奔跑,并通過快速奔跑和突然改變方向來逃離捕食者。假設瞪羚起步階段采用布朗運動,奔跑階段改用Lévy飛行。瞪羚發現捕食者時,其位置更新描述為:

(9)

捕食者追逐瞪羚時,其位置更新描述為:

(10)

式中:CF為捕食者移動的控制參數,描述為CF=(1-l/T)(2l/T);l為當前迭代次數;T為最大迭代次數;其他參數意義同上。

(4)捕食成功率。研究表明,雖然瞪羚不是瀕危物種,但其年存活率為66%,這意味著捕食者捕食成功率僅為34%。MGO通過捕食者成功率PSR來避免算法陷入局部最小值,數學描述如下:

(11)

2.2.5 長短期記憶神經網絡 LSTM在隱藏層單元中設計了遺忘門、輸入門和輸出門,利用輸出門來控制單元狀態ct的當前輸出值ht,LSTM結構如圖2所示。

圖2 LSTM結構示意圖

設輸入序列為(x1,x2,…,xT),隱含層狀態為(h1,h2,…,hT),則在t時刻有[18-22]:

it=σ(Whiht-1+Wxixt+bi)

(12)

ft=σ(Whfht-1+Whfxt+bf)

(13)

ct=ft·ct-1+it·g(Whcht-1+Wxcxt+bc)

(14)

ot=σ(Whoht-1+Woxxt+Wcoct+bo)

(15)

ht=o·g(ct)

(16)

為使LSTM滿足預測目的,需加上一個線性回歸層,即:

yt=Wyoht+by

(17)

上式中各參數意義見文獻[18]、[19]。

2.2.6 門控循環單元 GRU結構與LSTM類似,是將LSTM的更新門和遺忘門整合為新的更新門,相比于LSTM,其結構更加簡單、訓練參數更少,因此收斂速度也就更快[22-25],GRU結構如圖3所示。

圖3 GRU結構示意圖

GRU的迭代公式如下:

zt=σ(Wz·[ht-1,xt])

(18)

rt=σ(Wr·[ht-1,xt])

(19)

(20)

(21)

式中:z為更新門;r為重置門;W為權重矩陣;σ為sigmoid函數;h為輸出值; *為哈達瑪積(Hadamard product); 下標t表示t時刻。

2.3 預測步驟

WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU、WPT-CSA-LSTM、WPT-CO-LSTM、WPT-MGO-LSTM模型的預測步驟歸納如下:

步驟1:利用WPT將pH值及CODMn、DO、NH3—N濃度時序數據進行2層分解,分別得到1個趨勢項分量[2,4]和3個周期項分量[2,1]~[2,3],其中趨勢項分量可有效反映原始水質數據的趨勢性,周期項分量可反映原始水質數據的微小震蕩變化,如圖4所示。

圖4 pH值及CODMn、DO、NH3—N濃度時間系列數據的WPT分解

本文選取pH值及CODMn、DO、NH3—N濃度時序數據的70%作為訓練樣本,剩余30%作為預測樣本。

步驟2:基于SPSS軟件,利用偏自相關函數(partial autocorrelation function, PACF)確定各分解分量的輸入步長k。經計算,pH值及CODMn、DO、NH3—N濃度趨勢項分量[2,4]的k值均為1;周期項分量[2,1]~[2,3]的k值均為2,即利用前k周的水質數據預測當前水質。各模型的輸入、輸出可表述為:

(22)

(23)

式中:l為樣本數量;k為輸入步長。

步驟3:GRU/LSTM預測性能的優劣取決于其超參數的選擇。本文利用2層GRU/LSTM網絡進行預測,并利用各分量訓練樣本構建變色龍優化算法(CSA)、獵豹優化(CO)算法、山瞪羚優化(MGO)算法調優GRU/LSTM超參數的適應度函數f:

(24)

式中:m1、m2分別為第1、第2隱藏層神經元數;dr1、dr2分別為dropout_1、dropout_2參數;c為學習率;L1為Learn Rate Drop Period參數;L2為Learn Rate Drop Factor參數;下標min、max分別為各調優參數搜索空間上、下限值;其他參數意義同上。

步驟4:設置變色龍優化算法(CSA)、獵豹優化(CO)算法、山瞪羚優化(MGO)算法種群規模為30,最大迭代次數為100,其他采用算法默認值初始化變色龍、獵豹、山瞪羚空間位置。

設置GRU/LSTM超參數[m1,m2,dr1,dr2,c,L1,L2]搜索空間下限為[8,8,0.001,0.001,0.001,0.0001,0.1],上限為[128,128,0.5,0.5,0.5,1,1],激活函數選用tanh函數;SVM懲罰因子、核函數參數、損失系數搜索空間下限設置為[0.01,0.01,0.001],上限設置為[100,100,0.1],交叉驗證折數設置為3,原始數據采用[-1,1]進行歸一化處理。本文WPT-LSTM、WPT-GRU模型中的超參數采用試錯法確定。

步驟5:基于公式(24)計算變色龍優化算法(CSA)、獵豹優化(CO)算法、山瞪羚優化(MGO)算法計算個體的適應度值,找到并保存最佳個體位置。令t=1。

步驟6:分別利用上述變色龍優化算法(CSA)、獵豹優化(CO)算法、山瞪羚優化(MGO)算法位置更新算子更新個體新位置。

步驟7:利用個體位置更新后的變色龍優化算法(CSA)、獵豹優化(CO)算法、山瞪羚優化(MGO)算法計算個體適應度值,再比較并保存當前最佳個體位置。

步驟8:令t=t+1,若t=T,則結束算法;否則返回步驟6。

步驟9:輸出最佳個體位置,該位置即為最佳GRU/LSTM超參數向量。利用該向量建立WPT-CSA-GRU等6種模型對各分量進行預測和重構。

步驟10:利用平均絕對百分比誤差MAPE、平均絕對誤差MAE、均方根誤差RMSE和決定系數DC對模型進行評價。其中,MAPE、MAE用于反映模型預測誤差大小,RMSE用于衡量觀測值與真值之間的偏差,MAPE、MAE、RMSE越小則說明模型性能越優、預測精度越高;DC反映變量之間相關關系的密切程度,其值越大則說明模型性能越好。

3 算法驗證與結果分析

構建WPT-CSA-GRU等11種模型對實例斷面(云南省昆明市觀音山斷面)pH值等4個水質指標進行訓練及預測,預測結果評價及對比見表1,預測相對誤差見圖5。

注:預測模型序列1~11分別為WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU、WPT-CSA-LSTM、WPT-CO-LSTM、WPT-MGO-LSTM、WPT-GRU、WPT-LSTM、WPT-CSA-SVM、WPT-CO-SVM、WPT-MGO-SVM模型圖5 各預測模型對實例斷面4個水質指標預測結果的相對誤差

依據表1及圖5可以得出以下結論:

(1)WPT-CSA-GRU等6種模型對實例pH值預測的MAPE為0.230%~0.459%、MAE為0.019~0.037 mg/L、RMSE為0.023~0.046 mg/L,決定系數DC>0.993;對CODMn濃度預測的MAPE為0.991%~1.823%、MAE為0.096~0.182 mg/L、RMSE為0.129~0.228 mg/L,決定系數DC>0.991;對DO濃度預測的MAPE為1.200%~2.685%、MAE為0.073~0.154 mg/L、RMSE為0.094~0.201 mg/L,決定系數DC>0.984;對NH3—N濃度預測的MAPE為5.391%~11.383%、MAE為0.014~0.030 mg/L、RMSE為0.019~0.042 mg/L,決定系數DC>0.992,預測精度優于WPT-GRU、WPT-LSTM,遠優于WPT-CSA-SVM、WPT-CO-SVM、WPT-MGO-SVM模型。以MAPE評價指標為例,WPT-CSA-GRU等6種模型對pH值及CODMn、DO、NH3—N濃度的預測精度較WPT-GRU、WPT-LSTM模型分別提高了45.1%、32.7%、15.9%、41.3%以上,較WPT-CSA-SVM、WPT-CO-SVM、WPT-MGO-SVM模型分別提高了68.2%、70.0%、67.7%、69.7%以上??梢?本文提出的WPT-CSA-GRU等6種模型具有較好的預測效果,應用于水質預測是可行的。其中,WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU模型的預測效果優于WPT-CSA-LSTM、WPT-CO-LSTM、WPT-MGO-LSTM模型,具有更高的預測精度和更好的泛化能力。

(2)WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU模型對pH值及CODMn、DO、NH3—N濃度預測的MAPE較WPT-GRU模型分別提高了62.9%、59.6%、40.8%、63.7%以上;WPT-CSA-LSTM、WPT-CSA-LSTM、WPT-CSA-LSTM模型預測的MAPE較WPT-LSTM模型分別提高了34.4%、36.7%、20.7%、43.6%以上,表明CSA、CO、MGO能有效優化GRU/LSTM超參數,不但提高了GRU/LSTM預測性能,而且還克服了人工調節超參數帶來的高不確定性和效果不佳的缺點,其中CSA優化效果最佳。

(3)從模型預測效果對比來看,WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU模型的預測效果最佳,WPT-CSA-LSTM、WPT-CO-LSTM、WPT-MGO-LSTM模型預測效果次之,WPT-GRU、WPT-LSTM模型預測效果一般,WPT-CSA-SVM、WPT-CO-SVM、WPT-MGO-SVM模型預測效果最差;從4個水質指標的時序數據變化及預測效果對比來看,pH值時序數據起伏變化不大,預測效果最好;CODMn、DO時序數據起伏變化較大,預測效果較好;NH3—N時序數據起伏變化最大,預測效果相對較差。

4 討 論

深度學習是由多個非線性映射隱含層組成的一種神經網絡,能較好地挖掘數據之間的非線性。近年來,隨著深度學習的快速發展,以LSTM、GRU為代表的深度學習已經成為當前研究的熱點,并被廣泛應用于水質預測[37-39]領域。LSTM是RNN的變種,克服了RNN面臨的梯度消失和梯度爆炸問題,能夠解決其他深度學習算法無法處理的時間長期依賴問題;GRU是LSTM的變種,是為解決長期記憶和反向傳播中的梯度等問題而提出來的,與LSTM相比,GRU擁有更低的復雜度以及更好的預測性能。在實際應用中,LSTM、GRU預測精度和收斂性在很大程度上依賴于超參數(如層數、學習率、隱含層節點數等),而超參數的設置普遍采用手工試錯的方法,難以滿足GRU/LSTM預測需求。CSA、CO、MGO具有良好的全局搜索能力,應用CSA、CO、MGO調優GRU/LSTM超參數得到全局最優解,不但克服了LSTM、GRU易陷入局部最優從而影響預測精度的缺點,而且還使模型獲得了較好的智能化水平。此外,水質時間序列具有較強的非線性和多尺度等特征,采用WPT進行分解處理,將水質時間序列分解為多個更具規律的模態分量,不但可降低模型預測器的預測難度,而且還大大減少了模型的預測誤差。

GRU與LSTM相比,其在結構上更具優勢,從WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU模型與WPT-CSA-LSTM、WPT-CO-LSTM、WPT-MGO-LSTM模型的pH值及CODMn、DO、NH3—N濃度預測結果對比來看,WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU模型利用重置門控制當前信息和記憶信息的數據量,并生將成新的記憶信息繼續向前傳遞,具有更好的適應性與預測能力。

當然,本文提出的WPT-CSA-GRU等6種預測模型存在訓練時間長、系統資源消耗大等缺點和不足。同時本文僅利用了云南省昆明市觀音山斷面pH值及DO、CODMn、NH3—N濃度的歷史數據作為輸入,未考慮滇池補水、水溫以及降水等因素的影響,因此,該模型及預測精度仍有進一步提升的空間。

5 結 論

為提高水質時間序列的預測精度,本文提出了WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU、WPT-CSA-LSTM、WPT-CO-LSTM、WPT-MGO-LSTM預測模型,并構建了若干個對比模型,結合云南省昆明市觀音山斷面2004—2015年逐周pH值及CODMn、DO、NH3—N濃度預測算例,得到如下結論:

(1)本文提出的WPT-CSA-GRU等6種模型預測誤差小于其他對比模型,具有較高的預測精度和較好的泛化能力,將其用于水質時間序列預測是可行的。其中WPT-CSA-GRU、WPT-CO-GRU、WPT-MGO-GRU模型對pH值及CODMn、DO、NH3—N濃度預測的MAPE分別在0.230%~0.310%、0.991%~1.093%、1.200%~1.891%、5.391%~7.030%之間,DC均在0.99以上,具有更好的預測效果。

(2)針對隨機性、波動性較強的水質時間序列,利用WPT對其進行平穩化處理,可得到更具規律的趨勢項分量和周期項分量,大大減少了混合模型的預測誤差。

(3)針對GRU/LSTM因超參數選擇不當而導致預測性能低下的問題,利用CSA、CO、MGO調優GRU/LSTM超參數,不但提高了GRU/LSTM的預測性能,而且克服了人工調節超參數帶來的高不確定性和效果不佳的缺點。

(4)本文提出的模型及方法可為相關時間序列數據處理、GRU/LSTM超參數調優以及時間序列預測研究提供參考。

猜你喜歡
獵豹捕食者水質
水質抽檢豈容造假
兩只獵豹
交錯擴散對具有Ivlev型功能反應的捕食模型共存解存在性的作用
追捕:獵豹的驚天一跳
一月冬棚養蝦常見水質渾濁,要如何解決?這9大原因及處理方法你要知曉
獵豹
具有Allee效應隨機追捕模型的滅絕性
一類隨機食餌-捕食者模型的參數估計
瘋狂的捕食者
閃電殺手獵豹
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合