基于VMD-LSTM的河流流量预测方法

2024-02-26 02:49栾策
东北水利水电 2024年2期
关键词:分量模态流量

栾策

(辽宁生态工程职业学院,辽宁 沈阳 110122)

0 引言

近年来,受极端气候影响,我国旱涝灾害频发,松辽流域也多次出现汛情,使城乡积涝,给交通、农业和生产等带来不利影响。准确的水文预报对防洪、抗旱、水资源合理利用和国防事业具有重要意义。湖泊水位具有复杂性且受季节影响较为明显,降雨量和气候的变化亦对其产生较大的影响[1],这些因素都给流量预测的准确性带来巨大的挑战。

随着人工智能的快速发展,越来越多的学者通过深度学习算法对水文数据进行分析,从中获取有效信息以进行预测。王亦斌和孙涛等[2]利用经验模式分解和长短期记忆网络相结合的方法对水位进行预测;Zhang 等[3]基于经验模态分解方法进行数据预处理,通过建立长短期记忆神经网络(LSTM)模型进行城市供水水质预测,提高水质检测的准确性。

与支持向量机SVM[4]、BP 神经网络[5]、极限学习机ELM[6]等模型相比,带有记忆功能的LSTM 既可对连续的径流数据进行处理,又能考虑到长时间径流序列的季节性和周期性,因此能更合理地处理序列信息,实现序列预测。对于复杂的水位流量关系,变分模态分解(VMD)算法可有效减少数据的繁杂性。基于上述原理,本文提出一种组合模型(VMD-LSTM)应用于沙里寨水文站,以期提高该水文站的径流预测精度。

1 研究方法及模型建立

1.1 变分模态分解算法

变分模态分解算法(VMD)是一种信号分解方法,在得到分解分量的过程中,通过迭代搜寻变分模型最优解,从而确定每个分量的频率中心和宽带,自适应地实现信号的频域剖分和各分量的有效分离[7],具有较高的分解精度和较好的抗噪性能。VMD 在变分框架内构造约束变分问题,采用交替方向乘子算法(ADMM)迭代更新各模态函数及中心频率,将原始信号分解为若干个包含原始信息的子序列。

VMD将原始信号f(t)分解为L个本征模函数uk(t)(k=1,2,3,…,L),有以下几个主要算法[8]。

1)定义uk(t)为一个调幅调频信号

式中:相位ϕt(t)为非递减函数;Ak(t)为包络线,Ak(t)≥0。

3)定义瞬时频率ωk(t)=ϕk(t)≥0,且ωk(t)相对于ϕk(t)变化缓慢。每个本征模函数uk(t)与调谐到相应估计中心频率ωk的指数混频,将模态的频谱移至基频带

4)对分解信号梯度的平方范数进行运算,从而获得信号宽度,如式(2)。求解解调信号的高斯平滑度(梯度的平方范数),确保各模态估计宽带之和最小,且任意时刻所有模态之和等于原始信号,得到约束变分问题:

式中:{uk} ∶={u1,…,uk} 是分解后的单分量调频调幅信号,即本征模函数;{ωk} ∶={ω1,…,ωk} 为单分量调频调幅信号的中心频率;∂t为对t求偏导数,t为分解信号的个数;δ(t)为脉冲函数;j为虚数单位。

5)采用惩罚因子α和拉格朗日乘子λ(t)将上述的约束问题转换为非约束问题:

6)根据傅里叶变换中的帕塞瓦尔定理,信号的能量在时域和频域具有等效性,将时域的问题在频域解决。利用交替方向乘子法迭代更新模态函数中心频率和拉格朗日乘子最终得到信号分解的所有模态。的迭代公式如下:

式中:∧为信号傅里叶变换对应的频域形式;τ为噪声容忍度;n为迭代次数;ω为频率;(ω)分别为f(t),ukt,λ(t)对应的傅里叶变换。

7)迭代条件。ε为收敛容许度误差常量,迭代停止条件表达式:

1.2 长短期记忆神经网络模型

长短期记忆神经网络(LSTM)模型[9]是深度神经网络的一种,是在循环神经网络[10](RNN)的基础上增加了遗忘门、输入门和输出门,使得模型可选择性地记忆有效信息和删除无效信息,并解决了RNN 梯度爆炸和梯度容易消失的不足[11]。因此,LSTM模型已经在许多领域得到应用[12-15],如地下水位模拟、降水预报及COVID-19疫情分析等[16]。

LSTM 模型作为一种特殊的递归神经网络,由多个记忆单元结构组成,每个记忆单元的功能由3个“门”控制:遗忘门决定对上一个单元状态信息的舍弃量;输入门决定新获取的信息中储存在当前单元状态内的比例;输出门决定这一时刻最终的输出信息[17],这些门通过稳定的梯度计算确保了先前信息的保存。在单元状态内的这3 个门上,使用以下公式,按照顺序计算来处理信息。

