孫 銘,魏守科,2,3,王瑩潔,趙金東,袁梅雪
1(煙臺大學 計算機與控制工程學院,煙臺 264005)
2(山東琢瑜清泉智能軟件科技有限公司,煙臺 264005)
3(北京迪普迅智能信息技術有限公司,北京 100089)
水是人類和其它生命體賴以生存的重要資源,由于過去工業廢水和生活污水未經處理而排放到水體,導致河流湖泊水體的嚴重污染,從而嚴重破壞了水體的生態環境、生物多樣性及其生態功能和服務功能[1].據相關研究,全世界只有小部分河流沒有受到水污染影響[2,3],在一些發展中國家,水污染是導致疾病和死亡的主要原因之一[4],僅在中國范圍內,每年因水污染導致約1.9 億人次患病,其中6 萬人死于肝癌、胃癌等疾病[5],有數據統計,自1980年以來太湖水域頻繁發生藻華,導致長江三角洲地區約41 種魚類、65 種浮游動物和16 種大型植物消失[6].因此,建立準確有效的水質預測模型,意義重大.
目前,對于水質的模擬預測方法主要有灰色動態模型群,混沌理論,小波神經網絡和BP 人工神經網絡等.如:李如忠等[7]利用灰色系統理論構建了一個由6 個灰色模型組成的灰色動態模型群,并且利用該模型對水體中的氨氮濃度進行預測,最終結果取這6 個GM 模型的平均值,消除了GM 模型本身的不穩定性,取得了不錯的預測效果;徐敏等[8]利用混沌理論和相空間重構思想對于水體中溶氧量進行了分析,結果表明水質具有混沌性,看似水質變化是無規律的,但其在短期內具有一定的內在規律可以探尋和預測,利用混沌相空間模型對水質進行了短期預測,也取得了一定的成果;陳建秋等[9]使用小波神經網絡來對水質進行長期預測,預測精度較高,證明了其方法的可行性;RI 和侯德剛等[10]提出BP 神經網絡對水質進行預測,其中化學需氧量(COD)、pH 值等數值較接近真實值,其他指標的預測值的誤差也與真實值相差不大,取得了非常好的預測效果.
水質數據通常是按照時間先后順序排列的,較前述文獻模擬預測方法,循環神經網絡(Recurrent Neural Network,RNN)更加適合處理這種時間序列數據.如:Jia 等[11]使用RNN 對湖泊溫度和水質數據進行建模,通過與ANN 模型對比證明RNN 對時間序列數據預測具有更高的精度和準確性;Kumar 等[12]對河流月流量數據進行預測研究,將RNN 與前饋神經網絡進行對比試驗,結果表明RNN 能夠以更少的時間代價取得更好的預測效果.然而,RNN 網絡模型存在梯度彌散、梯度爆炸以及對序列數據中長距離依賴信息能力差的問題[13],而LSTM 拓展了RNN 能夠更好地解決上述問題,有效地提高了預測準確度.LSTM 也在許多領域都取得了不錯的進展,比如在自然語言處理方面,胡新辰[14]利用LSTM 解決語義關系分類問題取得了重要成果;在股票運作方面,孫瑞奇[15]基于LSTM 并利用擬牛頓法原理改變網絡模型的學習速率,證明了LSTM 能夠很好地預測股市的變化;在空氣質量預測方面,張冬雯等[16]利用LSTM 更精確地對Delhi 和Houston 兩地的空氣質量AQI 指數做出了預測;在降雨徑流量預測方面,Hu 等[17]通過對比ANN 和LSTM兩種模型的預測結果,表明LSTM 模型具有更好的仿真性和更高的智能性.上述多個研究都表明LSTM 對時間序列數據的預測方面具有得天獨厚的優勢.然而,利用LSTM 對水質時間序列進行預測的文獻資料相對較少.如:劉晶晶等[18]采用K-Similarity 方法對地表水水質數據進行降噪,利用LSTM 神經網絡預測降噪后水質數據變化,研究表明相較于BP 神經網絡和RNN,LSTM 對水質序列數據有更好的預測能力;Hu 等[19]和Liu 等[20]使用LSTM 分別研究了海產養殖區的海水水質和揚子江水源地的飲用水水質,他們實驗結果都表明LSTM 能夠更準確地反映水質變化的發展趨勢,證明了LSTM 預測水質的可行性和有效性.但是,傳統的神經網絡模擬預測方法對于序列波動變化較大并存在長期趨勢的時間序列,其預測結果并不理想[21,22].本文提出基于小波分解的LSTM 時間序列模擬預測方法(W-LSTM),運用小波將水質數據分解為高頻和低頻信號,作為LSTM模型的輸入,來訓練模型預測水質數據.同時,將模型預測結果與傳統LSTM 神經網絡的結果進行對比,驗證該方法的有效性.
傅里葉變換是信號處理領域應用極廣的一種分析手段,它可以將時域信號轉換成頻域信號,但是傅里葉變換在時域中沒有辨別能力[23].小波變換正是針對傅里葉變換的不足之處發展而來,利用小波和一族帶通濾波器對原時域函數進行分解,將信號分解為二維的時頻信息,極大地增強了局部信號的表現能力,提高了模型的抗噪性[24].
小波變換是一種數據分解、重構方法,該方法首先分別利用低通濾波器和高通濾波器將原始數據分解成低頻小波系數cAn和高頻小波系數cD1,···,cDn.其中,低頻小波系數還可以再做進一步的分解,此過程可以迭代數次,直至達到最大分解次數.
小波變換可以分為連續小波變換(CWT)和離散小波變換(DWT).為了提高連續小波變換處理復雜問題的能力,CWT 對基小波ψ (t)進行改造,如下式:

其中,a為伸縮因子(a>0),b為平移因子(b∈R),通過調整a和b的值來夠控制小波變換的尺度,從而達到高頻處時間細分,低頻處頻率細分,實現自適應時頻信號分析的要求[25].
連續小波變換公式如下:

其中,Wf(a,b)表示連續小波系數,f(t)表示原始數據,表示ψab(t)的共軛函數.
然而,連續小波變換會計算所有尺度上的小波系數,這一耗時的過程也會產生許多冗余數據.因此,在實際過程中通常使用離散小波變換.離散小波變換是對連續小波變換在尺度和位移上按照2 的冪次進行離散化所得.將 ψab(t)函數中a和b的計算方法如式(3)所示:

其中,a0>0,b0∈R,?j,k=0,1,2,···,m∈Z,則函數ψjk(t)的計算方法如式(4)所示:

離散小波變換公式如下:

其中,W f(j,k)表示離散小波系數,f(t)表示原始數據,表示ψjk(t)的共軛函數.
將原始數據進行分解之后,再分別對低頻小波系數和高頻小波系數進行重構.低頻小波系數和高頻小波系數重構后得到低頻信號rAn和高頻信號rD1,···,rDn.其中,低頻信號表示逼近信息,高頻信號表示細節信息.
最后,將所有低頻信號和高頻信號相加實現數據還原.重構與還原公式如下:

其中,f(t)表示還原之后的數據,l(ψik(t))表示低通濾波器,h(ψik(t))表示高通濾波器.
RNN 擅長處理以時間序列數據作為輸入的預測問題,其原因在于RNN 的網絡結構可以處理時間序列數據之間的相關性.RNN 結構如圖1所示.

圖1 RNN 原理結構圖
圖1(a)為RNN 的基本結構圖,包括輸入層x、隱藏層h、輸出層o,在隱藏層h上有一個循環操作,同時RNN 在所有時刻的線性關系參數U、W、V都是共享的,極大地減少了參數訓練量.圖1(b)為RNN 展開結構圖,可以看到RNN 通過權值W實現隱藏層之間的依賴關系.
然而,在實際使用時發現RNN 存在諸如梯度消失、梯度爆炸以及長距離依賴信息能力差等問題,為了解決這些問題,引入了LSTM.LSTM 在主體結構上與RNN 類似,其主要的改進是在隱藏層h中增加了3 個門控(gates)結構,分別是遺忘門(forget gate)、輸入門(input gate)、輸出門(output gate),同時新增了一個名為細胞狀態(cell state)的隱藏狀態.
圖2展示了LSTM 隱藏層的內部結構,其中f(t)、i(t)、o(t)分別表示t時刻遺忘門、輸入門、輸出門的值,a(t)表示t時刻對h(t-1)和x(t)的初步特征提取.

圖2 LSTM 隱藏層結構原理

