一种深度学习径流量预测模型及方法

未命名 07-27 阅读:144 评论:0


1.本发明属于水质预测技术领域,具体涉及一种深度学习径流量预测模型及方法。


背景技术:

2.径流影响地球上的大地山川和植物动物等,关乎人类的生存与发展,径流量的丰枯制约当地社会经济发展规模。加强对径流的测量、计算、预报等科研工作,不断增强人工调控天然径流的能力,就可以减轻洪水和干旱的危害,造福社会与人民。河川径流时间序列是一个复杂的非线性系统,传统的预测方法难以描述其变化规律。
3.深度学习(deep learning,dl)作为新一代人工神经网络,近年来在水资源和环境领域取得了长足的进展。目前较多研究使用长短时记忆网络(lstm)用于径流量预测。lstm作为一种性能优异的循环神经网络(rnn),可以将长序列信息存储在隐藏内存中,以进行适当的处理、表示和存储。它还会随着时间的推移而更新,以确保时间信息持续存在。然而,现有的深度学习模型仍然存在一些问题,例如,单独使用lstm模型会引入与径流预测无关的噪声,而且还会受到时间序列数据中较大和较小数值的影响,导致预测精度不高;cnn模型虽然可以对每个时间序列进行卷积运算,很好地提取径流信息中的局部特征,但cnn对径流信息的时间顺序不敏感,不能单独完成预测任务;attention作为一种在自然语言处理、语音识别等任务中非常流行的技术,能够在输入序列中自动寻找相关信息,将注意力集中在关键信息上,提高模型的表达能力。然而,attention机制计算复杂度高,且难以并行计算。


技术实现要素:

4.本发明的目的在于提供一种深度学习径流量预测模型及方法,以解决现有技术存在的预测精度不高、计算复杂度高且难以并行计算的问题。
5.为了实现上述目的,本发明给出如下技术方案予以解决:
6.一方面,本发明提供了一种深度学习径流预测模型,包括依次相连接的一维cnn、bi-lstm模块、稀疏注意力机制层和全连接层。
7.另一方面,本发明提供了一种深度学习径流预测方法,具体包括如下步骤:
8.步骤一,采集历史逐日径流量数据和历史逐日气象数据,对采集的数据进行预处理得到数据集,划分为训练集和验证集;
9.步骤二,构建上述本发明所述的径流量预测网络模型;
10.步骤三,设置超参数和损失函数,采用训练集对步骤二构建的模型进行训练,得到训练好的径流量预测模型;
11.步骤四,采集设定时间期间内的逐日径流量数据和逐日气象数据,对采集的数据进行预处理得到待预测数据集;
12.步骤五,将待预测数据集输入训练好的径流量预测模型,得到预测的径流量。
13.3、如权利要求1所述的深度学习径流预测方法,其特征在于,步骤一和步骤四中,所述逐日气象数据包括降水量、气温、太阳辐射、风速、相对湿度和蒸散发量。
14.4、如权利要求1所述的深度学习径流预测方法,其特征在于,步骤一和步骤四中,所述预处理包括相关性检验、平稳性检验、离群点检测和归一化处理。
15.相较于现有技术,本发明具有如下技术效果:
16.本发明构建了一种具有稀疏注意力机制的双向lstm并行模型(convbilstm-sparseattention模型,简称cblsa模型),将其用在深度学习径流预测方法中,该方法中通过cnn提取特征,通过bi-lstm捕获时间序列中的长期依赖关系,充分利用cnn的特征信息提取能力和lstm对时间序列数据的敏感性,同时,引入稀疏算法、改进传统的attention机制,用于捕捉过去不同时间的特征状态对径流量的影响的重要性程度,降低了对输入数据的维度要求,使得本发明的方法计算复杂度低,具备更好适用性的同时还提高预测的精度。
附图说明
17.图1是本发明的径流预测模型(cblsa模型)的结构;
18.图2是景村水文站1980-2009年径流量;
19.图3是景村水文站径流数据时间序列的自相关(上)和偏自相关(下);
20.图4是cblsa与对比模型测试集预测结果;
21.图5是cblsa与对比模型相对误差箱线图;
22.图6是cblsa与对比模型测试集预测结果泰勒图。均方根误差为观测点与各模型点之间的距离,在图中表示为以观测点为圆心的虚线绿色半圆弧。相关系数由各模型的方位角位置决定。
具体实施方式
23.本实施例基于keras开源模块,在python环境下利用训练样本数据建立深度学习模型;利用验证数据对本发明的cblsa进行精度评估,并对多种模型进行交叉验证,评估本发明模型的有效性。
24.本实施例给出的深度学习径流预测方法,包括如下步骤:
25.步骤一,采集历史逐日径流量数据和历史逐日气象数据,历史逐日气象数据包括降水量、气温、太阳辐射、风速、相对湿度和蒸散发量;对采集的数据进行预处理得到数据集,划分为训练集和验证集。
26.数据集包含气象和水文两种数据,本实施例中,水文数据为来源于黄河水文年鉴的1980-2009年渭河流域景村水文站逐日历史径流量数据(图),气象数据为来源于国家气象科学数据中心的1980-2009年逐日历史气象数据(降水量、气温、太阳辐射、风速、相对湿度和蒸散发)。以水文站的径流量数据和周围4个气象站点的降水量、最高/最低温度、太阳辐射、风速、相对湿度和蒸散发量作为特征因子。对数据集的预处理包括相关性检验、平稳性检验、离群点检测和归一化处理。
27.(1)数据相关性检验
28.使用气象数据前,需要检验各气象因子间的相关性,剔除相关性较强的因子。本发明使用spss工具进行皮尔逊相关性分析,以相关系数|r|≥0.8表示两个变量高度相关。如表1所示,各个气象因子中,除了蒸散发和气温两个因子间的相关性达到0.7外,其余因子间的相关性均较低。结果表明可以利用该六个气象因子进行模型训练。
29.表1气象因子皮尔逊相关系数矩阵
[0030][0031]
*在0.05级别(双尾),相关性显著。
[0032]
(2)数据平稳性检验
[0033]
在数据使用前,需要重点确定径流时间序列的平稳性。本发明使用了观察法和augmented dickey-fuller(adf)检验两种方法确定时间序列的平稳性。
[0034]
观察法主要使用了自相关图和偏相关图。由滞后引起的时间序列的自相关图称为自相关函数,或简称为acf(auto correlation function)。默认情况下,所有的滞后值都会被打印出来,这使得绘图变得很混乱。我们限制x轴上的滞后次数为30,以使图更容易阅读。偏自相关是时间序列中的一个观测值与先前的观测值之间的关系的总结,其间的观测值之间的关系被删除了。如
[0035]
图所示,相关图和自相关图是一个平面二维坐标悬垂线图。横坐标表示延迟阶数,纵坐标表示自相关系数。平稳的序列的自相关图和偏相关图是否是拖尾(随着阶数的增大,自相关函数的绝对值逐渐下降)或截尾(某阶之后系数都为0)。从图中可以明显看出,自相关和偏相系数都存在拖尾的特点,说明时间序列具有平稳性。
[0036]
adf检验原理是判断序列是否存在单位根:如果序列平稳,就不存在单位根(如果自回归方程中的滞后项系数b为1,就称方程解为单位根);否则,就会存在单位根。所以,adf检验的h0假设就是存在单位根,如果得到的显著性检验统计量小于三个置信度(90%,95%,99%),则对应有(90%,95,99%)的把握来拒绝原假设。如表2所示,t统计量同时小于99%、95%和90%假设下的adf统计值和p《0.05说明径流时间序列是非平稳的零假设将被拒绝。
[0037]
表2adf test result
[0038][0039]
(3)离群点检测及数据修复
[0040]
数据质量会严重影响预测效果,为此需首先检测数据序列中的离群点并对其进行修复。本发明采用绝对中位差(mad)来检测离群点。mad是一种鲁棒性统计量,比标准差更能适应数据集中的异常值。对于标准差,使用的是数据到均值的距离平方,较大的偏差权重较大,异常值对结果影响不能忽视。
[0041]
mad(x)=median(|x
i-median(x)|)
[0042]
其中,x表示待检测时间序列;median|x|表示序列中位数。
[0043]
(4)归一化处理
[0044]
径流数据呈周期性波动,数据最高值和最低值之间相差巨大,这种差异会对预测模型的学习能力产生负面影响。为此应对数据进行归一化处理,将所有数值映射到0~1之间,计算式为:
[0045][0046]
式中:x
norm
表示归一化值;x
max
序列中的最大值;x
min
表示序列中的最小值。
[0047]
(5)数据集划分
[0048]
经过以上预处理后,得到景村水文站1980-2009年径流量和气象数据集。整个数据集包含10957条数据,按照2:1比例划分训练集和测试集,分别用于模型训练和测试阶段。
[0049]
步骤二,构建径流量预测网络模型。
[0050]
如图1所示,径流量预测网络模型包括依次相连接的一维cnn、bi-lstm模块、稀疏注意力机制层和全连接层。其中:
[0051]
(1)一维cnn
[0052]
cnn的局部感知和权重共享特征减少了处理多元时间序列的参数数量,从而提高了学习效率。利用1d-cnn可以很容易地从模型输入中提取出时空特征。设给定的模型输入为x=[x1,x2,
···
,x
t
],由过去相邻站点的气象数据和径流量组成。将序列x输入到1d-cnn层,利用1d-cnn进行特征提取的计算公式如下:
[0053]
l
t
=σ(x
t
*k
t
+b
t
)
ꢀꢀ
(1)
[0054]
其中σ表示激活函数,x
t
表示输入向量,k
t
为卷积核,b
t
表示偏置向量,l
t
为1d-cnn层的输出向量。1d-cnn层的输出是一个时空特征矩阵l=[l1,l2,
···
,l
t
]。
[0055]
相比于传统ann,1d-cnn采用卷积核参数的权值共享和稀疏连接,可以减少参数数量,避免过拟合,且具有高级特征提取的能力。cnn部分可以被认为是一个特殊的数据预处理结构,径流数据被提炼并送入对时间序列数据更敏感的lstm模型的输入。
[0056]
(2)bi-lstm模块(双向长短时记忆网络)
[0057]
径流量数据是一系列带有噪声的数据信号,而噪声数据对频率预测结果有影响。为了估计和消除这些噪声,本发明采用了bi-lstm网络。通常,lstm网络是用于单向时间序列数据预测,但bi-lstm网络采用了双向堆叠的lstm网络。将cnn输出的特征序列输入到一个双向lstm模型中,提取时间依赖关系。下列公式解释了在bi-lstm单元中执行的操作。
[0058]ht
=σ(w1x
t
+w2h
t-1
)
×
tanh(c
t
)
ꢀꢀ
(2)
[0059]h′
t
=σ(w3x
t
+w4h

t-1
)
×
tanh(c

t
)
ꢀꢀ
(3)
[0060]
og
t
=w5h
t
+w6h