式中:Xt为指定当前时间步的输入变量;ht当前时间的输出;ht-1为前一个单元的输出;为通过tanhh激活函数将结果转换成-1~1 之间的值;Ct为当前时刻的单元状态;Ct-1为提供过去信息的前一个单元状态;σ为逻辑sigmoid 函数;Wf,Wi,Wc,Wo为网络权重矩阵;bf,bi,bc,bo为偏差向量;ft,it和Ot为遗忘门、输入门和输出门的激活值向量。其内部结构图如图1 所示。

图1 基于VMD-LSTM 模型流量预测流程图

1.3 VMD-LSTM 流量预测模型

VMD 算法是具有坚实的数学理论基础,且自适应性较好的分级算法,与EMD 分解算法相比,避免了多次循环分解与模态混叠的现象。VMD分解算法在处理非平稳、非线性的数据上具有良好的效果。LSTM 模型作为目前深度学习的主流方法,具备很强的学习能力,能解决很复杂的问题[18],该模型能够更好地处理时间序列的任务,解决了RNN 的长期依赖问题。将两种方法组合成VMD-LSTM 模型来处理水位和流量的非线性拟合及预测,可降低数据的波动性,有效提高模型的预测精度。具体预测步骤:1)VMD 分解,利用VMD 算法对原始数据进行分解,得到K个包含原始信息的子序列IMF 1~IMF k;2)数据准备,将每个分量归一化后划分为训练数据集和测试数据集;3)建模预测,基于每个分量的训练数据集建立LSTM 模型,并对测试数据集进行预测,将预测结果作反归一化处理;4)重构,累加步骤3 中所有分量的预测结果,得到原始径流序列的预测结果。预测流程图如图2 所示。

图2 基于VMD-LSTM 模型流量预测流程图

2 实例分析

沙里寨水文站位于辽宁省凤城市沙里寨乡蔡家村,处于黄海岸一级支流大洋河下游,是大洋河的重要控制站,集水面积为4 810 km2,距大洋河口43 km。该站是国家重要水文站,观测项目有水位、流量、降水、蒸发水温、水质等。沙里寨水文站历史最高洪水位为102.83 m,发生于1960 年8 月4日;历史最大洪峰流量为12 900 m3/s,发生于1960年8 月4 日。

2.1 数据来源

选取沙里寨水文站2010—2019 年间的实测日流量序列为研究对象,将数据集划分为训练数据集和测试数据集两部分,以7∶3比例划分,训练数据集为2010 年1 月1 日至2017 年1 月6 日共计2 562 个数据,用于构建模型;测试集数据为2017 年1 月7日至2019 年12 月31 日共计1 091 个数据,用于评估模型的预测能力。其流量原始序列如图3 所示。

图3 原始序列

2.2 VMD 数据分解

在VMD进行分解前,需设置相关参数,其主要的建模参数有判别精度(ε)、噪声容限(τ)、惩罚因子(α)和分解尺度(K),通过相关实证研究发现[19],模型结果受到ε和τ的影响不大,而α和K的取值对整个模型有很大的影响。所以着重讨论VMD 模型中K和α两个参数的选择及最终分解结果。

在VMD 模型里,模型分量个数由K表示,K值过大或过小都会对模型带来不利的影响,使模型分解出现模态共享或者信息分解不全。α和模态分量带宽呈负相关[20],通过诸多研究发现,如果模态分量带宽能够足够小,分解后就不会出现模态共享问题,而且此参数取值还和模型运行、分解时间存在关联。模型分解结果受到α和K的影响情况见表1。

表1 K 和α 取值对分解结果的影响

2.2.1 分解尺度K

分解尺度K又称模态个数。如今在VMD 建模中,基本参数的选取还缺乏科学的选择手段,所以,大部分学者都是通过多次试验才对模型参数取值进行确定,然后在合理范围内逐步增加模态个数,以得到相应的模态分量数,并将模态分量数按照从小到大的顺序排列,最佳的模态个数K对应的模态分量中心频率将第一次出现最大值,当K值过大或过小,都会出现中心频率相同或相近的模态混叠现象。

在对K取值问题进行讨论之时,暂拟α为2 000,依次取K=2~10,并根据模态分量中心频率来确定K值。对流量序列进行分解,不同K值对应的中心频率值见表2。

表2 不同K 值对应的中心频率值

通过表2 可知,当K取值为2~6,即模态分量个数取值较小时,此时的VMD 相当于自适应滤波器,在分解时往往会忽略原始序列中的一些重要信息,在表2 中体现为最后一个模态分量还包含有细节信息未能完全分解。当K=8 时,分量6 和分量7 的中心频率十分相近,两个中心频率相差仅为8;当K=9 时,分量2,3 的中心频率差距只有7,相似度很高,分量3,4 和6~8 的中心频率都较为接近;从K=8~10 分解出的各分量中心频率值可以看出,相近的中心频率出现在了不同的分量中,即随着K值的递增,由于分解过度,产生模态共享问题。综上所述,若K过小,就不能完全分解信号,而若其太大,又容易有模态重叠问题产生,而当K=7时,各个分量间的中心频率并不相同,即原始序列能够得到很好的分解。因此,K=7 时最合适。

