APP下载

基于VMDLSTNet的水质预测模型

2022-09-29白雯睿杨毅强朱雪芹

科学技术与工程 2022年22期
关键词:预测值模态卷积

白雯睿, 杨毅强, 朱雪芹

(四川轻化工大学自动化与信息工程学院, 宜宾 644000)

随着现代工业化发展,生活废水以及工业废水等都可能导致水质恶化,而通过准确的水质预测得出水质变化趋势,从而调整相应的保护措施,达到事前预防的目的,提升治理效率,减少事后治理的难度,对水资源的保护具有重要意义。

水质预测这类时序预测问题通常使用统计分析的方法分析水质的历史数据预测未来数据。主要包括二类方法,一是传统参数法,在处理线性且平稳的时序问题取得较好效果,如自回归模型(autoregressive model,AR)[1]、自回归移动平均模型[2]、自回归整合移动平均[3]等模型及其改进模型;二是机器学习及深度学习算法,如BP神经网络[4]、径向基神经网络[5]、支持向量回归(support vector regression,SVR)[6]、Prophet时序模型[7]、长短时记忆网络(long short-term memory,LSTM)[8]。

同时,研究者们通过组合模型来获得更好的预测效果。文献[9]将灰色理论与人工神经网络联合模型减少了数据波动性,提升水质预测的稳定性。文献[10]将水质指标分解成一系列有限带宽的模态分量以降低其非平稳性,然后对各分量分别建立预测模型。文献[11]表明LSTM网络的变种网络即门循环网络在水质预测上也能取得较好的结果。文献[12]对水质主要影响因素采用改进主成分分析作降维处理并计算主成分得分值,再对选定的主成分作多元线性回归处理得到水质预测回归模型,并用于研究区水质的评估预测。如文献[13]采用卷积神经网络(convolutional neural networks,CNN)提取局部特征,再通过LSTM网络拟合预测提升水质预测精度。文献[14]使用改进的遗传算法优化水质模型权重提升水质预测准确率。

为神经网络的预测结果;为自回归模型的预测结果图1 VMD_LSTNet网络结构图Fig.1 VMD LSTNet network diagram

但是,水质预测中还存在一个问题就是长期水质信息和短期水质信息混合,长期模式中春、夏、秋、冬四季水质存在差异,短期不同时间段水质也会受到温度等相关因素影响。但是大多数现有的水质预测模型并没有考虑这2种模式,而文献[15]则有效地解决了该问题。因此现采用VMD-LSTNet网络先进行变分模态分解(variational mode decomposition,VMD)获得平稳的水质子序列,然后区分2种模式并对它们分别建模,区分长短期水质信息混合的问题,同时模拟自回归AR,为水质预测增添线性成分来达到输出能够响应输入尺度变化的目的,从而提升模型鲁棒性。并采用珠江流域老口站隔日采样的溶解氧数据验证模型效果,和BPNN、SVR、CNN、GRU、CNN-GRU等水质预测模型进行对比实验,以期证明VMD-LSTNet模型在水质预测上的有效性。

1 模型方法

采用的VMD_LSTNet网络主要由3个部分组成,一维卷积CNN层、循环神经网络RNN及Skip-RNN层、线性自回归AR层。首先对初始的水质数据进行VMD分解,再对分解所得的数据进行滑窗取值,将水质数据集转换为可供监督学习的数据集;然后将滑窗处理后的数据输入CNN层,提取水质短期局部信息,再输入RNN及Skip-RNN层,使用GRU网络,提取水质长期宏观信息,使用Skip-GRU提取更长期的宏观信息;最后输出至全连接层得到非线性的水质预测结果;同时,将处理后的数据输入AR层,得到线性的水质预测结果。将二者的预测结果进行加权求和得到最终的水质预测结果。VMD_LSTNet网络模型结构如图1所示。

1.1 变分模态分解

VMD是一种新型的时频分析方法[16],该方法的提出受到经验模态分解的启发,将时序信号分解为自主指定个数的单分量,由于它能避免模态混叠、避免边界效应、抗噪干扰等优点,在降噪、特征提取、故障诊断等领域都具有应用。具体分解过程如下。

(2)使n=n+1,进入循环。

(3)在分解个数达到指定分解个数K之前,根据uk、wk的更新公式(1)和式(2)更新相应参数。

(1)

式(1)中:λ为拉格朗日系数;α为二次惩罚因子。

(2)

对乘数λ做如下更新:

(3)

式(3)中:τ为高斯系数。

给出精度ε>0,当满足式(4)时停止迭代,反之,返回步骤(2)。

(4)

1.2 卷积CNN层

