王軍 高梓勛 朱永明



摘?要:水質(zhì)預(yù)測是水資源管理和水污染防治的基礎(chǔ)性、前提性工作,但黃河流域水質(zhì)預(yù)測研究相對滯后。為了改善LSTM水質(zhì)預(yù)測模型的性能、提高其泛化能力,根據(jù)水質(zhì)變化具有周期性和非線性的特征,以黃河小浪底水庫溶解氧含量為研究對象,構(gòu)建了一種卷積神經(jīng)網(wǎng)絡(luò)CNN和長短時記憶網(wǎng)絡(luò)LSTM結(jié)合的CNN-LSTM預(yù)測模型,經(jīng)試驗驗證,該模型可以高效地提取水質(zhì)特征信息并進(jìn)行時間序列預(yù)測,預(yù)測誤差比LSTM模型的更低,其預(yù)測值的平均絕對誤差和均方根誤差分別比LSTM模型的低19.72%和10.44%,對較大值和較小值的預(yù)測更為準(zhǔn)確,且具有較好的泛化性能。
關(guān)鍵詞:水質(zhì)預(yù)測;長短時記憶網(wǎng)絡(luò);卷積神經(jīng)網(wǎng)絡(luò);CNN-LSTM模型;小浪底水庫;黃河
中圖分類號:X832;TV882.1?文獻(xiàn)標(biāo)志碼:A
doi:10.3969/j.issn.1000-1379.2021.05.018
Abstract: Water quality prediction is the basic and prerequisite work for the management of water resources and prevention and control of water pollution, but the research on water quality prediction in the Yellow River basin is relatively lagged behind. In order to improve the performance of the LSTM water quality prediction model and increase its generalization ability, according to the periodic and non-linear characteristics of water quality changes, taking the dissolved oxygen concentration of the Xiaolangdi Reservoir on the Yellow River as the research object, a combination of convolutional neural network CNN and length was constructed. The CNN-LSTM prediction model of the time memory network LSTM had been verified by experiments. The model can efficiently extract water quality feature information and perform time series prediction. The prediction error is lower than that of the LSTM model. The average absolute error of the predicted value and the root mean square error are 19.72% and 10.44% lower than that of the LSTM model respectively. The prediction of larger and smaller values is more accurate and it has better generalization performance.
Key words: water quality prediction; long and short-term memory network; convolutional neural network; CNN-LSTM model; Xiaolangdi Reservoir; Yellow River
黃河是我國第二長河、西北和華北地區(qū)的重要水源之一[1],在我國經(jīng)濟(jì)發(fā)展、社會安定和生態(tài)環(huán)境保護(hù)等方面處于舉足輕重的位置[2]。然而,隨著生產(chǎn)工業(yè)化和人口城鎮(zhèn)化速度加快等,黃河水質(zhì)污染愈發(fā)嚴(yán)重[3]。水質(zhì)預(yù)測是水資源管理和水污染防治的基礎(chǔ)性和前提性工作,隨著新一代信息技術(shù)的發(fā)展,越來越多的學(xué)者采用智能算法構(gòu)建水質(zhì)預(yù)測模型[4],如李娜等[5]提出了一種灰色系統(tǒng)(GM)和新陳代謝原理結(jié)合的水質(zhì)預(yù)測模型、Ju等[6]建立了預(yù)測水中氨氮含量的最小二乘支持向量機(jī)模型、劉潔等[7]將遺傳算法和BP神經(jīng)網(wǎng)絡(luò)算法結(jié)合用于水質(zhì)實時預(yù)測。由于水質(zhì)預(yù)測涉及多種因素的非線性關(guān)系、需要的數(shù)據(jù)量大,傳統(tǒng)智能算法在精度、收斂速度和適用性等方面有或多或少的局限性[8],因此Wang等[9]將長短時記憶網(wǎng)絡(luò)(LSTM)應(yīng)用于水質(zhì)預(yù)測,建立基于LSTM的水質(zhì)預(yù)測模型,克服了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)難以用于時間序列預(yù)測的難題,獲得了比傳統(tǒng)算法更好的結(jié)果。但單個LSTM網(wǎng)絡(luò)模型的預(yù)測性能有限,為了改善LSTM水質(zhì)預(yù)測模型的性能、提高其泛化能力,有關(guān)學(xué)者繼續(xù)對LSTM的融合模型進(jìn)行探索,如Jia等[10]將BP神經(jīng)網(wǎng)絡(luò)和LSTM結(jié)合構(gòu)建了LSTM-BP組合模型。綜上所述,LSTM在水質(zhì)預(yù)測上的應(yīng)用還有很大的研究空間。目前,對于黃河水質(zhì)預(yù)測的研究還停留在BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用[11],不能滿足黃河流域生態(tài)保護(hù)和高質(zhì)量發(fā)展的需求,為此,筆者提出了一種將一維卷積神經(jīng)網(wǎng)絡(luò)(CNN)與堆疊長短時記憶網(wǎng)絡(luò)(LSTM)結(jié)合的水質(zhì)預(yù)測模型CNN-LSTM,用于黃河小浪底水庫水質(zhì)(溶解氧含量)預(yù)測,結(jié)果表明其比LSTM有更好的預(yù)測性能和泛化性能。
1?理論基礎(chǔ)與模型構(gòu)建
1.1?長短時記憶網(wǎng)絡(luò)
基礎(chǔ)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)擁有普通神經(jīng)網(wǎng)絡(luò)所沒有的自連接隱藏層結(jié)構(gòu),可以用前一時刻的隱藏層狀態(tài)更新當(dāng)前時刻的隱藏層狀態(tài),這使得RNN適合處理時間序列數(shù)據(jù)。但隨著時間序列長度增加,RNN會因“忘記”早期的時序信息而變得難以訓(xùn)練,出現(xiàn)梯度消失或梯度爆炸。LSTM的提出,在一定程度上解決了RNN無法記住早期時間序列信息的問題[12-13]。LSTM的隱藏層依然是自連接形式,但LSTM可以從前一時刻獲取細(xì)胞狀態(tài)和隱藏層狀態(tài)兩種信息,并使用“遺忘門”“輸入門”和“輸出門”3種“門”的閾值結(jié)構(gòu)來控制細(xì)胞狀態(tài)信息和隱藏層狀態(tài)信息的傳輸與更新。LSTM隱藏層結(jié)構(gòu)如圖1所示,其中:Ct-1、Ct分別為t-1時刻和t時刻的細(xì)胞狀態(tài)信息,t為t時刻的候選更新信息,ht-1和ht分別為t-1時刻和t時刻的隱藏層狀態(tài)信息,Xt為t時刻的輸入值,σ為Sigmoid函數(shù),ft、it、ot分別為“遺忘門”“輸入門”和“輸出門”的控制系數(shù)。
“遺忘門”是依據(jù)ft來決定t-1時刻的細(xì)胞狀態(tài)信息Ct-1有多少能夠被保留的結(jié)構(gòu)。ft是一個由Xt和ht-1作為輸入計算出來的處于0和1之間的數(shù)值,ft越接近0則Ct-1中被剔除的信息越多,ft越接近1則Ct-1中被保留的信息越多;控制系數(shù)it、ot的作用與ft類似。“輸入門”的作用是確定哪些信息會被加入到Ct中,與“遺忘門”一同作用,決定Ct的更新情況。“輸出門”用于控制t時刻隱藏層狀態(tài)信息的輸出ht。長短時記憶網(wǎng)絡(luò)LSTM的公式表達(dá)形式如下:
1.2?卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)CNN作為深度學(xué)習(xí)領(lǐng)域的算法之一,具有局部連接、權(quán)值共享和池化下采樣的特點,可以高效地提取圖像數(shù)據(jù)中的特征信息并進(jìn)行分類,有極強(qiáng)的圖像識別性能。受其啟發(fā),學(xué)者們探索了CNN在時間序列預(yù)測中的應(yīng)用,發(fā)現(xiàn)CNN通過卷積運(yùn)算進(jìn)行特征提取的功能同樣可以應(yīng)用于時間序列數(shù)據(jù)分析,在時間序列預(yù)測上的噪聲容忍度十分優(yōu)秀[14-15]。時間序列預(yù)測使用的是一維CNN,可以把卷積核視為一個窗口,在時間序列數(shù)據(jù)上進(jìn)行窗口平移,提取局部序列段并與權(quán)重進(jìn)行點乘,持續(xù)不斷輸出計算得到的序列特征,進(jìn)而進(jìn)行池化下采樣,進(jìn)一步過濾數(shù)據(jù)中對于預(yù)測無益的噪聲信息,使得預(yù)測性能得到優(yōu)化。
1.3?模型構(gòu)建
水質(zhì)信息隨時間的變化有一定的周期性,同時受諸多因素的影響而有非線性趨勢,因此預(yù)測水質(zhì)變化情況有一定的難度,單獨(dú)使用LSTM模型會引入與水質(zhì)預(yù)測毫無關(guān)系的噪聲,還會受到時間序列數(shù)據(jù)中較大值和較小值的影響,導(dǎo)致預(yù)測效果不佳。而單獨(dú)使用CNN模型,雖然可以對每一段時間序列進(jìn)行卷積運(yùn)算,很好地提取水質(zhì)信息中的局部特征,但CNN對水質(zhì)信息的時間順序并不敏感,不能很好地單獨(dú)完成預(yù)測任務(wù)。因此,將CNN與LSTM融合(稱為CNN-LSTM模型),充分利用CNN的特征信息提取能力和LSTM對時間序列數(shù)據(jù)的敏感性,提高對水質(zhì)預(yù)測的效果。
如圖2所示,CNN-LSTM模型的第一部分是卷積層和最大值池化層組成的CNN部分,該部分設(shè)置了2個卷積層和2個最大值池化層,卷積層會遍歷輸入的黃河水質(zhì)信息,用卷積內(nèi)核權(quán)重與水質(zhì)信息局部序列段進(jìn)行卷積運(yùn)算,得到一個初步的特征矩陣,該特征矩陣的表達(dá)能力強(qiáng)于原始水質(zhì)信息時間序列(矩陣);最大池化層把上一卷積層計算得到的特征矩陣作為輸入,用池化窗口在該矩陣(序列)上滑動,每滑動一次取窗口的最大值進(jìn)行池化,輸出更具表現(xiàn)力的特征矩陣。一維CNN的運(yùn)行如圖3所示,可把整個CNN部分看作一個特殊的數(shù)據(jù)預(yù)處理結(jié)構(gòu),水質(zhì)信息被CNN部分提煉成對時間序列信息更具敏感性的LSTM部分的輸入。堆疊LSTM部分則采用2個LSTM網(wǎng)絡(luò)的堆疊進(jìn)行時序數(shù)據(jù)建模,通過Dense層輸出水質(zhì)預(yù)測結(jié)果。
選取平均絕對誤差(MAE)和均方根誤差(RMSE)作為評價模型預(yù)測效果的指標(biāo)[16],MAE和RMSE的計算公式如下:
式中:yi為實測值;yi′為模型輸出的預(yù)測值;i為樣本編號;N為樣本數(shù)量。
CNN-LSTM把MAE和RMSE作為模型損失值,通過反向傳播誤差信息進(jìn)行迭代權(quán)重更新,讓卷積內(nèi)核中的權(quán)重、LSTM的參數(shù)信息及Dense層中的參數(shù)不斷優(yōu)化直至收斂,完成模型的訓(xùn)練。
CNN-LSTM模型的超參數(shù)設(shè)置在一定程度上影響其對黃河水質(zhì)預(yù)測性能,經(jīng)過反復(fù)試驗,確定了相對較優(yōu)的超參數(shù)(見表1)和激活函數(shù)。
2?預(yù)測效果分析
2.1?模型測試數(shù)據(jù)處理
本研究以中國環(huán)境監(jiān)測總站提供的全國主要流域重點斷面水質(zhì)自動監(jiān)測周報作為數(shù)據(jù)源,數(shù)據(jù)處理過程如下。
(1)獲取數(shù)據(jù)。從自動監(jiān)測周報中選取2008年1月1日至2014年12月28日黃河小浪底水庫出庫周測水質(zhì)數(shù)據(jù)作為本研究的模型測試數(shù)據(jù),包括水體pH值、氨氮濃度、高錳酸鹽指數(shù)、溶解氧(DO)4個水質(zhì)指標(biāo)。
(2)選取研究對象。獲取的水質(zhì)數(shù)據(jù)與《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》進(jìn)行對比,發(fā)現(xiàn)小浪底水庫的溶解氧含量對其水質(zhì)類別影響最大,故把溶解氧含量作為評價小浪底水庫水質(zhì)的主要研究對象,其在研究時段的變化情況見圖4。
(3)歸一化處理。為了避免某些異常值使模型難以收斂,同時讓CNN-LSTM模型收斂更快更穩(wěn)定,對溶解氧數(shù)據(jù)進(jìn)行歸一化處理,使CNN-LSTM的輸入值介于[0,1]之間。歸一化處理公式為
式中:X為原始數(shù)據(jù);Xnorm為歸一化處理后的數(shù)據(jù);Xmax為原始數(shù)據(jù)中的最大值;Xmin為原始數(shù)據(jù)中的最小值。
(4)對樣本數(shù)據(jù)進(jìn)行訓(xùn)練集和驗證集劃分。以9∶1的比例劃分訓(xùn)練集和驗證集,即前90%的樣本數(shù)據(jù)用來訓(xùn)練模型,后10%的樣本數(shù)據(jù)用來驗證模型性能。
(5)數(shù)據(jù)還原。在訓(xùn)練結(jié)束后進(jìn)行模型評估時,采用式(10)對歸一化后的數(shù)據(jù)進(jìn)行還原(逆歸一化)處理,以便評估模型預(yù)測值的誤差。
2.2?預(yù)測試驗
采用python程序語言環(huán)境下的深度學(xué)習(xí)庫keras編寫代碼,實現(xiàn)了用CNN-LSTM和用LSTM對黃河水質(zhì)的預(yù)測試驗,兩者均在訓(xùn)練集上使用Adam優(yōu)化器和0.001的學(xué)習(xí)率進(jìn)行模型訓(xùn)練。為了在卷積運(yùn)算和池化下采樣的過程中最大限度地保留時間序列信息,在卷積運(yùn)算和最大值池化時使用“same”的填充方式,完成100個epoch(1個epoch表示遍歷一次訓(xùn)練集中的所有樣本)的迭代后得到了最后的試驗結(jié)果。
2.3?訓(xùn)練集擬合結(jié)果分析
CNN-LSTM模型和LSTM模型的評價指標(biāo)MAE、RMSE見表2。由表2可知,兩個模型對訓(xùn)練集擬合(預(yù)測)的誤差都處于較低水平,CNN-LSTM的預(yù)測性能總體優(yōu)于LSTM的,其RMSE比LSTM的低10.44%、MAE比LSTM的低19.72%。
為了更清晰地對比兩個模型對水質(zhì)預(yù)測的性能差異,圖5和圖6分別展示了兩個模型對訓(xùn)練集對應(yīng)時段的溶解氧含量預(yù)測(擬合)值與實測值對比情況,可以看出:LSTM雖然可以較好地對水質(zhì)的周期性變化進(jìn)行預(yù)測,但是對較大值和較小值的預(yù)測結(jié)果與實測值相差較大,而CNN-LSTM較好地解決了LSTM對較大值和較小值預(yù)測不準(zhǔn)確的問題,表明CNN-LSTM具有更強(qiáng)的預(yù)測性能。
2.4?驗證集預(yù)測結(jié)果分析
CNN-LSTM對驗證集對應(yīng)時段溶解氧含量的預(yù)測結(jié)果與實測值對比見圖7,可以看出,CNN-LSTM對溶解氧濃度的預(yù)測表現(xiàn)出較好的性能,與其在訓(xùn)練集的預(yù)測(擬合)性能差別不大,說明CNN-LSTM具有較強(qiáng)的泛化性能。
3?結(jié)?論
基于CNN結(jié)構(gòu)和堆疊LSTM結(jié)構(gòu)融合的CNN-LSTM模型,用CNN來提取溶解氧含量特征信息并作為LSTM的輸入,既解決了CNN難以記憶早期時間序列信息的問題,又解決了LSTM預(yù)測水質(zhì)信息精度不足的缺陷,可以比較準(zhǔn)確地預(yù)測小浪底水庫溶解氧含量,準(zhǔn)確性明顯優(yōu)于LSTM模型,在較大值和較小值預(yù)測方面也更為準(zhǔn)確,且具有較強(qiáng)的泛化性能,其預(yù)測值的平均絕對誤差(MAE)和均方根誤差(RMSE)分別比LSTM模型的低19.72%和10.44%。
參考文獻(xiàn):
[1]?嵇曉燕,孫宗光,聶學(xué)軍,等.黃河流域近10 a地表水質(zhì)變化趨勢研究[J].人民黃河,2016,38(12):99-102.
[2]?賈紹鳳,梁媛.新形勢下黃河流域水資源配置戰(zhàn)略調(diào)整研究[J].資源科學(xué),2020,42(1):29-36.
[3]?鄭洪領(lǐng),王龍,耿玉秀.黃河水質(zhì)現(xiàn)狀分析及提高水質(zhì)對策建議[J].中國農(nóng)村水利水電,2010(5):21-24.
[4]?HAMEED M, SHARQI S S, YASEEN Z M, et al. Application of Artificial Intelligence (AI) Techniques in Water Quality Index Prediction: a Case Study in Tropical Region, Malaysia[J]. Neural Computing and Applications, 2016,28(S1):893-905.
[5]?李娜,王臘春,謝剛,等.山東省轄淮河流域河流水質(zhì)趨勢的灰色預(yù)測[J].環(huán)境科學(xué)與技術(shù),2012,35(2):201-205.
[6]?JU J, WANG L. Analysis of Ammonia Nitrogen Content in Water Based on Weighted Least Squares Support Vector Machine (WLSSVM) Algorithm[J]. Journal of Software Engineering and Applications,2016,9(2):45-51.
[7]?劉潔,祝榕婕,姜德迅,等.基于遺傳-神經(jīng)網(wǎng)絡(luò)的實時水質(zhì)預(yù)測模型[J].南水北調(diào)與水利科技(中英文),2020,18(6):93-100.
[8]?KABIR S, PATIDAR S, PENDER S. Investigating Capabilities of Machinelearning Techniques in Forecasting Stream Flow[J].Proceedings of Theinstitution of Civil Engineers-Water Management, 2020,173(2):69-86.
[9]?WANG Y, ZHOU J, CHEN K, et al. Water Quality Prediction Method Based on LSTM Neural Network[C]//2017 12th International Conference on Intelligent Systems and Knowledge Engineering (ISKE). Washington: IEEE Computer Society, 2017: 1-5.
[10]?JIA H,ZHOU X. Water Quality Prediction Method Based on LSTM-BP[C]// 2020 12th International Conference on Intelligent Human-Machine Systems and Cybernetics (IHMSC).Hangzhou: IEEE Computer Society, 2020:27-30.
[11]?琚振闖,王曉,弓艷霞.基于BP神經(jīng)網(wǎng)絡(luò)的黃河水質(zhì)預(yù)測研究[J].青海大學(xué)學(xué)報(自然科學(xué)版),2017,35(3):88-92.
[12]?LI Y, ZHU Z, KONG D, et al. EA-LSTM: Evolutionary Attention-Based LSTM for Time Series Prediction[J]. Knowledge-Based Systems, 2019,181(1):104785.1-104785.8.
[13]?HOCHREITER S, SCHMIDHUBER J. Long Short-Term Memory[J]. Neural Computation, 1997,9(8):1735-1780.
[14]?ZHAO B, LU H, CHEN S, et al. Convolutional Neural Networks for Time Series Classification[J]. Journal of Systems Engineering and Electronics, 2017,28(1): 162-169.
[15]?ZHENG Y, LIU Q, CHEN E, et al. Time Series Classification Using Multi-Channels Deep Convolutional Neural Networks[C]//Proc of the 15th International Conference on Web-Age InformatioManagement. Macau: [s.n.], 2014: 298-310.
[16]?LIVIERIS I E, PINTELAS E, PINTELAS P. A CNN-LSTM Model for Gold Price Time-Series Forecasting[J]. Neural Computing and Applications, 2020,32(23):17351-17360.
【責(zé)任編輯?張智民】