2.2.2 惩罚因子α

通过模型原理分析能够发现,为了将约束条件变成非约束条件,VMD 分解算法引入了α。为了防止出现模态共享或模态堆叠的现象,α的值不宜选取过大。在对α值进行确定时,为了取值足够合理,保持其他参数不变,选取不同的α,在模型中得到相应的分解结果,具体结果如表3所示。

表3 不同惩罚因子时VMD 分解运行时间

通过表3 能够发现,α=2 000 时的运行时间最短。当α不断提升之时,模型分解的收敛速度也不断提升,而且,α值与分解后各模态分量带宽成反比关系,α值越大模态混叠现象的出现几率越小,综上,当α=2 000 时最合适,此时也能够得到较短的运行时间。

依据设置好的参数,对流量序列进行VMD 分解,分解结果如图4 所示。

图4 VMD 分解结果

2.3 数据归一化

数据归一化常用于机器学习的预处理阶段,当数据集的特征间具有不同的值范围时,数据归一化是非常有必要的,本文数据集包含了水位、流量、降水与蒸发,为了使特征具有相同的度量尺度,可通过范围标准化方法对流量数据进行处理,以便建立有效的模型。归一化公式:

式中:xmax和xmin为系列中的最大值和最小值。

2.4 参数设置

此次研究采用性能指标评估模型性能,并将VMD-LSTM 模型与单一的LSTM 模型、BP 模型和VMD-BP 模型进行对比实验,验证本文提出模型的有效性。通过互信息法[21]确定模型的输入变量为沙里寨水文站预测日前5 d 的日流量和日水位,以及预测日前3 d 的日降雨量和日蒸发量。参照已有研究,在LSTM 模型中主要涉及的参数设置如下:隐藏层层数设置为3、Dropout 参数设置为0.2、批量处理参数为50,经过多次学习训练,LSTM 模型的其他超参数设定见表4,BP 神经网络及网络参数见表5。

表4 模型参数确定结果

表5 BP 神经网络参数

表6 预测模型的性能对比表

2.5 模型评价指标

通过均方根误差(RMSE)、平均绝对误差(MAE)、平均绝对百分误差(MAPE)和决定系数(R2)来综合评价模型的预测效果。RMSE,MAE,MAPE的值越低模型越稳定,预测的准确率越高,R2值越接近1,则表示模型的预测性能越好。计算公式:

式中:i为第i个样本;yi为实际值;为预测值;yˉ为平均值;SSres为残差平方和,表示模型预测值与实际观测值之间的差异的平方和;SStot为总平方和,表示实际观测值与数据均值之间的差异的平方和。

2.6 预测结果分析

为了体现各模型之间的性能对比,绘制包含RMSE,MAE,MAPE和R2的4 种评价指标的性能对比表与对比图。从表2-6 和图2-3 可以看出,与其他模型相比,VMD-LSTM 模型的4 种指标均为最优,RMSE,MAE,MAPE都是最小,决定系数更接近1,说明本文提出的模型有着较强的泛化能力和较高的预测精度。

为了更加直观地看出VMD-LSTM 模型的性能,对预测流量与实测流量进行绘图。图5 为预测流量与实测流量关于1∶1 真实线的散点图,由图5可以看出,相比于其他模型,VMD-LSTM 模型的预测流量更加贴合原始数据,数据更加接近1∶1真实线,而其他模型离散点较为分散。

图5 预测流量与实测流量的散点图

图6 为实测流量与每个模型预测的流量过程线图,从局部放大图可以看出,在流量波动较大、洪峰流量较大时,VMD-LSTM 模型的预测值与真实值拟合度更高。

图6 模型预测值

3 结语

本文提出的基于VMD 分解算法的LSTM 流量预测模型,在LSTM模型前利用VMD分解法,将原始序列分解为7 个含有原始数据信息的子序列,以减少数据的波动性,降低数据的复杂性,使LSTM模型能更好地处理数据的局部特征关系,提升模型的预测性能。预测结果表明,与单一的LSTM 模型、BP 模型和VMD-BP 模型相比,VMD-LSTM 模型预测精度最高,预测数据与实测数据更加吻合,后续可尝试引入优化算法,对模型的参数进一步优化。

猜你喜欢
分量模态流量
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
帽子的分量
寻找书业新流量
论《哈姆雷特》中良心的分量
分量
国内多模态教学研究回顾与展望
基于HHT和Prony算法的电力系统低频振荡模态识别
基于瞬时对称分量法的三相四线制D-STATCOM控制研究
由单个模态构造对称简支梁的抗弯刚度