LSTNet网络中的CNN层使用不进行池化的一维卷积来实现提取水质序列局部特征的提取。该网络通过卷积运算识别水质数据中的简单模式,并对水质数据进行更高维的抽象映射生成新的特征,能够很好地提取水质数据中的时序信息。具体操作为:选定的卷积核在一维水质数据上滑动,然后并和相应的元数进行矩阵乘法,最后将结果作为特征输出,运算公式为

(5)

1.3 循环RNN及Skip-RNN层

LSTNet网络中的RNN及Skip-RNN层使用GRU提取水质序列的长期信息。GRU网络是基于LSTM网络衍生的一种算法,通过门控机制控制输入以及记忆信息在做出当前时间的预测,其中更新门判断当前信息有多少会进行下一步传递,更新门计算公式为

zt=σ(Wz[ht-1,xt]+bz)

(6)

式(6)中:zt为更新门的输出;[ht-1,xt]为ht-1和xt连接而成的输入向量;Wz为更新门的权重矩阵;bz为更新门的偏置矩阵;σ为激活函数sigmoid,它输出一个概率值来决定分量通过的比例。其中重置门控制信息是否被丢弃,重置门计算公式为

rt=σ(Wr[ht-1,xt]+br)

(7)

式(7)中:rt为重置门新门的输出;[ht-1,xt]为ht-1和xt连接而成的输入向量;Wr为重置门的权重矩阵;br为重置门的偏置矩阵。

重置门和更新门表达式一样,只是参数和用处存在差异。当前记忆内容公式为

ct=RELU(Wh[rt⊗ht-1,xt]+bh)

(8)

式(8)中:RELU为激活函数;Wh为计算ct所需的权重矩阵;⊗为矩阵的Hadamard积;bh为计算ct所需的偏置矩阵。当前时间步的最终记忆ht取决于前一时间步ht-1及当前记忆内容ct中收集什么信息,计算公式为

ht=(1-zt)⊗ht-1+zt⊗ct

(9)

由式(9)可知,更新门的输出zt控制前一时刻的信息保留程度,当zt趋于1时,主要输出为上一时刻的ht-1,当趋于0时,主要输出为ct。通过上述计算,就完成信息的过滤以及保存,并能将相关信息传输到下一个单元。Skip-RNN层通过带有时间跳跃连接的循环结构来扩展接收信息的时间跨度,公式类似于RNN层,计算公式为

zt=σ(Wz[ht-p,xt]+bz)

(10)

rt=σ(Wr[ht-p,xt]+br)

(11)

ct=RELU(Wh[rt⊗ht-p,xt]+bh)

(12)

ht=(1-zt)⊗ht-p+zt⊗ct

(13)

式中:输入p是跳过的隐藏单元数,该数值可以通过数据集的周期模式确定。再使用一个全连接层将RNN层及Skip-RNN的输出合并作为非线性预测的输出。

(14)

1.4 线性回归AR层

真实的水质数据的输入尺度会一直发生不规则的变化,而神经网络输出的尺度对水质数据的输入尺度不敏感,会导致最终的水质预测结果误差增大,为弥补该缺点,选择将最终的水质预测分解为线性成分以及非线性成分。

(15)

式(15)中:war、bar为AR模型系数。最终将神经网络的非线性输出结果和AR模型的线性预测结果加权求得最终预测结果为

(16)

式(16)中:Yt为t时刻的水质预测结果。

2 实验与分析

2.1 数据来源

数据来源于珠江流域老口站的公开数据,包含2006—2018年隔日采样的pH、温度、溶解氧等水质指标,根据国家地表水水质标准GB3838—2002,其中水质分为5类,水质中部分水质标准如表1所示。

取其中溶解氧水质数据作为后续的数据集,然后其中4/5的数据集作为训练数据集,剩下的1/5数据集作为验证集,数据详情如表2所示。

2.2 评价指标

采用水质类别预测准确率(ACC)、绝对误差(MAE)、均方误差(MSE) 以及均方根误差(RMSE)作为水质预测模型的评价指标。其中,预测水质类别是否符合真实水质类别的准确率越高表明模型性能越好,具体公式为

表1 水质标准

图2 水质预测流程图Fig.2 Water quality forecast flow chart

表2 水质数据详情表

(17)

式(17)中:ni为预测类别和真实类别一致的样本数量;n为总样本数量。而其余3种指标越小则代表预测值和真实值之间的偏差越小,预测曲线更能拟合真实水质曲线,具体公式为

(18)

(19)

(20)

式中:N为总样本数量;f(xi)为第i个水质样本的真实值;yi为第i个水质样本的预测值。

2.3 实验流程

