基于EMD-LSTM模型的河流水量水位预测

2020-12-10 06:40王亦斌梁雪春谢海洋
水利水电科技进展 2020年6期
关键词:水文水位长度

王亦斌,孙 涛,梁雪春,谢海洋

(1.南水北调东线江苏水源有限责任公司,江苏 南京 210019; 2.南京工业大学电气工程与控制科学学院,江苏 南京 211816)

准确的水位和水量等水文时间序列预测是水资源管理的重要依据,对于调水监测有着重要的作用。传统的水文时间序列预测方法有回归分析、时间序列分析等,还有模糊识别法、灰色模型、小波神经网络分析[1-5]。随着机器学习方法的兴起,很多学者使用机器学习方法进行建模,相对于传统的统计预测模型,机器学习方法具有更好的适应性。面对数据量化不确定性问题,Porter等[6]提出一种人工神经网络(artificial neural networks,ANN)方法来预测地下水水位;针对在台风期间受潮汐影响水位波动较大问题,Wei[7]提出了小波-支持向量机算法来预测每小时的水位数据,为台风袭击期间的水位预测问题提供了实用的解决方案;Moosavi等[8]提出了小波-自适应神经模糊推理系统(wavelet-adaptive neuro-fuzzy inference system,wavelet-ANIS)方法,比较了ANN、Wavelet-ANN、ANIS和Wavelet-ANIS在地下水位预报上的表现;Zhong等[9]分析了长江潮汐水位预测的复杂性,在获取了长江下游(安庆、芜湖、南京)的每日水位的历史数据后,提出使用人工智能-Kalman滤波方法进行水位预报;Wang等[10]分析南水北调中线陶岔渠首的水位数据情况,提出了一种改进Cuckoo-搜索梯度增强树算法(CCS-gradient boosting decision tree)进行水位预报。近年来,随着深度学习技术的发展,深度神经网络也逐渐被应用于时间序列预测分析中,尤其是循环神经网络(recurrent neural networks,RNN)在时序数据处理上表现出很强的适应性。Chang等[11]使用循环神经网络作城市水位预测和洪水预报。张轩等[12]为提高秦淮河流域东山站水位预报的精度,基于BP神经网络算法建立经验预报模型,分别根据降雨历时、起涨水位两种模式对水位涨幅进行预报。常见的RNN等算法存在梯度消失或者梯度爆炸的问题,而长短期记忆神经网络(long short-term memory networks,LSTM) 是一种引入了遗忘门、输入门和输出门3种门控单元和记忆细胞的特殊形式的RNN,这种特殊的结构可以缓解梯度消失或者梯度爆炸问题[13]。 LSTM通过门控结构调整隐藏状态中信息的流动,输入门可以识别需要添加到长期项的状态,遗忘门可以控制需要消除的长期项状态,可以使得模型能学习何时忘记以前的隐藏状态,何时根据新的信息更新隐藏状态,从而能够成功地捕获时间序列中的长期模式,因此,被广泛应用于交通、金融和经济序列预测中[14-16]。LSTM模型在水文时间序列预报和模拟方面也受到了关注。为了有效提高流域内站点径流量预测的精度,冯锐[17]运用LSTM技术建立九龙江流域站点径流序列预测模型和数据模拟模型。刘亚新等[18]综合使用梯度下降与Broyden-Fletcher-Goldfarb-Shanno算法来训练LSTM模型,并将模型用于葛洲坝水电站水位预测。以入湖流量和长江干流流量作为输入条件,郭燕等[19]采用LSTM模型预测鄱阳湖的水位变化。闫佰忠等[20]基于地下水位、蒸发量、降水量、气温、气压、相对湿度、日照时长、开采量等多个指标构建多变量的LSTM地下水位预测模型。通常水文时间序列是非平稳且非线性的,为提高预测精度,陈旭等[21]提出了基于经验模式分解(empirical mode decomposition,EMD)的AR预测模型用于水文站的年径流量预测。基于上述研究,采用EMD和LSTM相结合的算法(EMD-LSTM)进行河流水量水位预测,首先采用信号处理中常用的经验模式分解方法将水文时间序列数据分解为不同时间尺度的固有模态函数,然后对EMD分解的每个特征序列使用LSTM模型进行预测,最后叠加每个特征序列预测值得到预测结果。

南水北调工程对改善水环境、促进区域经济和社会的可持续发展具有重要的战略意义。在我国南水北调工程的重要河段中,准确预测河流水位水量,对水库调度、防洪、发电、灌溉等具有重要意义。本文拟使用EMD和LSTM模型对水位、水速和水量进行预测。以南水北调工程某河流2017年11月到 2018年6月中每隔1 h瞬时流量、流速和水深监测数据为研究对象,采用中值滤波对数据进行预处理,基于EMD-LSTM进行时间序列建模。

