易洋,何先波,王淳睿
(1 西華師范大學(xué) 電子信息工程學(xué)院,四川 南充 637009;2 西華師范大學(xué) 計算機學(xué)院,四川 南充 637009)
藻華是目前嚴重的水生態(tài)環(huán)境問題之一,造成水質(zhì)問題和生態(tài)環(huán)境破壞。隨著大數(shù)據(jù)時代的到來和人工智能的發(fā)展,數(shù)據(jù)驅(qū)動方法在藻華預(yù)測上的應(yīng)用逐漸得到重視[1]。其中,神經(jīng)網(wǎng)絡(luò)算法已成功運用在多種水域的葉綠素預(yù)測上,如中國江蘇省太湖區(qū)[2]、浙江省西湖[3]。LSTM 在傳統(tǒng)RNN 的基礎(chǔ)上引入了改進,通過增加門控接構(gòu)和記憶單元,使得網(wǎng)絡(luò)上可以自由地選擇已經(jīng)丟失和保留下來的信息,從而解決了梯度下降和梯度消失的問題。目前,國內(nèi)學(xué)者也嘗試著把LSTM 方法運用在對藻類變化趨勢的預(yù)報上,如Wang 等人[4]使用福建2009~2011年的海洋在線監(jiān)測數(shù)據(jù),構(gòu)建了LSTM 時空分布模型,用于預(yù)測葉綠素a未來的濃度變化趨勢,并且在預(yù)測葉綠素a濃度的變化趨勢上取得了較好的成效。Shin 等人[5]提出了基于LSTM 和海表溫度數(shù)據(jù)及光合有效輻射數(shù)據(jù)的水華預(yù)測模型。然而LSTM 的模型效果受到輸入變量可靠性的限制,藻類的在線監(jiān)測數(shù)據(jù)具有離散性,在模擬藻類動態(tài)變化趨勢時模型可能會受到一定的限制,并且在線監(jiān)測數(shù)據(jù)由于自身的局限性,往往展現(xiàn)出非平穩(wěn)性,因此引入奇異譜分析對時間序列進行處理,可以使LSTM 模型更容易捕捉到時間序列隱藏的變化的趨勢。例如,Cui 等人[6]將SSA 和LGBM(Light Gradient Boosting Machine)算法相結(jié)合,構(gòu)建了降雨時序數(shù)據(jù)的預(yù)測模型,實驗結(jié)果表明,經(jīng)過奇異譜分析降噪處理后的數(shù)據(jù)能夠更有效地和神經(jīng)網(wǎng)絡(luò)相結(jié)合,從而提高預(yù)測性能。
基本的奇異譜分析包括2 個階段:分解和重建。其中,分解階段包括2 個步驟:嵌入和奇異值分解(SVD)。重建階段也包括2 個步驟:分組和對角平均??紤]一個長度為N(N >2)的實值時間序列F={x1,x2,…,xN},這里擬給出4 個步驟的闡釋分述如下。
1.1.1 嵌入
嵌入過程將原始時間序列映射為多維滯后向量序列。設(shè)窗口長度L為整數(shù),1<L <N,則信號向量的軌跡矩陣X為:
其中,K=N -L +1。
需要指出的是,輸出軌跡矩陣是漢克爾矩陣,這意味著所有沿對角線的元素都是相等的。
1.1.2 SVD
在這一步中,對軌跡矩陣X進行奇異值分解,設(shè)S=XXT,λ1,λ2,…,λL是降序排列的S的特征值(λ1≥…≥λL≥0),U1,…,UL是對應(yīng)于這些特征值的矩陣S的標(biāo)準(zhǔn)正交向量。設(shè)d=rank(X)=max{i,λ i >0}(在實際序列中,通常d=L?,L?=min(L,K)。則軌跡矩陣的奇異值分解為:
1.1.3 分組
在分組步驟中,可以選擇分析周期圖、右特征向量散點圖或特征值函數(shù)圖來區(qū)分噪聲和信號。在信號重構(gòu)的過程中,對于分組的方式?jīng)]有具體的規(guī)則,下標(biāo){1,…,d} 可以根據(jù)待重構(gòu)時間序列的性質(zhì)分為m個不相交的子集,即I1,I2,…,Im。令I(lǐng)={i1,…,ip},則復(fù)合矩陣為X=XI1+XI2+…+XIm。
1.1.4 平均對角化
SSA 的最后一步是將每個結(jié)果矩陣從分組轉(zhuǎn)換為一個長度為n的新序列。設(shè)Y為L?K矩陣,則Tij為T的元素,T可以通過以下公式轉(zhuǎn)換為序列:
根據(jù)式(3)可以求得長度為N的單一RCt分量。新的X分量是d個RCt分量的總和,可以表示為:
長短期記憶模型(LSTM)是一類時間遞歸的神經(jīng)網(wǎng)絡(luò),繼承了大多數(shù)RNN 模式的優(yōu)點,并克服了由梯度反向傳遞過程所引起的梯度消失現(xiàn)象。LSTM 在RNN 的基礎(chǔ)上增加了一個記憶單元結(jié)構(gòu)來判斷信息是否有用。每個單元由一個輸入門、一個遺忘門和一個輸出門組成,如圖1 所示。這些信息都通過LSTM 網(wǎng)絡(luò),并按照規(guī)則確定是否可用。只產(chǎn)生了合乎規(guī)則的信息,而不合乎規(guī)則的信息經(jīng)由遺忘的方式而將會丟棄掉。研究可知,LSTM 對產(chǎn)生長期的相關(guān)性問題的方法尤其有用。對此可展開探討論述如下。
圖1 LSTM 模型Fig.1 LSTM model
(1)遺忘門。確定了前一時刻狀態(tài)的保留情況,計算公式為:
其中,σ表示激活函數(shù)sigmoid;Wf表示遺忘門權(quán)重的權(quán)重;bf表示遺忘門的偏差;sigmoid函數(shù)將輸入和先前時刻的狀態(tài)映射到從0 到1 的值;Ft的值為1 表示完全保留,0 表示完全丟棄。
(2)輸入門。決定當(dāng)前網(wǎng)絡(luò)的輸入xt有多少被更新到單元狀態(tài)ct,此處需用到的數(shù)學(xué)公式可寫為:
其中,Wi和bi是輸入門的權(quán)值和偏差;Wc和bc表示構(gòu)建候選向量時的權(quán)值和偏差,由sigmoid函數(shù)決定遺忘的比例。式(8)中的ct實現(xiàn)了單元格狀態(tài)的更新。
(3)輸出門。需要用以下公式來確定輸出值:
其中,Wo和bo為輸出門的權(quán)值和偏差。將激活函數(shù)層進行tanh 運算后的當(dāng)前狀態(tài)ct乘以輸出ot,得到當(dāng)前時刻的輸出ht。
本文采用的數(shù)據(jù)主要來自某淡水湖BYK 站點的在線監(jiān)測葉綠素a濃度數(shù)據(jù)。樣本包含了2019~2020 年兩年間共6 113 條數(shù)據(jù),采樣頻率為每隔4 h一次。
數(shù)據(jù)標(biāo)準(zhǔn)化可以使模型提取出更多的有效特征,本文采取式(11)對葉綠素a濃度時序數(shù)據(jù)進行極差標(biāo)準(zhǔn)化處理,將數(shù)據(jù)縮放到(0,1)之間:
其中,R、B分別為處理前、后的數(shù)據(jù),Rmax、Rmin分別為樣本中的最大值和最小值。
本文提出的SSA-LSTM 模型的流程如圖2 所示。由圖2 可見到,首先利用SSA 將葉綠素a濃度時間序列分解和重構(gòu)為不同的分量,并分離和去除噪聲分量,留下剩余d個分量。然后,根據(jù)各個分量的貢獻值進行排序。為了在突出葉綠素濃度a時間序列的趨勢特征的同時,最大限度地保留時間序列信息,將d個分量分為2 部分,再將其重構(gòu)為趨勢特征和周期特征。最后,LSTM 對具有不同特性的2個組件進行模擬,并對模擬結(jié)果進行集成,使模型實現(xiàn)精確預(yù)測。
圖2 算法流程圖Fig.2 Flow chart of the algorithm
在訓(xùn)練過程中使用貝葉斯參數(shù)優(yōu)化算法,進行50 次迭代搜索,尋找出最優(yōu)參數(shù)。其中,模型主要參數(shù)包括學(xué)習(xí)率、神經(jīng)元結(jié)點數(shù)、回溯時間步長、數(shù)據(jù)批處理、激活函數(shù)等。在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計中,考慮到模型的計算復(fù)雜度與計算效率,相關(guān)參數(shù)的設(shè)定范圍為:回溯時間步長5~30;神經(jīng)結(jié)點數(shù)32~128;數(shù)據(jù)批處理[64,128,256];LSTM 激活函數(shù)[relu,sigmoid,tanh,elu];學(xué)習(xí)率0.1 至0.000 01。葉綠素a濃度歷史數(shù)據(jù)時序預(yù)測實驗的具體參數(shù)設(shè)置見表1。
表1 SSA-LSTM 模型實驗參數(shù)設(shè)置Tab.1 Configured experimental parameters of SSA-LSTM model
本文采用均方根誤差(RMSE)、平均絕對誤差(MAE)和絕對百分比誤差(MAPE)對模型進行評估。其計算過程見如下公式:
其中,o、p分別表示觀測數(shù)據(jù)和預(yù)測數(shù)據(jù),n表示觀測樣本的數(shù)據(jù)量。
通過設(shè)置選取窗口長度為15,將序列分解為15個不同的分量,選取前12 個成分作為主要有用信息。在剩余的12 個分量選取分量1 到分量7 作為趨勢特征,剩下分量8 到分量12 作為周期特征,如圖3 所示。
圖3 利用SSA 重建的葉綠素a 濃度序列的子序列Fig.3 Reconstructed sub-series of the chlorophyll-a concentration sequence by SSA
為了驗證SSA-LSTM 模型的有效性和預(yù)測精度,本文實驗將原始的LSTM 模型、CNN 模型以及TCN 模型與本文提出的SSA-LSTM 模型進行比較。實驗結(jié)果柱狀圖如圖4 所示,SSA-LSTM、LSTM、CNN 和TCN 對葉綠素a濃度預(yù)測效果見表2。
圖4 實驗結(jié)果柱狀圖Fig.4 Histogram of experimental results
表2 SSA-LSTM、LSTM、CNN 和TCN 對葉綠素a 濃度預(yù)測效果Tab.2 Prediction effect of SSA-LSTM,LSTM,CNN and TCN on chlorophyll-a concentration
從圖4 和表2 分析可以看出,SSA-LSTM 對葉綠素濃度的預(yù)測效果明顯優(yōu)于LSTM、CNN 和TCN,其中RMSE、MAE和MAPE分別為0.67、0.38 和0.09,這3 種評價指標(biāo)的值都優(yōu)于其他3 個模型。RMSE和MAE的對比表明SSA-LSTM 模型的預(yù)測誤差較小,模型的精度高,MAPE的對比表明模型更加穩(wěn)定。綜合以上分析可知,SSA-LSTM 的預(yù)測值更接近葉綠素濃度的真實值,體現(xiàn)了模型的有效性。說明相較于直接將數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)模型中,使用SSA 處理后的葉綠素濃度數(shù)據(jù)能夠使數(shù)據(jù)驅(qū)動的模型更好地捕捉到變化趨勢,使模型的預(yù)測性能得到提升。
本研究圍繞在某湖泊BYK 站點獲取的在線監(jiān)測數(shù)據(jù),結(jié)合奇異譜分析與LSTM 深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型,探索了該模型在葉綠素濃度短期預(yù)測的應(yīng)用。具體結(jié)論如下:
(1)SSA 能夠有效地分離趨勢項、波動項和噪聲分量,克服了LSTM 模型在處理非線性序列方面的不足,從而使建立在此基礎(chǔ)上的SSA-LSTM 模型具有更強的預(yù)測能力。
(2)本文提出的SSA-LSTM 方法可以從葉綠素a濃度歷史數(shù)據(jù)中訓(xùn)練預(yù)測模型。對未來4 h 的葉綠素a濃度進行預(yù)測。預(yù)測后結(jié)果要明顯優(yōu)于純數(shù)據(jù)驅(qū)動模型,例如LSTM、CNN、TCN??偠灾疚奶岢龅腟SA-LSTM 模型能夠有效地提取藻類高頻監(jiān)測數(shù)據(jù)的動態(tài)變化趨勢,且能夠?qū)θ~綠素a濃度實現(xiàn)短時精確預(yù)測,這為水華的治理策略的擬定提供了一定的參考和借鑒。