t
ꢀꢀ
(4)
[0061]
其中,x
t
是时间t的输入,w是lstm单元的门的权值;h
t
和h’t
分别为正向隐层状态和反向隐层状态;c
t
和c

t
分别为模型的正向记忆状态和反向记忆状态;输出门og
t
保存了有关双向步骤的信息。
[0062]
本发明将一维cnn和密集选择的特征生成的向量并行馈入bi-lstm。采用l2的正则化器和激活值进行规范化,有助于减少溢出。
[0063]
本发明中利用bi-lstm网络通过前向和反向传播,从隐藏状态下的噪声数据中学
习有效信息。
[0064]
(3)稀疏注意力机制
[0065]
注意力机制层用于将重要特征合并在一起,并通过重新分配权重来选择关键特征。在注意力层,有两个任务。一种是合并上游图层的输出。这项任务很简单。该层只需要按信道顺序将输出放在一起,因为到并行结构的原始输入数据包含信道依赖性。众所周知,不同的表示形式的贡献是不同的;另一项任务是将重要的表征举出,以达到识别的目的。稀疏attention主要通过对attention权重矩阵进行稀疏化,将注意力聚焦于少数关键位置,从而大大降低计算和存储的成本,同时还可以提高模型的泛化能力。通过稀疏attention机制对时序特征进行加权汇总,得到最终的特征a。本过程的计算公式如下所示:
[0066][0067]
μ
t
=softmax(wd×
og
t
+bd)
ꢀꢀ
(6)
[0068]
a=∑
t
α
t
·
og
t
ꢀꢀ
(7)
[0069]
其中,wd和bd分别为attention层的权重和偏置,μ
t
是第t个时间步的权重,a表示整个序列的加权平均。
[0070]
(4)输出层
[0071]
最后,使用一个全连接层作为输出层,将整个序列的加权平均a转换为地表径流量的预测值计算公式如下:
[0072][0073]
其中,wo和bo分别表示输出层的权重和偏置,σ为激活函数,本发明选择relu函数。
[0074]
步骤三,设置超参数和损失函数,采用训练集对步骤二构建的模型进行训练,得到训练好的径流量预测模型。
[0075]
步骤四,采集设定时间期间内的逐日径流量数据和逐日气象数据(降水量、气温、太阳辐射、风速、相对湿度和蒸散发量),对采集的数据进行预处理得到待预测数据集。
[0076]
步骤五,将待预测数据集输入训练好的径流量预测模型,得到预测的径流量。
[0077]
本实施例中,所有模拟均在配备intel core i5@3.3ghz和8gb ram内存的计算机中进行。对于模型的模拟,python编程语言与keras和tensorflow等深度学习库一起使用。还使用了其他几种编程工具,例如用于绘图的matlab、用于统计分析的minitab。
[0078]
超参数是机器学习在开始学习过程之前设定值的参数。超参数的设置是影响神经网络预测效果的关键。我们以训练集的均方根误差(rmse)作为评价指标,并选择网格搜索方法来寻找最优的超参数。超参数包括批处理大小、时代数、过滤器数和内核大小。我们将损失函数设置为平均绝对误差(mae),并使用tanh激活函数和adam优化算法来驱动模型。表3-8列出了各模型超参数和架构。
[0079]
表3 cblsa模型结构
[0080]
[0081][0082]
表中同时显示了最佳模型的平均训练时间;预测径流量的选定参数为黑体加粗字。
[0083]
表4cnn和lstm深度学习模型结构
[0084][0085]
表中同时显示了最佳模型的平均训练时间。预测径流量的选定参数为黑体加粗字。
[0086]
表5数据驱动(mlp,elm)和集合模型(dt,gbm,mars)的结构
[0087][0088]
表中同时显示了最佳模型的平均训练时间。预测径流量的选定参数为黑体加粗字。
[0089][0090]
为了更好地对比模型效果,加入了多层感知器(multilayer perceptron,mlp)、梯度提升机(gradient boosting machine,gbm)、极限学习机(extreme learning machine,
elm)、决策树(decision tree,dt)和多元自适应回归(multivariate adaptive regression splines,mars)共5种传统ai和集成模型。
[0091]
在水文过程模拟的几个机器学习模型之后,使用了以下统计指标,包括拟合优度(r2)、均方根误差(rmse)、百分比偏差(pbias)和nash-sutcliffe效率系数(e
ns
)公式如下。
[0092][0093][0094][0095][0096]
式中,q
sim,i
为模拟值,为模拟值的平均值,q
obs,i
为观测值,为观测值的平均值。
[0097]
将提出的cblsa模型和对比模型(cnn、lstm、dt、elm、gbm、mars和mlp)用于景村水文站的逐日径流量预测。提出的cblsa、深度学习(cnn和lstm)、传统ai和集成模型对于测试集预测结果如图和表9所示。cblsa模型测试集的预测结果精度指标分别为:r2=0.97,rmse=7.39m3/s,pbias=-4.0%和e
ns
=0.96。与深度神经网络模型(cnn和lstm)相比,cblsa模型预测精度均有一定程度的提高,如r2分别提高了0.04和0.02,pbias分别降低了6%和9%,e
ns
分别提高了0.04和0.03。cblsa的rmse相较于cnn降低了0.97m3/s,相较于lstm提高了0.78;与传统ai模型(mlp和elm)相比,cblsa模型测试集取得了较好的预测效果,如r2分别提高了0.22和0.07,rmse分别降低了11.93m3/s和5.14m3/s,e
ns
分别提高了0.22和0.07。mlp预测结果比观测数据低估了10.3%,elm预测结果比观测数据高估了6.45%;整体来看,集成模型(gbm、mars和dt)的预测效果较差,r2分别为0.78、0.74和0.62,rmse分别为18.35m3/s、23.72m3/s和25.90m3/s,pbias分别为6.22%、-26.95%和8.32%,e
ns
分别为0.77、0.62和0.54.
[0098]
表9cblsa模型与对比模型的性能评估
[0099][0100]
图比较了本发明的cblsa模型与深度学习模型、传统ai和集成模型相对误差的箱线图。图中显示了测试数据的相对预测误差的异常值及其四分位数、中位数和均值。cblsa模型相对误差显示出更小的四分位数和均值,其次是cnn和lstm两个深度学习模型,传统ai模型和集成模型的相对误差较大。结果表明cblsa模型的准确性均优于其他对比模型。
[0101]
图为本发明的cblsa模型与对比模型测试集预测结果泰勒图。该图的主要用途是用二维尺度(极轴上的标准偏差和径向轴上的相关系数)的观察来呈现最接近的预测模型。它能够将多个变量的标准差、与参考值的相关系数以及均方根偏差综合显示在一张二维图上,可以全面清晰反映多模式的模拟能力,近年来被广泛采用的应用于模式评估与检验的有效方法。当模型模拟结果与观测值较一致时,模式点越接近观测点,这类模式与观测具有高的相关性。与传统的深度学习模型(cnn和lstm)、传统的ai(mlp和elm)和集成模型(gbm、mars和dt)相比,cblsa模型点距离观测点的距离更近,说明cblsa测试集的预测效果更优。
[0102]
总体而言,上述评估结果表明本发明的cblsa模型优于独立的深度学习模型、传统的ai和集成模型。cblsa模型能够实现有希望的预测性能,并且可以成功地应用于准确可靠的逐日流量预测。此外,dt需要训练的时间最短,其次是elm、mars和mlp,但在预测精度方面表现最差。所提出的cblsa框架以合理的训练时间产生最准确的预测结果。
[0103]
综上,本发明的cblsa深度神经网络模型,分别模拟渭河流域景村站的月径流和日径流。在cnn模型的基础上提取了径流和气象数据的特征,并作为lstm的输入。这不仅解决了cnn难以记忆早期时间序列信息的问题,也解决了lstm在预测径流信息准确性方面的不足,可以更准确地预测流域径流。由对比可知,cblsa模型优于独立的深度学习模型、传统的ai和集成模型,其具有较强的预测性能,可以成功地应用于准确可靠的逐日流量预测。此外,dt需要训练的时间最短,其次是elm、mars和mlp,但其在预测精度方面表现最差。本发明的cblsa框架以合理的训练时间产生最准确的预测结果。