1 研究方法

1.1 EMD

EMD是Huang等[22]提出的自适应信号时频处理方法,它不需要预先设置任何基函数,根据数据本身的时间尺度特征将信号分解成有限数目的固有模态函数。对时间序列{Xt}的EMD分解过程如下:

步骤1:求出时间序列{Xt}的极大值和极小值,由三次样条插值函数拟合所有极值点得到上包络线{Ut}和下包络线{Lt}。

步骤2:计算上包络线和下包络线的均值,记为

(1)

步骤3:令

(2)

步骤5:令残差

(3)

(4)

式中:Rt为EMD分解的残差。

1.2 LSTM

LSTM是一种引入了遗忘门、输入门和输出门3种门控单元和记忆细胞(可看作一种特殊的隐藏状态)的特殊形式的循环神经网络,这种精心设计的结构缓解了RNN的梯度消失问题, LSTM神经元结构如图1所示,其中,Xt为当前时刻输入;Ht-1,Ht分别为前一和当前时刻的隐藏状态;It、Ft、Ot分别为当前时刻的输入门、遗忘门和输出门;Gt为当前时刻的候选记忆细胞;ct-1、ct分别为前一和当前时刻的记忆细胞;Yt为输出。关于LSTM的更多细节可参考文献[15]。

图1 LSTM细胞单元结构

设隐藏单元数为h, 在t时刻输入Xt∈Rn×d(其中n为样本数,d为输入长度),前一时刻的隐藏状态Ht-1∈Rn×h(可视为短期状态),则在t时刻输入门It∈Rn×h,遗忘门Ft∈Rn×h和输出门Ot∈Rn×h表达式为

It=σ(XtWXI+Ht-1WHI+bI)

(5)

Ft=σ(XtWXF+Ht-1WHF+bF)

(6)

Ot=σ(XtWXO+Ht-1WHO+bO)

(7)

式中:It、Ft、Ot都由sigmoid激活函数控制, 它们的输出值都在0~1之间。记忆细胞ct(可视为长期状态) 可由式(9)计算:

Gt=tanh(XtWXG+Ht-1WHG+bG)

(8)

ct=Ft⊗ct-1+It⊗Gt

(9)

式中:WXI、WXF、WXO、WXG∈Rd×h为4个全连接层关于它们的输入向量的权重矩阵;WHI、WHF、WHO、WHG∈Rh×h为4个全连接层关于它们的短期状态Ht-1的权重矩阵;bI、bF、bO、bG∈R1×h为4个全连接层的线性偏倚;σ(·)和tanh(·)为sigmoid函数和双曲正切函数;⊗表示向量间的逐元素相乘。隐藏状态和输出的表达式为

Yt=Ht=Ot⊗tanh(ct)

(10)

1.3 经验模式分解方法和长短期记忆网络

2 试验步骤

2.1 数据

以南水北调工程某河流2017年11月3日到2018年6月30日每隔1 h的中水文数据为试验对象,所记录的水文数据包括水深、流速和瞬时流量,共有5 727条记录,水深、流速和瞬时流量的时间序列曲线见图2。

图2 瞬时流量、流速和水深数据序列

2.2 数据预处理和EMD分解

水流变化会受到天气、测量等随机因素的影响,原始数据包含一些噪声数据,噪声数据达到一定程度会影响预报的准确性,为此采用中值滤波来消除噪声数据。记{x1,x2,…,xT}为观测时间序列, 其中xt为t时刻观测值,令

(11)

2.3 LSTM模型构建

为记号方便起见,记{y1,y2,…,yT}为LSTM模型需要处理的时间序列,输入变量的时间窗口为K,即选择当前时刻的前K个时间观测值作为输入变量来预测,LSTM模型的输入为

(12)

图3 预测窗口长度为12 h的LSTM模型对瞬时流量的EMD分量预测结果

输出为

(13)

式中:L为预测窗口长度, 也就是说用前面的K个时刻的观测值来预测接下来L个时刻的数据。使用均方根误差ER:

(14)

作为损失函数来确定隐藏状态的维数和式(5)~(10)的权重矩阵,采用均方根误差ER和平均相对误差EM来评价模型的预测精度,EM定义为

(15)

2.4 预测结果

把以南水北调工程某河流2017年11月3日到2018年6月30日每隔1 h瞬时流量、流速和水深3个时间序列分别按照3∶1作为训练集数据和测试集数据,即每个序列的前4 259个数据作为训练集,后1 432个数据作为测试集。

