郝玉瑩, 趙 林, 孫 同, 喬 治
(1.天津大學 環(huán)境科學與環(huán)境工程學院, 天津 300350; 2.天津市濱海生態(tài)關鍵帶保護與功能構建工程技術中心, 天津 300350)
近年來,隨著工業(yè)化和城市化的快速推進,水污染問題愈發(fā)嚴重,對人類健康造成極大威脅[1]。水質預測是水資源綜合管理和水污染防治的重要基礎[2],利用歷史水質數(shù)據(jù)建立高精度的水質預測模型,有助于提前發(fā)現(xiàn)區(qū)域內的水環(huán)境問題,預防大規(guī)模水體污染事件的發(fā)生。傳統(tǒng)的水質預測方法包括多元線性回歸法[3]、ARIMA(autoregressive integrated moving average model)方法[4]、灰色系統(tǒng)[5]、人工神經網(wǎng)絡[6-7]等,其中,人工神經網(wǎng)絡由于具有強大的非線性擬合能力[7]得到了研究者們的廣泛應用。
隨著大數(shù)據(jù)時代的到來,傳統(tǒng)人工神經網(wǎng)絡方法在高維度、大容量水質數(shù)據(jù)的學習中表現(xiàn)不再突出[8],相較之下,起源于人工神經網(wǎng)絡的深度學習網(wǎng)絡由于可以逐層、深入分析數(shù)據(jù)集中的復雜結構[9],在處理大數(shù)據(jù)樣本時更具優(yōu)勢。此外,水質數(shù)據(jù)本質上是時間序列數(shù)據(jù),在進行水質預測時應充分考慮其中的時序信息[8]。作為一種深度學習網(wǎng)絡,LSTM (long short-term memory) 在網(wǎng)絡結構設計中引入了記憶單元,既繼承了深度學習的優(yōu)勢,又具有較強的分析數(shù)據(jù)中時序信息的能力[10]。自2017年Wang等[11]首次利用LSTM預測太湖水質后,不斷有學者將LSTM應用于我國水質預測領域[8,12-13]。然而,單個LSTM模型的預測效果有限,為了提高模型的預測精度,學者們仍在不斷探索。例如,王軍等[14]構建了卷積神經網(wǎng)絡(convolutional neural network, CNN)和LSTM的混合模型預測黃河小浪底水庫溶解氧(dissolved oxygen, DO)含量,預測結果的均方根誤差(root mean square error,RMSE)和平均絕對誤差(mean absolute error,MAE)比單一LSTM模型降低了19.71%和10.44%;許佳輝等[15]針對水質數(shù)據(jù)在空間和時間上的復雜關系,提出了圖卷積神經網(wǎng)絡(graph convolutional network, GCN)和LSTM耦合的水質預測模型,結果表明該模型相比ARIMA、支持向量回歸(support vector regression, SVR)和單一LSTM方法具有明顯優(yōu)勢。由此可見,基于LSTM實現(xiàn)高精度水質預測還有很大的研究空間,可以朝著優(yōu)化網(wǎng)絡內部結構或者與其他方法組合等方向進行深入探索[16]。
多元水質數(shù)據(jù)具有復雜的相關性,在建立水質預測模型時經常會輸入多種影響水質變化的環(huán)境指標。但輸入特征過多不僅會加大計算難度,而且易導致預測精度下降[17],因此選取合適的特征組合對于提高預測精度具有重要意義?,F(xiàn)今水質預測領域通常主觀確定輸入特征,或者采用主成分分析等方法降低特征維度[17-18],缺少對于數(shù)據(jù)的解釋性。RF (random forest)算法是一種基于決策樹的集成學習方法[19],具有簡單高效、魯棒性好等優(yōu)點,其內嵌的特征重要性評價機制可以通過分析數(shù)據(jù)間的相關性篩選出對待測目標影響較大的關鍵特征。例如,郭昱辰等[20]首先利用RF算法確定影響雞舍氨氣濃度的最優(yōu)特征組合,再結合LSTM預測雞舍氨氣濃度,結果表明引入RF算法后,氨氣預測值的MAE、RMSE和平均絕對百分比誤差MAPE(mean absolute percentage error)分別降低了15.4%、2.3%和16.2%。然而,在水質預測領域,尚未發(fā)現(xiàn)關于RF特征選擇與LSTM結合的研究。
基于上述問題,本文以桃林口水庫的水質監(jiān)測數(shù)據(jù)為樣本,首先利用RF算法對影響高錳酸鹽指數(shù)(CODMn)、氨氮(NH3—N)、總氮(total nitrogen, TN)和總磷(total phosphorus, TP)濃度變化的各水質指標進行重要性評分,再將篩選出的最優(yōu)特征組合輸入LSTM網(wǎng)絡中,構建一種RF特征選擇與LSTM預測結合的水質預測模型,以期為實現(xiàn)高精度水質預測提供參考。
秦皇島市桃林口水庫位于河北省秦皇島市西北部的青龍河上,控制流域面積5 060 km2,總庫容8.59×108m3,是一座以城市供水、農業(yè)灌溉為主,兼具防洪和水力發(fā)電等多種綜合任務的國家大型水利樞紐工程。目前,桃林口水庫主要擔負著秦皇島市和唐山市生活用水供給、農業(yè)灌溉、防洪、發(fā)電等任務,其水質對于兩市的生活和經濟發(fā)展有著舉足輕重的作用。
本文數(shù)據(jù)是桃林口水庫水源站2016年8月24日16時至2018年4月19日16時的水質在線監(jiān)測數(shù)據(jù),水庫水源站監(jiān)測點地理位置如圖1所示。水質數(shù)據(jù)采集頻率為4 h,采集數(shù)據(jù)共計31 530個,包含pH值、溫度(Temp)、濁度(Turb)、電導率(Elecon)、DO、CODMn、NH3—N、TN、TP、葉綠素(Chl)共10項水質指標。結合桃林口水庫的水質情況,本文選擇其中的CODMn、NH3—N、TN和TP為預測目標,利用桃林口水庫水源站監(jiān)測數(shù)據(jù)分別構建基于RF-LSTM的未來4 h水質預測模型。
圖1 桃林口水庫水質監(jiān)測點位置
RF算法是一種基于決策樹的集成學習方法,利用bootstrap重采樣技術[21]在原始數(shù)據(jù)集中隨機抽取K個訓練集,分別訓練K棵決策樹組成隨機森林。以原始數(shù)據(jù)集中沒有被抽取出來的袋外數(shù)據(jù)(out-of-bag, OOB)作為隨機森林的OOB測試集,最終根據(jù)決策樹在對應OOB測試集中的投票分數(shù)進行分類決策。目前,RF算法憑借建模簡單、泛化能力強、不易過擬合等優(yōu)勢,在很多分類和預測任務中表現(xiàn)突出。
值得一提的是,RF算法內嵌的特征重要性計算模塊使其具有分析復雜特征間相互作用的能力,因此RF算法也可以作為高維數(shù)據(jù)的特征選擇工具計算各個特征變量的重要性?;赗F算法進行特征選擇的基本步驟如下:
(1)從容量為N、特征數(shù)為M的初始數(shù)據(jù)集中有放回地隨機取出n(N>n)個數(shù)據(jù),生成K個新訓練集,沒有被抽中的數(shù)據(jù)則構成K個OOB數(shù)據(jù)集;
(2)在K個新訓練集中分別訓練K棵決策樹模型,然后計算每棵決策樹在對應OOB數(shù)據(jù)集中的投票分數(shù);
(3)隨機擾動OOB數(shù)據(jù)集中的特征xi,i=1,2,…,M,形成新的OOB數(shù)據(jù)集,重新獲取投票分數(shù);
(4)用公式(1)計算每個特征xi的重要性,即:
(1)
式中:K為決策樹數(shù)量;SK為決策樹在對應OOB數(shù)據(jù)集中獲得的投票分數(shù);SK,i為施加擾動后決策樹在對應OOB數(shù)據(jù)集中獲得的投票分數(shù);IMPi為各特征的重要性評分。
(5)對IMPi降序排列可得到各特征的重要性排序,排名越靠前表明該特征對分類的貢獻量越多,最終選出既使特征數(shù)目盡可能少又滿足分類效果較好的最優(yōu)特征集。
作為深度學習方法中一類非常重要的神經網(wǎng)絡,循環(huán)神經網(wǎng)絡(recurrent neural network, RNN)可以通過為網(wǎng)絡添加額外的權重在網(wǎng)絡圖中創(chuàng)建循環(huán),使其輸入不僅取決于當前輸入,還取決于之前的輸入??墒谴罅繉嵺`表明,標準RNN在對長時間序列數(shù)據(jù)進行建模時易發(fā)生梯度消失和爆炸的現(xiàn)象[22]。為了避免這一現(xiàn)象,Hochreiter等[23]通過改進RNN引入了LSTM網(wǎng)絡。相較于標準RNN,LSTM在其隱藏層的各神經單元中增加了記憶單元,開創(chuàng)性地引入了輸入門、遺忘門和輸出門,通過這些門控結構進行細胞狀態(tài)的存儲與更新,實現(xiàn)時序信息的長期保留。LSTM記憶體示意圖見圖2,具體工作原理表達式如公式(2)~ (7)所示。
圖2 LSTM記憶體示意圖
ft=σ(Wf[ht-1·xt]+bf)
(2)
it=σ(Wi[ht-1·xt]+bi)
(3)
(4)
(5)
ot=σ(Wo[ht-1·xt]+bo)
(6)
ht=ot⊙tanh(Ct)
(7)
由公式(2)~ (7)可知,遺忘門ft控制t-1時刻細胞狀態(tài)Ct-1的通過程度;輸入門it決定哪些信息可以輸入當前時刻記憶細胞;遺忘門ft和輸入門it共同更新當前時刻細胞狀態(tài)Ct;輸出門ot決定當前時刻細胞狀態(tài)的輸出。
本文首先采用RF算法對水質指標進行特征選擇,在此基礎上結合LSTM網(wǎng)絡構建水質預測模型。圖3展示了該混合模型的算法流程,可分為數(shù)據(jù)預處理、特征選擇、LSTM模型的構建與訓練、水質預測等。
(1)數(shù)據(jù)預處理:考慮到數(shù)據(jù)集缺失值大于10%,以及水質指標間的相關性,選用多重插補法[24]填補缺失值;接著利用標準化方法消除水質指標間由于量綱不同帶來的影響,標準化方法如公式(8)所示:
(8)
式中:x為水質數(shù)據(jù);x*為標準化后的數(shù)據(jù);xmean為水質數(shù)據(jù)的平均值;xstd為水質數(shù)據(jù)的標準差。
圖3 RF-LSTM水質預測模型流程圖
(2)特征選擇:通過RF算法計算各水質指標對于待測指標的重要性并降序排列,合并重要性排名靠前的水質指標和待測水質指標作為后續(xù)LSTM模型的輸入特征;
(3)LSTM模型的構建與訓練:通過滑動時間窗技術構建輸入樣本及輸出樣本,按一定比例劃分訓練集與測試集。將訓練集的輸入樣本輸入LSTM網(wǎng)絡中訓練模型,當模型輸出的預測結果滿足精度要求時,保存訓練好的模型參數(shù);
(4)水質預測: 將測試集的輸入樣本輸入訓練完畢的模型中預測水質,輸出預測值。
水質預測問題實質上是一種回歸問題,因此本文選用MAE、RMSE和決定系數(shù)(R2)來衡量模型的預測效果。MAE和RMSE表征預測結果與實際數(shù)據(jù)的偏差,其數(shù)值越小意味著模型預測效果越好;R2表征模型的擬合能力,其值越接近于1表示擬合能力越強。
(9)
(10)
(11)
水質數(shù)據(jù)具有非線性、非平穩(wěn)性、受多種環(huán)境因素影響等特點,利用其他水質指標構建多對一預測模型可以在一定程度上提升預測精度。然而,在實際水質預測過程中,參與預測的水質指標過多反而會降低預測精度。因此,本文通過RF算法分別計算各水質指標對于CODMn、NH3—N、TN和TP的重要性,選取重要性評分大于0.1的水質指標和待測指標合并,作為后續(xù)預測的輸入特征,基于RF算法的特征選擇結果如圖4所示。
圖4 基于RF算法的特征選擇結果
由圖4可知,在構建CODMn預測模型時,可選用CODMn、TN、Temp、NH3—N、pH和DO作為輸入特征;同理,選用NH3—N、TN、pH、TP和Elecon作為NH3—N預測模型的輸入特征;選用TN、NH3—N、Temp、CODMn、TP和DO作為TN預測模型的輸入特征;選用TP、TN、CODMn、Elecon、Temp和NH3—N作為TP預測模型的輸入特征。
除了固定的輸入層和輸出層外,本文構建的LSTM網(wǎng)絡還具有兩個隱藏層。將特征選擇后的數(shù)據(jù)與待測目標數(shù)據(jù)合并為新數(shù)據(jù)集,通過滑動時間窗技術重新采樣,經過綜合考慮和多次試驗,設置滑動窗口寬度為24,從數(shù)據(jù)集中切分相應時間寬度的水質數(shù)據(jù)作為輸入樣本,以滑動窗口后1個時間寬度的水質數(shù)據(jù)作為輸出樣本,向后滑動該窗口形成一系列相互覆蓋的樣本數(shù)據(jù),即用過去96 h的數(shù)據(jù)預測未來4 h的數(shù)據(jù)。將樣本數(shù)據(jù)中的80%作為訓練集,其余則作為測試集。初始化模型參數(shù),代價函數(shù)選擇均方誤差(MSE),優(yōu)化器選擇Adam,多次訓練模型并不斷調整參數(shù),當實際值與預測值之間的誤差滿足精度要求時,保存模型。各待測水質指標預測模型網(wǎng)絡參數(shù)見表1。
表1 各水質指標預測模型網(wǎng)絡參數(shù)
本文以桃林口水庫水質監(jiān)測數(shù)據(jù)為研究對象,利用RF-LSTM模型分別對CODMn、NH3—N、TN和TP未來4 h的濃度變化進行預測。選取2016年8月24日16時至2017年12月20日16時的水質數(shù)據(jù)為訓練樣本,訓練模型并保存參數(shù)。選取2017年12月20日20時至2018年4月19日16時的水質數(shù)據(jù)為測試樣本,輸入到訓練好的模型中,輸出預測結果,每個模型均輸出719個預測值。為充分驗證RF-LSTM模型的性能,使用相同數(shù)據(jù),以單一LSTM、RF-BPNN(random forest-back propagation neural network)以及RF-RNN模型作為對比模型。圖5和表2展示了不同模型分別對于CODMn、NH3—N、TN和TP的預測結果。
圖5 不同模型對各水質指標預測值與實際值對比
表2 不同模型對各水質指標預測效果對比
為降低訓練難度,提高預測精度,在構建LSTM網(wǎng)絡之前,本文首先通過RF算法對原始水質指標進行了特征選擇。為驗證該算法對于模型預測精度的提升效果,以單一LSTM模型作為對比模型,進行特征選擇有效性分析試驗。通過對比圖5中RF-LSTM模型和單一LSTM模型對CODMn、NH3—N、TN和TP的預測結果,可以直觀地看出RF-LSTM模型的預測結果曲線更貼合實際值曲線。此外,結合表2可知,經過特征選擇處理后,LSTM模型對于以上4項水質指標的預測誤差均有不同程度的降低。CODMn預測結果的MAE和RMSE分別降低了42.9%和42.5%;NH3—N預測結果的MAE和RMSE均降低了66.7%;TP預測結果的MAE和RMSE分別降低了53.9%和66.7%;尤其是TN預測結果的MAE和RMSE大幅降低了74.0%和69.3%。因此,本文證明了通過RF算法進行特征選擇可以有效減小預測誤差,有助于提高模型預測精度。
通過對比圖5和表2中RF-LSTM、 RF-BPNN與RF-RNN模型分別對于CODMn、NH3—N、TN和TP的預測結果可知,RF-LSTM模型的預測結果明顯具有更高的擬合優(yōu)度,對于以上4項水質指標的預測結果分別達到了98.6%、99.0%、98.9%和98.8%的高擬合度。整體來看,RF-LSTM模型預測誤差 為進一步驗證RF-LSTM模型的預測性能和泛化能力,本文進行了不同步長下CODMn、NH3—N、TN和TP水質預測實驗。設置滑動窗口寬度仍為24,預測步長分別為2、3、4、5、6,即用過去96 h的數(shù)據(jù)預測未來8、12、16、20、24 h的水質。 表3為不同步長下RF-LSTM模型對于以上4項水質指標的預測誤差。整體來看,隨著預測步長的增加,模型預測誤差均越來越大,不如預測未來4 h的效果好,但這些預測誤差都在可接受范圍內,可以滿足實際水質預測的精度要求。因此,本文證明了在不同預測步長下RF-LSTM模型仍可以保持較好的預測效果,可以預測未來24 h的水質,具有很強的泛化能力。 表3 不同步長下RF-LSTM模型預測誤差對比 憑借更深層次的網(wǎng)絡和強大的結構,深度學習不僅繼承了傳統(tǒng)神經網(wǎng)絡的非線性擬合能力,而且在大容量數(shù)據(jù)集上也有更突出的表現(xiàn),被研究者們越來越多地應用于水質預測中。LSTM是眾多深度學習算法中的一種,特有的門控式結構使其既可以充分挖掘水質數(shù)據(jù)中的時序信息,又可以解決其他深度學習算法無法處理的時間長期依賴問題,在預測水質時具有明顯優(yōu)勢和較高精度。此外,在預測前先通過RF算法對模型的輸入特征進行篩選,適當減少輸入特征,有助于降低模型訓練難度,實現(xiàn)對預測精度的進一步提升。據(jù)此,本文提出了RF-LSTM水質預測模型,并以桃林口水庫水質監(jiān)測數(shù)據(jù)為樣本進行驗證,發(fā)現(xiàn)在對CODMn、NH3—N、TN和TP這4種不同水質指標濃度進行預測時,RF-LSTM模型的MAE和RMSE相比單一LSTM模型均有所減小,更接近實際值,并且在與RF-BPNN和RF-RNN模型進行對比時,也展現(xiàn)出了更高的預測精度。印證了其他研究者們先降維、后預測的模型研究結果[25-26]。 隨著大數(shù)據(jù)時代的到來,水質數(shù)據(jù)采集方式逐漸由人工采集轉變?yōu)樽詣踊O(jiān)測,這使得現(xiàn)今水質數(shù)據(jù)具有大容量、高頻次的特點。然而,傳統(tǒng)水質預測方法難以充分挖掘大量水質數(shù)據(jù)中的潛在信息,預測精度無法滿足實際應用中的業(yè)務需求,亟需研究出具有高精度的水質預測方法。本文提出的RF-LSTM水質預測模型,在預測桃林口水庫CODMn、NH3—N、TN和TP未來4 h的濃度變化時,分別達到了98.6%、99.0%、98.9%和98.8%的高擬合度,展現(xiàn)出明顯優(yōu)于其他傳統(tǒng)模型的高預測精度和強泛化能力。在實際應用中,可以用于建立桃林口水庫的水質預測預警平臺,提前感知水庫水質的潛在污染風險,發(fā)送預警報告,并進行污染回溯,極大地提升相關部門對水環(huán)境風險的預測能力,將被動的水環(huán)境風險應急處理提升為自動化預測預警與主動防治,有效保障水庫的水環(huán)境安全。同時,本文提出的模型還可為其他地區(qū)地表水體水質預測模型的構建提供參考,具有重要的應用價值和現(xiàn)實意義。 此外,本文提出的RF-LSTM預測模型還有進一步的優(yōu)化空間,后續(xù)研究工作可圍繞以下兩點展開:(1)加入并篩選更多可能影響水質變化的其他特征,如氣象數(shù)據(jù)、周邊污染源的實時排放數(shù)據(jù)等;(2)本文僅使用了一個監(jiān)測站點的水質數(shù)據(jù),后續(xù)可以加入研究區(qū)內其他站點的水質監(jiān)測數(shù)據(jù),結合ArcGIS軟件更加直觀地從時間和空間兩個角度進行預測。 為了實現(xiàn)高精度的水質預測,本文提出了基于RF算法和LSTM網(wǎng)絡結合的水質預測模型,并以桃林口水庫水質監(jiān)測數(shù)據(jù)為樣本進行了驗證,得到如下結論: (1)為分析RF算法對于提升模型預測精度的有效性,通過RF算法分別篩選出影響CODMn、NH3—N、TN和TP濃度變化的關鍵特征,在此基礎上建立RF-LSTM模型。對比實驗結果顯示,RF-LSTM模型預測CODMn的MAE和RMSE比普通的LSTM模型降低了42.9%和42.5%;預測NH3—N的MAE和RMSE均降低了66.7%;預測TN的MAE和RMSE降低了74.0%和69.3%;預測TP的MAE和RMSE降低了53.9%和66.7%。這一結果表明,通過RF算法進行特征選擇可以有效降低模型預測誤差,提升預測精度。 (2)為驗證模型精度,采用相同的研究數(shù)據(jù),分別構建RF-BPNN和RF-RNN模型,并與RF-LSTM模型進行對比實驗。結果表明,RF-LSTM模型在預測CODMn、NH3—N、TN和TP未來4 h濃度時,分別達到了98.6%、99.0%、98.9%和98.8%的高擬合度,均優(yōu)于其他模型,具有極高的預測精度和較強的泛化能力。此外,該模型在多步預測實驗中也展現(xiàn)出了較好的預測效果,可以預測以上4項水質指標未來24 h的濃度,為實現(xiàn)高精度水質預測提供了新思路。3.4 基于RF-LSTM模型的多步長預測結果
4 討 論
5 結 論