王军 高梓勋 朱永明
摘 要:水质预测是水资源管理和水污染防治的基础性、前提性工作,但黄河流域水质预测研究相对滞后。为了改善LSTM水质预测模型的性能、提高其泛化能力,根据水质变化具有周期性和非线性的特征,以黄河小浪底水库溶解氧含量为研究对象,构建了一种卷积神经网络CNN和长短时记忆网络LSTM结合的CNN-LSTM预测模型,经试验验证,该模型可以高效地提取水质特征信息并进行时间序列预测,预测误差比LSTM模型的更低,其预测值的平均绝对误差和均方根误差分别比LSTM模型的低19.72%和10.44%,对较大值和较小值的预测更为准确,且具有较好的泛化性能。
关键词:水质预测;长短时记忆网络;卷积神经网络;CNN-LSTM模型;小浪底水库;黄河
中图分类号:X832;TV882.1 文献标志码: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
黃河是我国第二长河、西北和华北地区的重要水源之一[1],在我国经济发展、社会安定和生态环境保护等方面处于举足轻重的位置[2]。然而,随着生产工业化和人口城镇化速度加快等,黄河水质污染愈发严重[3]。水质预测是水资源管理和水污染防治的基础性和前提性工作,随着新一代信息技术的发展,越来越多的学者采用智能算法构建水质预测模型[4],如李娜等[5]提出了一种灰色系统(GM)和新陈代谢原理结合的水质预测模型、Ju等[6]建立了预测水中氨氮含量的最小二乘支持向量机模型、刘洁等[7]将遗传算法和BP神经网络算法结合用于水质实时预测。由于水质预测涉及多种因素的非线性关系、需要的数据量大,传统智能算法在精度、收敛速度和适用性等方面有或多或少的局限性[8],因此Wang等[9]将长短时记忆网络(LSTM)应用于水质预测,建立基于LSTM的水质预测模型,克服了传统神经网络难以用于时间序列预测的难题,获得了比传统算法更好的结果。但单个LSTM网络模型的预测性能有限,为了改善LSTM水质预测模型的性能、提高其泛化能力,有关学者继续对LSTM的融合模型进行探索,如Jia等[10]将BP神经网络和LSTM结合构建了LSTM-BP组合模型。综上所述,LSTM在水质预测上的应用还有很大的研究空间。目前,对于黄河水质预测的研究还停留在BP神经网络的应用[11],不能满足黄河流域生态保护和高质量发展的需求,为此,笔者提出了一种将一维卷积神经网络(CNN)与堆叠长短时记忆网络(LSTM)结合的水质预测模型CNN-LSTM,用于黄河小浪底水库水质(溶解氧含量)预测,结果表明其比LSTM有更好的预测性能和泛化性能。
1 理论基础与模型构建
1.1 长短时记忆网络
基础的循环神经网络(RNN)拥有普通神经网络所没有的自连接隐藏层结构,可以用前一时刻的隐藏层状态更新当前时刻的隐藏层状态,这使得RNN适合处理时间序列数据。但随着时间序列长度增加,RNN会因“忘记”早期的时序信息而变得难以训练,出现梯度消失或梯度爆炸。LSTM的提出,在一定程度上解决了RNN无法记住早期时间序列信息的问题[12-13]。LSTM的隐藏层依然是自连接形式,但LSTM可以从前一时刻获取细胞状态和隐藏层状态两种信息,并使用“遗忘门”“输入门”和“输出门”3种“门”的阈值结构来控制细胞状态信息和隐藏层状态信息的传输与更新。LSTM隐藏层结构如图1所示,其中:Ct-1、Ct分别为t-1时刻和t时刻的细胞状态信息,t为t时刻的候选更新信息,ht-1和ht分别为t-1时刻和t时刻的隐藏层状态信息,Xt为t时刻的输入值,σ为Sigmoid函数,ft、it、ot分别为“遗忘门”“输入门”和“输出门”的控制系数。
“遗忘门”是依据ft来决定t-1时刻的细胞状态信息Ct-1有多少能够被保留的结构。ft是一个由Xt和ht-1作为输入计算出来的处于0和1之间的数值,ft越接近0则Ct-1中被剔除的信息越多,ft越接近1则Ct-1中被保留的信息越多;控制系数it、ot的作用与ft类似。“输入门”的作用是确定哪些信息会被加入到Ct中,与“遗忘门”一同作用,决定Ct的更新情况。“输出门”用于控制t时刻隐藏层状态信息的输出ht。长短时记忆网络LSTM的公式表达形式如下:
1.2 卷积神经网络
卷积神经网络CNN作为深度学习领域的算法之一,具有局部连接、权值共享和池化下采样的特点,可以高效地提取图像数据中的特征信息并进行分类,有极强的图像识别性能。受其启发,学者们探索了CNN在时间序列预测中的应用,发现CNN通过卷积运算进行特征提取的功能同样可以应用于时间序列数据分析,在时间序列预测上的噪声容忍度十分优秀[14-15]。时间序列预测使用的是一维CNN,可以把卷积核视为一个窗口,在时间序列数据上进行窗口平移,提取局部序列段并与权重进行点乘,持续不断输出计算得到的序列特征,进而进行池化下采样,进一步过滤数据中对于预测无益的噪声信息,使得预测性能得到优化。
1.3 模型构建
水质信息随时间的变化有一定的周期性,同时受诸多因素的影响而有非线性趋势,因此预测水质变化情况有一定的难度,单独使用LSTM模型会引入与水质预测毫无关系的噪声,还会受到时间序列数据中较大值和较小值的影响,导致预测效果不佳。而单独使用CNN模型,虽然可以对每一段时间序列进行卷积运算,很好地提取水质信息中的局部特征,但CNN对水质信息的时间顺序并不敏感,不能很好地单独完成预测任务。因此,将CNN与LSTM融合(称为CNN-LSTM模型),充分利用CNN的特征信息提取能力和LSTM对时间序列数据的敏感性,提高对水质预测的效果。
如图2所示,CNN-LSTM模型的第一部分是卷积层和最大值池化层组成的CNN部分,该部分设置了2个卷积层和2个最大值池化层,卷积层会遍历输入的黄河水质信息,用卷积内核权重与水质信息局部序列段进行卷积运算,得到一个初步的特征矩阵,该特征矩阵的表达能力强于原始水质信息时间序列(矩阵);最大池化层把上一卷积层计算得到的特征矩阵作为输入,用池化窗口在该矩阵(序列)上滑动,每滑动一次取窗口的最大值进行池化,输出更具表现力的特征矩阵。一维CNN的运行如图3所示,可把整个CNN部分看作一个特殊的数据预处理结构,水质信息被CNN部分提炼成对时间序列信息更具敏感性的LSTM部分的输入。堆叠LSTM部分则采用2个LSTM网络的堆叠进行时序数据建模,通过Dense层输出水质预测结果。
选取平均绝对误差(MAE)和均方根误差(RMSE)作为评价模型预测效果的指标[16],MAE和RMSE的计算公式如下:
式中:yi为实测值;yi′为模型输出的预测值;i为样本编号;N为样本数量。
CNN-LSTM把MAE和RMSE作为模型损失值,通过反向传播误差信息进行迭代权重更新,让卷积内核中的权重、LSTM的参数信息及Dense层中的参数不断优化直至收敛,完成模型的训练。
CNN-LSTM模型的超参数设置在一定程度上影响其对黄河水质预测性能,经过反复试验,确定了相对较优的超参数(见表1)和激活函数。
2 预测效果分析
2.1 模型测试数据处理
本研究以中国环境监测总站提供的全国主要流域重点断面水质自动监测周报作为数据源,数据处理过程如下。
(1)获取数据。从自动监测周报中选取2008年1月1日至2014年12月28日黄河小浪底水库出库周测水质数据作为本研究的模型測试数据,包括水体pH值、氨氮浓度、高锰酸盐指数、溶解氧(DO)4个水质指标。
(2)选取研究对象。获取的水质数据与《地表水环境质量标准》进行对比,发现小浪底水库的溶解氧含量对其水质类别影响最大,故把溶解氧含量作为评价小浪底水库水质的主要研究对象,其在研究时段的变化情况见图4。
(3)归一化处理。为了避免某些异常值使模型难以收敛,同时让CNN-LSTM模型收敛更快更稳定,对溶解氧数据进行归一化处理,使CNN-LSTM的输入值介于[0,1]之间。归一化处理公式为
式中:X为原始数据;Xnorm为归一化处理后的数据;Xmax为原始数据中的最大值;Xmin为原始数据中的最小值。
(4)对样本数据进行训练集和验证集划分。以9∶1的比例划分训练集和验证集,即前90%的样本数据用来训练模型,后10%的样本数据用来验证模型性能。
(5)数据还原。在训练结束后进行模型评估时,采用式(10)对归一化后的数据进行还原(逆归一化)处理,以便评估模型预测值的误差。
2.2 预测试验
采用python程序语言环境下的深度学习库keras编写代码,实现了用CNN-LSTM和用LSTM对黄河水质的预测试验,两者均在训练集上使用Adam优化器和0.001的学习率进行模型训练。为了在卷积运算和池化下采样的过程中最大限度地保留时间序列信息,在卷积运算和最大值池化时使用“same”的填充方式,完成100个epoch(1个epoch表示遍历一次训练集中的所有样本)的迭代后得到了最后的试验结果。
2.3 训练集拟合结果分析
CNN-LSTM模型和LSTM模型的评价指标MAE、RMSE见表2。由表2可知,两个模型对训练集拟合(预测)的误差都处于较低水平,CNN-LSTM的预测性能总体优于LSTM的,其RMSE比LSTM的低10.44%、MAE比LSTM的低19.72%。
为了更清晰地对比两个模型对水质预测的性能差异,图5和图6分别展示了两个模型对训练集对应时段的溶解氧含量预测(拟合)值与实测值对比情况,可以看出:LSTM虽然可以较好地对水质的周期性变化进行预测,但是对较大值和较小值的预测结果与实测值相差较大,而CNN-LSTM较好地解决了LSTM对较大值和较小值预测不准确的问题,表明CNN-LSTM具有更强的预测性能。
2.4 验证集预测结果分析
CNN-LSTM对验证集对应时段溶解氧含量的预测结果与实测值对比见图7,可以看出,CNN-LSTM对溶解氧浓度的预测表现出较好的性能,与其在训练集的预测(拟合)性能差别不大,说明CNN-LSTM具有较强的泛化性能。
3 结 论
基于CNN结构和堆叠LSTM结构融合的CNN-LSTM模型,用CNN来提取溶解氧含量特征信息并作为LSTM的输入,既解决了CNN难以记忆早期时间序列信息的问题,又解决了LSTM预测水质信息精度不足的缺陷,可以比较准确地预测小浪底水库溶解氧含量,准确性明显优于LSTM模型,在较大值和较小值预测方面也更为准确,且具有较强的泛化性能,其预测值的平均绝对误差(MAE)和均方根误差(RMSE)分别比LSTM模型的低19.72%和10.44%。
参考文献:
[1] 嵇晓燕,孙宗光,聂学军,等.黄河流域近10 a地表水质变化趋势研究[J].人民黄河,2016,38(12):99-102.
[2] 贾绍凤,梁媛.新形势下黄河流域水资源配置战略调整研究[J].资源科学,2020,42(1):29-36.
[3] 郑洪领,王龙,耿玉秀.黄河水质现状分析及提高水质对策建议[J].中国农村水利水电,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] 李娜,王腊春,谢刚,等.山东省辖淮河流域河流水质趋势的灰色预测[J].环境科学与技术,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].南水北调与水利科技(中英文),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].青海大学学报(自然科学版),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.
【责任编辑 张智民】