首先对中值滤波预处理后的瞬时流量数据进行EMD分解为本征模函数部分和残差部分,对EMD分解的各个本征模函数和残差部分分别训练LSTM方法进行预报,并将预报结果进行叠加构建瞬时流量的预测结果。LSTM实验在PyTorch环境下进行,在数据预处理阶段中值滤波的窗口长度设置为2,LSTM模型训练中以均方根误差作为损失函数,使用的梯度下降优化器为Adam优化器,输入变量的时间窗口K=24 h,即每次预测需要前24 h的观测数据,epoch(指所有的训练样本输入网络中完成一次前向和反向传播的过程)设为200,学习率为0.000 1,隐藏单元数为64。图3为预测窗口长度L=12 h的LSTM模型对瞬时流量的EMD分量(I(1),I(2),…,I(7)和残差Rt)预测结果。

图4 不同预测窗口长度两种方法对瞬时流量的预测结果

表1 两种模型下瞬时流量预测误差比较

窗口长度为12 h关于瞬时流量LSTM预测结果和EMD-LSTM预测的结果比较。改变预测时间窗口长度为6 h,对瞬时流量进行预测,两种模型的预测效果见图4(c)(d)。由图4可知,LSTM方法和EMD-LSTM方法都能取得较好的预测效果,特别当预测时间较短时,预测效果更优。为了更为显著比较两种方法优劣,截取2018年6月11日0点到6月25日24点共360 h数据(该时段内的数据变换形式较多,因此更能衡量预测算法优劣。)在预测窗口长度为12 h和 6 h两种情况下的LSTM预测方法和EMD-LSTM预测方法的结果进行比较,如图5所示。由图5可知,对瞬时流量而言,EMD-LSTM预测方法优于LSTM方法,特别对幅度变化较大时段,EMD-LSTM方法优势更为显著。同时,短时段的预测效果优于长时段,原因在于预测窗口长度太长,数据信号会产生新的变化,而这些变化很难从历史数据中学习。

图5 不同预测窗口长度瞬时流量预测结果比较

进一步对流速和水深分别使用LSTM模型和EMD-LSTM模型进行预测,预测效果见图6~9,预测误差见表2和表3。从对瞬时流量、流速和水深这3种指标的预测结果可以看出,两种模型都可以很好地预测水文数据的变化,但EMD-LSTM模型的预测精度更高,特别对波动较大时段,EMD-LSTM方法优势更为显著,这是由于LSTM方法适合于预测相对比较规律的信号,高频噪声的干扰会极大地降低LSTM方法的预测精度,使用EMD-LSTM可以把信号中的高频部分分离出来预测,极大地减少了高频噪声的干扰。另外,两种模型下,预测窗口长度越小,均方根误差和平均相对误差越小,预测越准确,曲线拟合越好,即短时段的预测效果优于长时段,原因在于预测窗口长度太长,受气候、环境和人类活动影响,水文数据信号会产生新的变化,而这些变化很难从历史数据中学习。

图6 不同预测窗口长度两种方法对流速的预测结果

图7 不同预测窗口长度流速预测结果比较

图8 不同预测窗口长度两种方法对水深的预测结果

图9 不同预测窗口长度水深预测结果比较

表2 两种模型流速预测误差比较

表3 两种模型水深预测误差比较

3 结 论

本文建立了基于EMD-LSTM神经网络的预测模型,并分别对水深、流速和瞬时流量序列预报,对每个序列预报的主要步骤是:①使用中值滤波消除噪声数据;②对预处理后的数据进行EMD分解为IMF部分和残差部分;③对步骤②中的每一部分使用LSTM方法进行预报,并将预报结果进行叠加。利用LSTM和EMD-LSTM两种模型分别对3个水文指标数据序列在不同预测窗口下进行预测,结果表明:①两种模型下,预测窗口长度越小,均方根误差和平均相对误差越小,预测越准确,曲线拟合越好,即短时段的预测效果优于长时段;②两种模型都可以很好地预测水文数据的变化,但EMD-LSTM模型的预测精度更高,特别对波动较大时段,EMD-LSTM方法优势更为显著。EMD-LSTM方法更适合于含有高频噪声干扰的水文时间序列。

本文提供的方法可以很好地对水文数据进行短期预报,为水位预判和水资源的实时调度提供决策依据和技术支撑。本研究数据不足1 a,模型未考虑季节因素,后面随着数据的积累,可以进一步选取季节特征进行研究。

猜你喜欢
水文水位长度
综合流量法在金沙江下段水文测报中的应用
继往开来 守正创新——河北省水文工程地质勘查院
浅谈水文档案的价值和开发利用
绳子的长度怎么算
1米的长度
爱的长度
长度单位
七年级数学期中测试题(B)