采用VMD-LSTNet模型来对水质进行预测,模型搭建流程如图2所示。首先是对输入的水质数据进行预处理;然后将4/5左右的数据作为训练集,剩下的数据作为测试集;再分别对训练集、测试集的数据进行VMD分解,得到指定数量的水质分量序列,再通过滑窗取值将时间序列转换为可供监督学习的数据集;然后将训练集输入模型训练模型,在根据模型在测试集上的表现进一步优化模型。

2.4 模型及对照模型相关设置

2.4.1 时间窗口设置

时间窗口大小的设定受到数据集具有的相关信息影响,当数据具有的是短期时序信息时,可以将时间窗口设置的较小,而对于含有长期时序信息时,可以加大时间窗口。为提高预测精确度,本文对时间窗口大小进行不断调整,如图3所示,结果表明窗口大小为39时具有最优结果。

图3 不同时间窗口模型性能对比图Fig.3 Comparison diagram of model performance in different time windows

2.4.2 VMD相关设置

当VMD参数设置恰当时,模态混叠等现象就能被消除,VMD涉及的2个主要参数,模态分解个数K以及惩罚因子α,其中α取中间值3 000[17]即可。K的分解个数,通过对比实验确定最优K值。VMD不同分解个数的实验对比如图4所示,结果表明分解个数K=24时具有最优结果。

图4 不同VMD分解层数K模型性能对比图Fig.4 Performance comparison diagram of K model with different VMD decomposition layers

图5 IMFs分量图Fig.5 IMFs component diagram

当通过VMD将的原始水质数据分解为K=24个子序列。水质数据分解前后对照数据如图5所示(由于篇幅有限,仅展示了其中IMF2、IMF6、IMF10、IMF14、IMF18、IMF22等部分分量结果)。

当VMD参数设置恰当时,模态混叠等现象就能被消除,所以通过中心模态图观察是否存在模态混合,VMD分解后中心模态图像如图6所示,可以看出分解之后的IMFs在频域上分布均匀;因此,VMD分解可以更好地提取水质数据在频域上的特征。(由于篇幅有限,仅展示了其中IMF2、IMF6、IMF10、IMF14、IMF18、IMF22等部分分量中心模态图)。

图6 IMFs分量中心模态图Fig.6 IMFs component center modal diagram

而且水质数据在VMD分解之后,时序间的Pearson相关系数明显增强,部分原始水质数据及分解后的水质数据时序相关系数如图7所示。

图7 水质数据VMD分解前后相关系数矩阵对照图Fig.7 Comparison diagram of correlation coefficient matrix of water quality data before and after VMD decomposition

2.4.3 模型超参数设置

模型中超参数的设置对最终的水质预测结果有着重要的影响,本文模型涉及的主要超参数有卷积核的数目、卷积核的时域窗、卷积的步长、神经单元数等。将卷积核的数目分别设置为filters=[12,24,48,64,80],卷积的步分别设置为strides=[1,2,3,4],将卷积核的时域窗设置为kernel_size=[1,2,3,4,5,6],将神经单元数设置为Lstm_units =[24,32,48,64,80,128],在SKlearn库中调用GridSearchCV进行网格寻优。同时利用keras中提供的EarlyStopping早停机制,当验证集的损失函数连续20轮迭代都不在下降后,视为已到最优结果,停止训练,并通过keras中提供的ModelCheckpoint机制保存误差最小的模型,模型验证集已经测试集的损失函数随迭代收敛情况如图8所示。

图8 损失函数收敛图Fig.8 Loss function convergence diagram

最终采用的网络结构设定如下,CNN层中filters=48,kernel_size=3,strides=1,GRU层及SKPI-GRU层中神经元数为64,AR层中截取时间步为3,dropout率为0.1。

2.4.4 对照模型设置

为验证模型的预测效果,和常见的传统模型以及深度学习模型进行对照实验,分别与反向神经网络模型(BP)、支持回归机模型(SVR)、时域卷积模型(TCN)、具有注意力机制的长短时记忆网络(LSTM-AT)、门控循环网络(GRU)进行对比。这些对照模型的选取基于以下因素。

(1)与BP模型、SVR模型进行对比,验证本文模型是否优于传统的机器学习模型以及传统的神经网络模型。

(2)与TCN模型、LSTM-AT模型进行对比来验证本文模型是否优于上述模型。其中TCN模型是多项时间序列模型;LSTM-AT模型在长短时记忆网络后添加注意力机制,GRU网络是LSTM的变种网络。

对照组模型同样通过SKlearn库中调用GridSearchCV进行网格寻优,获得较优的模型参数。其中BP模型隐藏层数设置为4;SVR模型核函数设置为linear,惩罚参数设置为C=1;TCN模型层数设置为2,第一层中filters=32,kernel_size=3,第二层中filters=16,kernel_size=3;LSTM-AT模型及GRU模型中神经元数设置为64。