其中,xt表示t時刻的輸入,ht-1表示t-1 時刻的隱層狀態值,Wf、Wi、Wo和Wa分別表示遺忘門、輸入門、輸出門和特征提取過程中ht-1的權重系數,Uf、Ui、Uo和Ua分別表示遺忘門、輸入門、輸出門和特征提取過程中xt的權重系數,bf、bi、bo和ba分別表示遺忘門、輸入門、輸出門和特征提取過程中的偏置值,tanh 表示正切雙曲函數,σ表示激活函數Sigmoid.

遺忘門和輸入門計算的結果作用于c(t-1),構成t時刻的細胞狀態c(t).

其中,⊙為Hadamard 積[26,27].最終,t時刻的隱藏層狀態h(t)由輸出門o(t)和當前時刻的細胞狀態c(t)求出.

LSTM 神經網絡對預測時間序列數據具有較強的優勢,但對于復雜度和變化頻率較高的數據,單一LSTM預測方法很難獲取數據的變化規律,使得模擬和預測結果欠佳.而小波分解能將原始數據中不同頻段的信息進行分解,極大地降低數據復雜度,再分別對這些數據進行預測從而提高預測精度.本文將上述兩種方法結合提出基于小波分解的LSTM 時間序列預測模型(W-LSTM).其訓練、預測流程如圖3所示.步驟如下:
(1)對采集到的水質指標數據使用均值平滑法降噪,然后歸一化.
(2)4 項樣本數據統一劃分為前435 組作為訓練數據,后45 組作為測試數據.
(3)使用訓練數據作為樣本輸入用于訓練W-LSTM神經網絡模型,對模型進行如下兩步操作:
① 選取“db5”作為基小波,并對數據進行3 階小波分解,獲取低頻信號rA3和高頻信號rD1、rD2、rD3.
② 使用LSTM 分別對rA3、rD1、rD2、rD3進行預測.
不斷調整參數,直到獲取目標loss 或者達到最大訓練次數.最終生成W-LSTM 神經網絡模型.
(4)使用測試數據作為W-LSTM 模型輸入樣本,輸出模型預測準確度并與對比試驗模型進行誤差比較.

圖3 基于W-LSTM 模型的水質預測流程圖
本文以安徽阜南王家壩水庫的水質數據作為研究對象,該水庫位于安徽省阜陽市阜南縣王家壩國家濕地公園,濕地占地面積約為6761.71 公頃,作為當地市民主要的供水水庫,其水質健康顯得十分必要.根據國家地表水質環境質量標準[28],選取pH 值、溶解氧含量(DO)、高錳酸鹽指數(CODMn) 和氨氮含量(NH3N)指標作為實驗數據.所有指標數據的采集時間均為2018年03月01日到2019年06月23日,每24 小時采集一次,數據一共480 組,取前435 組作為訓練數據,后45 組數據作為測試數據.
對數據樣本簡單分析,查看是否有缺失值、異常值等情況,如表1所示.

表1 數據樣本統計分析 (DO 值、CODMn 值和NH3N 值的單位為:mg/L)
2.3.1 數據清洗
在數據采集和測量的過程中由于儀器設備故障、不當的人為操作以及其他不可控因素的干擾,采集到的數據不可避免的會導致一些數據丟失和數據錄入失真的情況,如果直接使用這些含有噪聲的數據開展實驗研究,不僅耗費人力物力資源,還會產生不準確的實驗結論,從而誤導日后的研究工作.因此,在實驗開始之前,首先要對數據進行清洗.觀察實驗數據和表1后發現僅存在幾處數據缺失的情況,正常錄入的數據沒有發現明顯噪聲.采用均值平滑法將數據缺失部分的數據補充完整.均值平滑法是利用缺失數據左右相鄰兩處的數據,取平均值來替代缺失數據,如式(15)所示:

其中,xa為a時刻的缺失數據,xa-1為a-1 時刻的正常數據,xa+1為a+1 時刻的正常數據.
2.3.2 數據歸一化
為了加快模型的收斂速度同時提升模型的預測精度,需要對數據進行歸一化處理,將數據轉換成[0,1]之間的數值.本文使用max-min 歸一化方法,其計算方法如式(16)所示:

其中,xnorm表示歸一化之后的數據,x表示未歸一化的數據,xmax、xmin分別表示所有數據中的最大值和最小值.
使用離散小波分解數據時應注意兩點.第一、需要確定基小波的種類.常用的基小波有Haar 小波、db 小波、sym 小波、bior 小波、coif 小波、Morlet 小波、mexicanHat 小波以及Meyer 小波.他們都是一個小波族,每個小波族中包含眾多具體的小波.最佳小波的選擇沒有明確的標準,但實際上無論選哪種小波作為基小波差別也不很大.本文選擇Daubechies5 (db5)作為基小波(db5 是db 小波族中常用的小波之一,如圖4所示),原因是db5 更適用于分解比較平滑的數據集,而我們采集的水質數據整體上比較平滑.第二,需要確定分解層數,利用式(17)[29]可以計算出數據的最大分解層數為5 層,但是根據經驗選最大分解層數的一半即可,所以最終確定分解層數為3 層.

圖4 db 小波示意圖

其中,lw表示小波分解低通濾波器的長度,nd表示數據長度.
本文選擇4 種評價指標作為判斷模型預測效果優劣的依據,其分別是均方誤差(Mean Squared Error,MSE)、均方根誤差(Root Mean Squared Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)和平均百分比誤差(Mean Absolute Percentage Error,MAPE),其計算方法如式(18)~式(21)所示.


其中,N表示總數據量,yt表示真實值,表示預測值.
實驗所使用的計算機配置如下:處理器為英特爾Core i5-8250U,CPU 頻率為1.8 GHz,內存為8 GB,操作系統為Windows 10 (64 位);程序設計語言為Python 3.7,數值計算、分析庫為Numpy 1.17.1,Pandas 0.25.2,機器學習庫為Tensorflow 1.14.0,數據可視化庫為Matplotlib 3.1.1;集成開發環境為PyCharm Community Edition 2018.3.1.
為了更好地驗證所提出模型的精確性,選取傳統的LSTM 神經網絡與該模型對比實驗.兩種模型均在相同的實驗平臺和環境下進行.均采用自適應矩估計(adaptive moment estimation)進行優化,損失函數選擇MSE、RMSE、MAE、MAPE4 種方式進行評價.為盡量避免實驗中產生偶然因素,每組實驗各進行10 次.3.2.1 小波分解
以pH 數據為例直觀展示3 階小波分解的結果,如圖5所示.

圖5 pH 數據的原始值及其3 階小波分解得到的低頻數據rA3 和高頻數據rD1、rD2、rD3
然而,將經過小波重構之后各個頻段的數據信號相加還原,這一過程與原數據確實存在一定的誤差.表2展示了本次實驗中4 項指標重構后與原始數據的誤差值.可發現其最大誤差為6.70e-16,最小的誤差為8.33e-17,此誤差值對實驗結果影響非常小,可以忽略不計.

表2 還原數據與原始數據的誤差值
3.2.2 訓練結果
本文中W-LSTM 模型和LSTM 模型的調節參數包括batch_size(批量大小),window_size(窗口大小),num_units(節點數量),Learning_rate(學習率),steps(訓練步長).在保證網絡快速收斂的同時又具有較高的預測精度,經過多次實驗測試與參數調整,模型達到最優結果.表3展示了實驗相關參數的最終配置結果.

表3 W-LSTM 和LSTM 的網絡參數以及收斂速度
實驗中反映W-LSTM 和傳統LSTM 兩種模型訓練擬合情況的各項評估指標值記錄在表4中.結果顯示兩種模型對pH 的擬合情況基本一致,且相較于其他3 項實驗參數擬合精度最高,MSE均低于0.0008,這與pH 數據的值域變化較小有關;而DO、CODMn 和NH3N 傳統LSTM 模型訓練擬合結果卻都略優于WLSTM,3 項參數在MSE 上分別減小了0.0066、0.0073和0.002,究其原因,不難發現W-LSTM 模型將原數據分解為低頻rA3和高頻rD1、rD2、rD34 項值,并對它們分別擬合,擬合過程的增多不可避免地會增大誤差,最終導致同樣量級的訓練過程會呈現不同的擬合效果,同樣地,擬合過程增多會降低模型訓練收斂的速度,其所耗時間必定高于傳統LSTM 模型.表3結果顯示WLSTM 經過4 個模型訓練過程,總收斂時間比傳統LSTM模型耗時多約100 s.
為了更加直觀的表現各項數據的擬合情況,將WLSTM 與傳統LSTM 的擬合情況進行對比如圖6所示.從圖中可以觀察到兩種模型都充分學習了訓練數據的特性,擬合情況良好,并且沒有過擬合的情況發生,能夠達到訓練要求,證明實驗的有效性.

