王圣偉, 李 萍, 婁天瀧, 綻玉林, 李鴻鴻
(西北師范大學 計算機科學與工程學院,甘肅 蘭州 730070)
隨著我國經(jīng)濟的迅速發(fā)展、工業(yè)化和城市化的進程不斷加快,在消耗水資源的同時也排放大量的污水和其他污染物,其中對環(huán)境的污染中重金屬污染尤為突出。因此精準預測流域重金屬污染程度有著重要的研究意義。法國的學者Ruelle與荷蘭的學者Takens[1]在他們共同發(fā)表的《論湍流的本質》中首次對湍流使用混沌理論來進行描述,并在研究過程中通過數(shù)學論證的方法證明了動力系統(tǒng)中“奇怪吸引子”的存在。1973年,日本學者發(fā)現(xiàn)一種雜亂的振動形態(tài)—Ueda吸引子[2]。1975年,李天巖和Yorke共同給出了在閉區(qū)間上連續(xù)的自映射的混沌定義[3]。而人工神經(jīng)網(wǎng)絡(artificial neural network,ANN)預測土壤重金屬含量與混沌相空間相結合研究較為鮮見,在過去幾十年,ANN被廣泛應用于不同環(huán)境工程領域[4~6]。實際應用中流域重金屬含量的高低受到溫度、降水、pH值等多因素的共同影響,單一依靠重金屬的含量去預測重金屬含量的方法準確性較低,所以本文根據(jù)影響重金屬含量的多種因素構建一個多元時間序列的混沌系統(tǒng)。通過構建多變量混沌時間序列,改進神經(jīng)網(wǎng)絡長短期記憶(long short-term memory,LSTM)模型,準確挖掘變量間內在聯(lián)系是進行污染物預測的研究方向。
本文通過多元混沌時間序列的重構相空間構建,利用相空間(phase space,PS)重構和增加窺視孔連接的LSTM循環(huán)神經(jīng)網(wǎng)絡LSTM時間序列預測模型相結合,提出多元混沌時間序列的PS-LSTM預測模型,實現(xiàn)對流域污染物重金屬含量的精準預測。
大夏河是黃河上游的重要支流,其發(fā)源于青海省的同仁縣,流經(jīng)夏河縣、臨夏縣等地,最后注入劉家峽水庫,整個流域總面積達到7 154 km2。大夏河整個流域包含了30個鄉(xiāng)鎮(zhèn)268個村,流域內生活的人口達到59.96萬人。多年平均流量在大夏河縣城段為9.44 m3/s,多年平均徑流量達到3.12億m3。在降雨方面,流域內年平均降水量為44.4 cm,且分布不均勻在時間和空間范圍上,降水主要集中在7~9月,大部分以連續(xù)降雨或高強度暴雨的形式出現(xiàn)。大夏河流域獨特的地形和分布不均的降水在一定程度上影響著土壤中重金屬的含量。
1.2.1 多元變量的選取
在各類流域的復雜生態(tài)系統(tǒng)預測研究中,其影響因素具有多樣性。Lorenz于1936年在《確定性的非周期流》[7]中指出:在三階非線性自治系統(tǒng)中可能會出現(xiàn)混亂解,并因此提出了著名的Lorenz混沌方程,由此產(chǎn)生三變量的混沌時間序列。因此,本文結合重金屬含量的相空間經(jīng)過反復實驗,最終選擇三個影響因素共同構建多元混沌的相空間。對于影響因素的選擇本文使用較廣泛的相關系數(shù)法,通過Spss軟件計算各影響因素與重金屬含量的相關性,最終選擇相關性最高的三個影響因素溫度、日徑流和重金屬含量。
本文以大夏河2016年11月到2017年12月的數(shù)據(jù)計算溫度、pH值、降水、日徑流,四種數(shù)據(jù)每星期求一平均值與周數(shù)據(jù)的重金屬含量的相關性,結果如表1所示。
表1 各時間序列與當?shù)仄骄亟饘俸康南嚓P性
如表1所示可以明顯看出溫度、降水以及日徑流數(shù)據(jù)與平均重金屬含量相關性較高。后續(xù)研究中表明降水數(shù)據(jù)不具備混沌特性,因此,選擇溫度、日徑流和重金屬含量共同重構相空間,其中重金屬含量和溫度、日徑流分別作為預測模型的因子。
1.2.2 延遲時間和嵌入維數(shù)的確定
混沌時間序列分析的基礎是重構相空間,Takens F等人[8]使用延遲坐標的方法對混沌時間序列進行相空間重構。
X={Xi|Xi=[xi,xi+τ,…,xi+(m-1)τ]T,i=1,2,…,M}
(1)
式中m為嵌入維數(shù),τ為時間延遲,M=N-(m-1)τ為相空間中實際點數(shù)。Kugiumtzis D提出的嵌入窗法,明確指出兩者相關且依靠嵌入窗τw=(m-1)τ相互關聯(lián)[9]。本文采用陸振波改進的C—C方法[10]在MATLAB中實現(xiàn)。得出各時間序列的時間延遲τ以及嵌入窗τw,根據(jù)公式τw=(m-1)τ計算三個時間序列相關參數(shù),結果如表2所示。
表2 重構相空間中各影響因素的參數(shù)
1.2.3 最大Lyapunov指數(shù)
本文通過最大Lyapunov指數(shù)驗證該序列混沌特性,采用小數(shù)據(jù)量法計算該時間序列的Lyapunov指數(shù)進行混沌判別,計算原理如下:
首先尋找相空間中Yj點的近鄰點并對其進行分離,距離計算方法如下
(2)
其次,計算相空間中每個點Yj對應i個里斯按時間步后的距離dj(i)為
dj(i)=|Yj+1-Yi+i|
(3)
對上述兩步每個i求得的j的lndj(i)平均y(i),通過最小二乘法計算回歸直線的斜率,其斜率為此時間序列的最大Lyapunov指數(shù)。當最大Lyapunov指數(shù)λ大于0時,可以對該時間序列的混沌特性進行判定,反之亦然。
經(jīng)過MATLAB計算可得,重金屬含量、溫度和日徑流的時間序列的最大Lyapunov指數(shù)分別為0.060 5,0.021 4和0.054 9,結果均大于0,說明以上三個分量均具有混沌特性。降水時間序列雖然與重金屬含量的相關性較高,但由于大夏河流域降水概率較小甚至為0,所以該時間序列不具有混沌特性,在此予以剔除,不參與相空間的重構。
1.2.4 多元混沌相空間
在此簡單介紹多元相空間建立的基本步驟:設有Q個變量時間序列X1,X2,…,XQ且Xq={Xq,i,Xq,2,…,Xq,n},q=1,2,…,Q,N為觀測分量時間序列長度,對應變量的時間延遲為τ1,τ2,…τQ,嵌入維數(shù)為m1,m2,…,mQ,此時多元相空間產(chǎn)生的相點數(shù)L=N-max[(mq-1)τq]。相空間的P時刻的狀態(tài)坐標表示為
Vp=[x1,p,x1,p-τ1,…,x1,p-(m1-1)τ1;x2,p,x2,p-τ2,…,
x2,p-(m2-1)τ2;…;xQ,p,xQ,p-τQ,…,xQ,p-(mQ-1)τQ]
(4)
多變量時間序列重構的相空間矩陣為
(5)
P=N0,N0+1,…,N
(6)
1.2.5 重建關于重金屬含量的多元混沌相空間
根據(jù)2016年到2017年兩年共117個數(shù)據(jù)選擇前100個數(shù)據(jù)建立相空間,后17個數(shù)據(jù)作為預測模型的測試集。由于其中重金屬含量、溫度和日徑流數(shù)據(jù)間數(shù)值差距較大,因此,對其進行歸一化從而降低最終預測誤差。根據(jù)表2給出的m和τ兩個參數(shù)及式(5)進行相空間重構,得到一個8×88的流域污染系統(tǒng)相空間矩陣式如下
(7)
N0=13,相空間總維數(shù)M=2+4+2=8。
矩陣中x1,x2,x3分別對應的是重金屬含量、溫度和日徑流指標原始時間序列,PS-LSTM神經(jīng)網(wǎng)絡的輸入向量和輸出向量為相空間矩陣中的每一行,即將每一個狀態(tài)點作為上一神經(jīng)網(wǎng)絡訓練集樣本輸出和下一神經(jīng)網(wǎng)絡訓練集樣本的輸入,則訓練集樣本輸入和輸出均為8×88。
LSTM神經(jīng)網(wǎng)絡主要通過記憶單元來實現(xiàn)節(jié)點的不斷更新,從而有效解決了傳統(tǒng)徑向基神經(jīng)網(wǎng)絡中對于遠距離數(shù)據(jù)的依賴特性,LSTM循環(huán)神經(jīng)網(wǎng)絡作為改進的RNN結構[11],在RNN模型的基礎上引入了“記憶細胞”的概念,2000年,Gers和Schmidhuber提出窺視孔連接,彌補忘記門的一個缺點:目前已有的“記憶細胞”不能夠影響到“輸入門”和“輸出門”在下一時刻的輸出,對上一時間的序列處理會使整個“記憶細胞”丟失了部分信息,其基本原理是首先將上一個神經(jīng)元輸出的Ct與此神經(jīng)元的輸入共同輸入到“輸入門”和“忘記門”,然后將其輸入到“記憶細胞”當中;由“記憶細胞”輸出的數(shù)據(jù)在輸入到“輸出門”的同時也輸入到下一時刻的“輸入門”和“忘記門”;最后,“忘記門”輸出的數(shù)據(jù)與激活后的數(shù)據(jù)一起作為整個“記憶細胞”的輸出。增加窺視孔后“記憶細胞”改變的運行公式如下
it=σ(Wixxt+Wihht-1+WicCt-1)
(8)
ft=σ(Wfxxt+Wfhht-1+WfcCt-1)
(9)
ot=σ(Woxxt+Wohht-1+WocCt-1)
(10)
式中x為輸入向量,h為輸出向量,Ct為t時刻在記憶細胞中的更新狀態(tài),it,ft,ot,Ct,ht分別為輸入門、遺忘門、輸出門、記憶細胞以及在t時刻的輸出;xt則為t時刻的輸入,ht-1,Ct-1分別為隱含層及記憶細胞在t-1時刻的輸出。
在PS-LSTM時間序列預測模型中使用多門協(xié)作的方式避免了梯度彌散并且能夠最大程度上模擬輸入因子的共同預測。PS-LSTM時間序列預測模型通過Python編碼實現(xiàn),以大夏河流域重金屬的多元混沌相空間的狀態(tài)坐標為多變量輸入,本次模型將按照測試集85 %的比例選取,所以前75個數(shù)據(jù)作為訓練樣本,重金屬含量中的最后13個數(shù)據(jù)作為測試樣本進行實驗。使用單層隱含層的PS-LSTM模型,總的訓練迭代次數(shù)為300。本文在訓練模型時將其一次訓練所選取的樣本數(shù)設置為45,時間步長為3,隱含層節(jié)點為100,輸出節(jié)點為1,利用平均絕對誤差(mean absolute error,MAE)做損失函數(shù),Adam的隨機梯度下降做優(yōu)化,根據(jù)均方根誤差(root mean square error,RMSE)進行模型評估。當0迭代到50次時,測試損失與訓練損失下降較快,迭代到第100次時,模型損失達到最低并趨于平緩,如圖1所示可知測試損失在絕大多數(shù)的情況下高于訓練損失,證明模型擬合較為成功,適合作為重金屬含量的預測模型。
圖1 不同訓練時期訓練集和測試集損失
Volterra級數(shù)在收斂區(qū)域的判定上有著嚴格的要求,增加了它的使用難度[12]。本文以重金屬含量為輸入數(shù)據(jù)使用陸振波的MATLAB混沌工具箱中的Volterra級數(shù)一步預測模型進行預測,其中只使用2016年11月至2017年12月的117個重金屬含量數(shù)據(jù),并沒有建立關于重金屬的相空間。從圖2所示的預測結果中可以看出開始預測的4個數(shù)據(jù)較為準確,但是隨后的13個預測數(shù)據(jù)相比真實值有較大的差距。
圖2 Volterra級數(shù)預測結果
徑向基函數(shù)(radial basis function,RBF)是前向型神經(jīng)網(wǎng)絡,主要由輸入層、隱含層、輸出層三部分組成[13]。RBF神經(jīng)網(wǎng)絡依靠其簡單的網(wǎng)絡結構、較快的收斂速度和能夠逼近任意非線性函數(shù)的特征使其在時間序列分析和圖形識別處理等領域獲得較為廣泛的應用[14]。
其在關于有噪聲的重金屬含量時間序列預測上能夠實現(xiàn)非線性的局部預測。本文使用陸振波的MATLAB混沌工具箱中的RBF神經(jīng)網(wǎng)絡預測模型實現(xiàn)對重金屬含量的預測,預測結果如圖3所示。
圖3 RBF神經(jīng)網(wǎng)絡預測結果
支持向量回歸(support vector regression,SVR) 在函數(shù)回歸預測方面的應用依據(jù)支持向量機(support vector machine,SVM)原理,由SVM在其分類問題上所推廣而來,其是以預測的相關性原則作為基礎,確定預測目標的各特征與預測目標之間的數(shù)學模型,利用該模型對其特征的變化值進行目標預測。
大夏河流域重金屬含量在MATLAB中使用SVR方法進行了單因子的預測,由于重金屬含量屬于小數(shù)據(jù)的預測,因此,SVR的小數(shù)據(jù)量非線性預測能夠具有較強的對比性。由圖4的預測結果圖所示前5個重金屬含量的預測準確程度相對較為理想,但后面的預測準確程度較差。SVR預測準確程度相比其他兩個對比實驗具有較好的效果,但經(jīng)過改進的LSTM預測模型在預測準確程度上更準確。
圖4 基于SVR回歸預測結果圖
由表3可得,在平均絕對誤差和均方根誤差指標方面,本文的預測模型的評價指標值RMSE均小于Volterra級數(shù),RBF神經(jīng)網(wǎng)絡,SVR測試模型,而決定系數(shù)比其他三種預測模型高,說明PS-LSTM預測模型的擬合程度比其他三種模型優(yōu)度高,因此證明建立關于重金屬含量的多元混沌相空間是有一定的實際意義,并且LSTM預測模型對于有噪聲的混沌時間序列預測精度上具有優(yōu)勢。
表3 各預測模型的結果評價
本文利用較為完善的增加窺視孔的LSTM—RNN模型,LSTM對有噪聲的重金屬含量預測相較Volterra級數(shù)預測、RBF神經(jīng)網(wǎng)絡預測以及基于支持向量機回歸預測模型在預測精度上具有一定優(yōu)勢。因此本文的預測模型具有一定的意義。采用相空間與門控循環(huán)單元(GRU)進一步的改進相結合的方法可以實現(xiàn)更加精準預測,這將是下一步的研究重點。