2.5 单日水质预测结果分析

将数据输入VMD-LSTNet模型,真实值和VMD-LSTNet模型的预测值可视化如图9所示,真实值为橘色曲线,预测值为蓝色曲线,可以看出预测数据和真实水质数据基本吻合。

为了验证模型效果,将本文采用的模型和传统模型以及深度学习模型进行对比,水质预测结果对比如图10和图11所示。图10和图11中所有的模型预测趋势基本吻合真实趋势。图10为本文模型和传统模型的水质预测对比图,其中,真实值为橘色曲线,BPNN预测值为粉色曲线,SVR预测值为灰色曲线,本文模型预测值为蓝色曲线。图10中几种模型预测的水质趋势基本吻合真实水质,但SVR模型及BPNN模型的预测明显存在一定的滞后性,本文算法的预测水质曲线和真实水质曲线的拟合度更高,因此本文使用VMDLSTNet模型的预测效果优于传统模型。

图9 VMD_LSTNet模型预测值和真实值对比图Fig.9 Comparison diagram of VMD LSTNet model predicted value and real value

图10 VMDLSTNet模型与传统模型预测结果对比图Fig.10 Comparison between VMDLSTNet model and traditional model

图11 VMDLSTNet模型与深度学习模型预测结果对比图Fig.11 Comparison of prediction results between VMD LSTNet model and deep learning model

图11为本文模型和深度学习模型水质预测对比图,其中真实值为橘色曲线,LSTM-AT预测值为灰色曲线,TCN预测值为粉色曲线,GRU预测值为灰绿色曲线,本文模型预测值为蓝色曲线。图11中几种模型预测的水质趋势基本吻合真实水质,但LSTM-AT模型、TCN模型及GRU模型的预测明显存在一定的滞后性。本文算法的预测水质曲线和真实水质曲线的拟合度更高,因此本文使用VMDLSTNet模型的预测效果优于上述的深度学习模型。

最终通过4种评价指标量化各个模型的预测效果,如表3所示。

表3 预测性能对比表

相对于观察图像,通过评价指标对模型性能的评价更加客观准确。从表3中可以看出,相对于对照模型,本文采用的模型各个评价指标上都具有一定优势,不仅预测误差降低,其中预测MAE为0.093 1,预测MSE为0.014 6,预测RMSE为 0.120 8;而且准确也上升为95%,所以总体来说本文模型的单日预测效果明显优于其他模型

2.6 长期水质预测结果分析

为了对模型在不同的预测步长下的有效性及稳定性进行评估,在变长输出下评估模型的性能,将预测的水质时间分为4个时间段,分别为{7,14,21,28},即是对水质数据的预测范围为1~4周。最终通过绝对误差MAE评价指标量化各个模型的预测效果,如表4所示,表4中数据为多日预测的平均绝对误差。

表4 预测性能对比表

由表4可知,随着预测步长的增加所有模型的预测误差都在上升,但本文模型在{7,14,21,28}这4个阶段的MAE误差均小于对照模型,所以总体来说本文模型的多日预测效果明显优于其他模型。

3 结论

为了解决长期信息和短期信息混合导致预测精度低的问题,本文结合VMD分解、CNN网络、GRU网络、AR回归,采取了一种VMD分解水质序列,CNN-GRU、CNN-Skip-GRU提取水质特征及进行非线性预测并同时AR拟合线性预测的VMD-LSTNet模型,然后通过具体实验分析,将VMD-LSTNet模型与传统的BPNN、SVR模型及深度学习模型LSTM-AT、TCN、GRU模型进行对照实验,得出如下结论。

(1)通过对水质数据进行VMD分解,能够得到时序相关性较高的子序列,提高数据质量,有利于后续网络充分提取时序信息,同时也方便多维度研究水质变化规律。

(2)该模型结合了线性、非线性模型能够捕捉长期水质信息和短期水质信息,并进行有效的水质预测,溶解氧的预测MAE为0.093 1,预测MSE为0.014 6,预测RMSE为0.120 8,水质类别的预测准确率为95%。

(3)该算法为水质的保护、治理提供了更加科学有效的依据,对现实生活及实际应用具有重要意义。

猜你喜欢

预测值模态卷积
基于全卷积神经网络的猪背膘厚快速准确测定
联合仿真在某车型LGF/PP尾门模态仿真上的应用
基于老年驾驶人的多模态集成式交互设计研究
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
AI讲座:ML的分类方法
自体荧光内镜对消化道肿瘤诊断临床应用分析
模态可精确化方向的含糊性研究
季节模型在某医院月门诊量预测中的研究与应用