表4 4 項指標W-LSTM 和LSTM 模擬訓練擬合精度評估結果

圖6 W-LSTM 和LSTM 模型4 項指標訓練結果對比圖
3.2.3 測試結果
本文的實驗數據其最大頻率為240 Hz,對其做3 階DWT,則rA3表示頻段小于30 Hz 的分量數據,rD3、rD2和rD1分別表示頻段30~60 Hz、60~120 Hz、120~240 Hz的分量數據.理論上相較于原始數據,分量數據的復雜度更低,所以對分量數據進行預測的準確度也更高,通過分量數據獲得的全頻率上的預測結果準確度也更高.其中,高頻數據來自原始數據變化較快的部分,反映信號細節變化特征,低頻數據來自原始數據變化較慢的部分,低頻信號比較平滑,反映信號的變化趨勢.
表5為W-LSTM 和傳統LSTM 模型在10 次預測中各項指標的均值對比情況.
從表5中可以明顯看出,W-LSTM 模型在水質時間序列指標數據預測方面優于傳統LSTM 模型.在MSE、RMSE、MAE和MAPE4 項評估指標中,WLSTM 比傳統LSTM 的預測精度在pH 數據上分別提高了35.1%、18.9%、28.3%和28.3%;在DO 數據上分別提高了62.3%、35.0%、34.6% 和31.3%;在CODMn 數據上分別提高了27.9%、15.4%、17.6%和15.4%;在NH3N 數據上分別提高了53.8%、32.3%、35.8%和44.7%.究其原因小波變換能夠對數據的整體趨勢和細節信息的分層把握能力,加上LSTM 模擬預測時間序列數據上的優勢,保證了W-LSTM 不僅能夠更清晰的了解數據的整體走勢,還能更精確的預測數據的細節變化.這為W-LSTM 在時間序列數據預測方面提供了更強的能力,而且其效果更優于傳統LSTM.觀察表5中W-LSTM 模型的預測情況不難發現,在多項指標上pH 和NH3N 的結果精度較高,而DO 和CODMn 的結果精度相對較低.其主要原因是pH 和NH3N 數據的標準差較小(表1),數據離散程度較低,所以期望獲得的預測精度越高;而DO 和CODMn數據的標準差相對較大(表1),數據離散程度相對較高,致使期望獲得的預測精度稍有遜色.

表5 W-LSTM 模型和傳統LSTM 模型在3 次預測中各項評估指標均值結果
圖7進一步展示了W-LSTM 和傳統LSTM 模型對pH、DO、CODMn 和NH3N 4 項水質指標的預測對比結果,可以看出W-LSTM 相較于傳統LSTM 模型的預測情況,在總體趨勢上與原數據更為一致,同時對某些細節信息例如峰值處也有更加精確的預測表現.

圖7 W-LSTM 和LSTM 模型4 項指標預測結果對比圖
本文提出了基于小波分解的LSTM 時間序列預測模型(W-LSTM),對水質指標數據進行模擬預測實驗.結果發現,使用db5 小波對水質數據進行分解與重構過程的誤差非常小,表明離散小波變換具有完全重現原始數據的能力,保證實驗的有效性.其次,傳統LSTM模型預測水質數據的結果在整體趨勢上通常不能很好地表現出來,而W-LSTM 最大優勢在于對整體趨勢的判斷以及對細節的把握,實現了對時間序列數據的精確預測.最后,通過對低頻數據預測的觀察與分析還可以從宏觀上了解數據的未來走勢,從而更好地指導工作展開.
以王家壩水庫水質數據作為研究時間序列數據的切入點,本文通過實驗分析證明W-LSTM 能夠顯著提高水質數據預測的精度.然而,試驗僅運用了一個水域的部分水質數據,研究結論是否具有通用性仍有待大量試驗驗證.因此,未來將W-LSTM 模型應用于更多場景,以研究和驗證此方法的通用型.