技术特征:
1.一种深度学习径流预测模型,其特征在于,包括依次相连接的一维cnn、bi-lstm模块、稀疏注意力机制层和全连接层。2.一种深度学习径流预测方法,其特征在于,具体包括如下步骤:步骤一,采集历史逐日径流量数据和历史逐日气象数据,对采集的数据进行预处理得到数据集,划分为训练集和验证集;步骤二,构建权利要求1所述的径流量预测网络模型;步骤三,设置超参数和损失函数,采用训练集对步骤二构建的模型进行训练,得到训练好的径流量预测模型;步骤四,采集设定时间期间内的逐日径流量数据和逐日气象数据,对采集的数据进行预处理得到待预测数据集;步骤五,将待预测数据集输入训练好的径流量预测模型,得到预测的径流量。3.如权利要求1所述的深度学习径流预测方法,其特征在于,步骤一和步骤四中,所述逐日气象数据包括降水量、气温、太阳辐射、风速、相对湿度和蒸散发量。4.如权利要求1所述的深度学习径流预测方法,其特征在于,步骤一和步骤四中,所述预处理包括相关性检验、平稳性检验、离群点检测和归一化处理。

技术总结
本发明公开了一种深度学习径流预测模型及方法,深度学习径流预测方法包括:步骤一,采集历史逐日径流量数据和历史逐日气象数据,对采集的数据进行预处理得到数据集,划分为训练集和验证集;步骤二,构建径流量预测网络模型;所述径流量预测网络模型包括依次相连接的一维CNN、Bi-LSTM模块、稀疏注意力机制层和全连接层;步骤三,设置超参数和损失函数,采用训练集对步骤二构建的模型进行训练,得到训练好的径流量预测模型;步骤四,对采集的数据进行预处理得到待预测数据集;步骤五,将待预测数据集输入训练好的径流量预测模型,得到预测的径流量。本发明的方法计算复杂度低,具备更好适用性的同时还提高预测的精度。用性的同时还提高预测的精度。用性的同时还提高预测的精度。


技术研发人员:韩玲 曹红业 刘明
受保护的技术使用者:长安大学
技术研发日:2023.04.14
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