CN114692981A - 基于Seq2Seq模型的中长期径流预报方法和系统 - Google Patents
基于Seq2Seq模型的中长期径流预报方法和系统 Download PDFInfo
- Publication number
- CN114692981A CN114692981A CN202210365992.2A CN202210365992A CN114692981A CN 114692981 A CN114692981 A CN 114692981A CN 202210365992 A CN202210365992 A CN 202210365992A CN 114692981 A CN114692981 A CN 114692981A
- Authority
- CN
- China
- Prior art keywords
- runoff
- data
- model
- average
- forecasting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Abstract
本发明公开一种基于Seq2Seq模型的中长期径流预报方法和系统,将所获得的径流数据进行缺省值拉格朗日二次差值处理和Min‑Max标准化及Box‑Cox变换,将处理过的径流数据按照日均、月均、季均和年均整理成四组;将整理好的四组径流数据分别作为GRU‑seq2seq模型的输入,进行模型的训练与评估,调节给定的模型参数,将训练好的模型进行封装,选择合适的封装模型,将根据各封装模型的预测结果进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box‑Cox反变换和Min‑Max反标准化作为模型的最终预测结果。本发明只需要提供日均径流数据便可实现中长期的径流预报,解决现如今水利监测工中缺少除径流数据及水文数据的水文站径流预报精度和预测周期短的问题。
Description
技术领域
本发明涉及一种基于Seq2Seq模型的中长期径流预报方法和系统,属于水文预报技术领域。
背景技术
径流预报模型是一个复杂的非线性时间序列问题,其对重要河流实时运行调度有着极为重要的作用。近几十年研究者门一直在开发物理和机器模型,利用降雨数据集来预测未来的径流,但国内的公开的降雨数据集误差较大,数据处理较为复杂,精确的降雨、蒸发量等与径流相关的水文数据集归某一具体单位所有很难获得,且国内关于径流预报的研究多针对长江流域,黄河流域有关径流预报的研究多集中在传统的物理水文模型上,如三水源新安江模型、马斯京根洪水演进算法和降雨径流经验相关法等,这些传统的水文预报模型具有参数多,模型调优都多依靠经验进行。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于Seq2Seq模型的中长期径流预报方法和系统,以提升水文站流域径流预报精度。
(1)本发明中长期径流预报方法仅依靠测量径流的变化过程就可进行实时中长期径流预报,大大降低径流预报系统运用所需的硬件和基础设施成本。
(2)本发明中长期径流预报方法仅利用代表性、可靠性、一致性高的实测历史径流资料就可以推求径流预报方法的参数,且径流预报方法的软件开发成本低、时间短,解决径流预报方法的推广瓶颈限制。
(3)本发明中长期径流预报方法在中长期径流预报中展现实时径流预报过程,有利于准确估计洪水的洪峰、洪量、洪水过程,可以在预报过程中模拟出水文站的水位过程,实现用户包括实时洪水预报在内的中长期径流预报调度,解决现今大多径流预报软件预报过程太短,中长期预报功能缺少洪峰、洪量预报的问题。
技术方案:一种基于Seq2Seq模型的中长期径流预报方法,包括如下步骤:
步骤1,获取要预报水文站的日均历史径流数据并进行数据预处理,如果日均径流数据存在缺失,需对日均径流数据进行拉格朗日二次差值;将无缺失数据的日均径流数据先进行Min-Max标准化,然后进行Box-Cox变换。因我们获取的数据便为日均径流数据,所以日均径流数据将会被复制一份;月均径流数据是通过日均径流数据进行每月的累计求和然后得到每月的平均径流数据,每月的平均径流数据便组成月均径流数据;季均径流数据是通过月均径流数据进行每个季度的累计求和得到季度平均径流数据,每个季度的平均径流数据进行组合便成为季均径流数据;年均径流数据是通过季均径流数据进行每年的累计求和得到年平均径流数据,每年的平均径流数据进行组合便成为年均径流数据。将处理过的日均径流数据安装以上步骤整理为日均、月均、季均和年均四组径流数据。
步骤2,分别对日均、月均、季均和年均的四组径流数据按照每组数据的70%作为训练数据集,其余30%作为测试数据集。利用Seq2Seq模型的训练及测试数据的表现结果选出使Seq2Seq模型径流预报精度最高的输入时间步长、批次大小和隐藏层神经元个数作为模型的输入时间步长、批次大小和隐藏层神经元个数。最后将训练好的模型进行封装,得到四个径流预报模型,分别是日均径流预报模型、月均径流预报模型、季均径流预报模型和年均径流预报模型。
步骤3,按照提示选择合适的预报模型,将根据各预报模型的预测结果进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化。其中若进行日均径流预报,四个径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化;若进行月均径流预报,将月均、季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,依次类推。
一种基于Seq2Seq模型的中长期径流预报系统,主要分为数据预处理层,模型构建、训练、调参、封装层,以及结果输出层。
数据预处理层:获取要预报水文站的日均历史径流数据,观测所提供日均径流数据是否连续,若存在数据缺失的情况,通过拉格朗日差值公式对日均径流数据进行拉格朗日二次差值,得到一个连续的日均径流数据。接着将得到的连续日均径流数据通过Min-Max标准化,最后将这些经过Min-Max标准化后的日均径流数据进行Box-Cox变换。我们获取的数据便为日均径流数据,所以日均径流数据将会被复制一份;月均径流数据是通过日均径流数据进行每月的累计求和然后得到每月的平均径流数据,每月的平均径流数据便组成月均径流数据;季均径流数据是通过月均径流数据进行每个季度的累计求和得到季度平均径流数据,每个季度的平均径流数据进行组合便成为季均径流数据;年均径流数据是通过季均径流数据进行每年的累计求和得到年平均径流数据,每年的平均径流数据进行组合便成为年均径流数据。将处理过的日均径流数据安装以上步骤整理为日均、月均、季均和年均四组径流数据,得到最终的数据预处理层的输出结果。
模型构建、训练、调参、封装层:分别将日均、月均、季均和年均四组径流数据分为训练数据和测试数据利用模型的训练及测试数据的表现结果选出使模型径流预报精度最高时的输入时间步长、批次大小和隐藏层神经元个数作为模型参数进行设置。最后将训练好的模型进行封装,分别得到日均、月均、季均和年均径流预报模型。
结果输出层:选择封装模型,将根据各封装模型的预测结果进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出。
模型构建:将数据预处理后的数据分为训练集数据和测试集数据,利用pytorch神经网络框架中torch.nn.GRU神经网络函数搭建一个1层隐藏层的Encoder层和一个1层隐藏层的Decoder层的Seq2Seq神经网络模型,将搭建好的模型根据预设的参数对训练集进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试。Seq2Seq神经网络模型的训练参数包括:200作为最大训练次数,0.01为学习系数和目标误差,隐藏层和输出层的激活函数均选用内置的激活函数,输出函数选用torch.nn.Linear神经网络函数,直接将结果进行输出,同样选用MSELoss为损失函数,Adam优化算法为训练的优化算法。
模型训练:将搭建好的模型根据预设的参数对样本进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试,对测试结果进行模型评价。
模型调参:模型隐藏层的神经元数m通过试错法确定,在区间(32,64,128,256,512)之间取不同的值,选取促使率定期样本集的纳什效率系数(NSE)为最小时的神经元的个数作为隐藏层的最优神经元数。将不同的预选预报因子组合作为Seq2Seq径流预报模型的输入层,所以Seq2Seq径流预报模型的输入层元素由预选预报因子的组合方案所确定,通过取不同的隐藏层神经元个数m所得的NSE值来分析选取不同预报因子个数时模型的预报性能。
模型封装:将通过训练、调参后的模型进行封装,将模型的训练参数进行保存,以便后续径流预报使用。
结果输出层:
在进行日均径流预报,四个径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行月均径流预报,将月均、季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行季均径流预报,将季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行年均径流预报,则年均径流预报模型得出的预测结果使最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出。
一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于Seq2Seq模型的中长期径流预报方法的计算机程序。
有益效果:与现有技术相比,本发明提供的基于Seq2Seq模型的中长期径流预报方法,具有如下优点:
1)、原理清晰,操作方便,具有很高的实用价值。
2)、基于熵权法对多种预报模型的预报结果进行了组合校正,并对历史径流预报数据和当前场次的预报数据也进行了组合校正,可综合利用多个模型预报性能优势,挖掘不同预报模型的预报性能,有效提高水库流域径流预报精度,进而为水库开展优化调度提供必要的数据基础。
附图说明
图1为本发明实施例的体系结构示意图;
图2为本发明实施例的数据预处理过程示意图;
图3为本发明实施例的模型框架之间的关系示意图;
图4为本发明实施例的结果输出过程示意图;
图5为本发明实施例的GRU-Seq2Seq模型框架图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
基于Seq2Seq模型的中长期径流预报方法,其特征在于,包括:
第一步、获取要预报水文站的日均历史径流数据并进行数据预处理,如果日均径流数据存在缺失,需对日均径流数据进行拉格朗日二次差值;将无缺失数据的日均径流数据先进行Min-Max标准化,然后进行Box-Cox变换。因我们获取的数据便为日均径流数据,所以日均径流数据将会被复制一份;月均径流数据是通过日均径流数据进行每月的累计求和然后得到每月的平均径流数据,每月的平均径流数据便组成月均径流数据;季均径流数据是通过月均径流数据进行每个季度的累计求和得到季度平均径流数据,每个季度的平均径流数据进行组合便成为季均径流数据;年均径流数据是通过季均径流数据进行每年的累计求和得到年平均径流数据,每年的平均径流数据进行组合便成为年均径流数据。将处理过的日均径流数据安装以上步骤整理为日均、月均、季均和年均四组径流数据。
第二步、将日均、月均、季均和年均的四组径流数据按照每组数据的70%作为训练数据,其余30%作为测试数据。利用模型的训练及测试数据的表现结果对模型的输入时间步长、批次大小和隐藏层神经元个数三个参数进行调优。最后将训练好的模型进行封装,得到日均、月均、季均和年均径流预报模型。
第三步、按照提示选择合适的封装模型,将根据各封装模型的预测结果进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化。其中若进行日均径流预报,四个径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化;若进行月均径流预报,将月均、季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,依次类推。
若所获得的日均径流数据存在少量缺失,将使用拉格朗日二次差值多项式对日均径流数据进行差值,可以减少日均径流数据的变化规律信息的损失。其中拉格朗日的二次差值多项式公式为:
L2(x)=y0l0(x)+y1l1(x)+y2l2(x)
通过缺失日均径流数据的前三天的径流数据确定缺失径流数据的值,将所得的值填充进日均径流数据。式中x表示要进行插值的日均径流时间序列中缺失的日均径流数据的序列号,x0、x1、x2分别表示日均径流时间序列中缺失的日均径流数据序列号前第1、2、3的序列号,y0、y1、y2分别表示日均径流数据x0、x1、x2序列号下的日均径流值,L2(x)表示对缺失的日均径流量进行插值的值。然后将差值后的日均径流数据进行Min-Max标准化,公式为:
通过Min-Max标准化的数据变为数值介于0-1的数,式中式中xi代表未进行Min-Max变换的日均径流数据,xj代表需要进行Min-Max变换的日均径流数据,yi代表进行Min-Max变换后的日均径流数据。然后再将经过Min-Max标准化后的数据进行Box-Cox变换,公式为:
式中xi代表未进行Box-Cox变换的日均径流数据,yi代表进行Box-Cox变换后的日均径流数据,λ为变换参数,通过最大似然法求得。
如图1所示,基于Seq2Seq模型的中长期径流预报系统,主要分为数据预处理层,模型构建、训练、调参、封装层,结果输出层。
数据预处理层:获取要预报水文站的日均历史径流数据,观测所提供日均径流数据是否连续,若存在数据缺失的情况,通过拉格朗日差值公式对日均径流数据进行拉格朗日二次差值,可以减少日均径流数据的变化规律信息的损失,其中拉格朗日的二次差值多项式公式为:
L2(x)=y0l0(x)+y1l1(x)+y2l2(x)
通过缺失日均径流数据的前三天的径流数据确定缺失径流数据的值,将所得的值填充进日均径流数据,得到一个连续的日均径流数据。式中x表示要进行插值的日均径流时间序列中缺失的日均径流数据的序列号,x0、x1、x2分别表示日均径流时间序列中缺失的日均径流数据序列号前第1、2、3的序列号,y0、y1、y2分别表示日均径流数据x0、x1、x2序列号下的日均径流值,L2(x)表示对缺失的日均径流量进行插值的值。
接着将得到的连续日均径流数据通过Min-Max标准化,公式为:
使日均径流数据的值缩放到0-1之间,式中式中xi代表未进行Min-Max变换的日均径流数据,xj代表需要进行Min-Max变换的日均径流数据,yi代表进行Min-Max变换后的日均径流数据。最后将这些经过Min-Max标准化后的日均径流数据进行Box-Cox变换,公式为:
得到最终的数据预处理层的输出结果。式中式中xi代表未进行Box-Cox变换的日均径流数据,yi代表进行Box-Cox变换后的日均径流数据,λ为变换参数,通过最大似然法求得。
通过已有的历史径流数据算出水文站的值,使数据保证原有序列信息不丢失的基础上,实现数据正态化转换,序列数据的线性、正态性、方差齐性和独立性得到显著改善,伪回归的概率得到降低,数据间的关联性得到提高。
模型构建、训练、调参、封装层:
(1)模型构建:利用pytorch神经网络框架中torch.nn.GRU神经网络函数搭建一个1层隐藏层的Encoder层和一个1层隐藏层的Decoder层的Seq2Seq神经网络模型,将搭建好的模型根据预设的参数对样本进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试。Seq2Seq神经网络模型的训练参数包括:200作为最大训练次数,0.01为学习系数和目标误差,隐藏层和输出层的激活函数均选用内置的激活函数,输出函数选用torch.nn.Linear神经网络函数,直接将结果进行输出,同样选用MSELoss为损失函数,Adam优化算法为训练的优化算法。
(2)模型训练:将搭建好的模型根据预设的参数对样本进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试,对测试结果进行模型评价。因获取的数据便为日均径流数据,所以日均径流数据将会被复制一份;月均径流数据是通过日均径流数据进行每月的累计求和然后得到每月的平均径流数据,每月的平均径流数据便组成月均径流数据;季均径流数据是通过月均径流数据进行每个季度的累计求和得到季度平均径流数据,每个季度的平均径流数据进行组合便成为季均径流数据;年均径流数据是通过季均径流数据进行每年的累计求和得到年平均径流数据,每年的平均径流数据进行组合便成为年均径流数据。将所分的四组径流数据作为Seq2Seq模型的输入数据,分别按照组别依次将数据分成70%的训练数据,30%的测试数据。利用模型的训练及测试数据的表现结果对模型的输入时间步长、批次大小和隐藏层神经元个数。最后将训练好的模型进行封装,得到日均、月均、季均和年均径流预报模型。
(3)模型调参:模型隐藏层的神经元数m通过试错法确定,在区间(32,64,128,256,512)之间取不同的值,选取促使率定期样本集的纳什效率系数(NSE)为最小时的神经元的个数作为隐藏层的最优神经元数。将不同的预选预报因子组合作为Seq2Seq径流预报模型的输入层,所以Seq2Seq径流预报模型的输入层元素由预选预报因子的组合方案所确定,通过取不同的隐藏层神经元个数m所得的NSE值来分析选取不同预报因子个数时模型的预报性能。
(4)模型封装:将通过训练、调参后的模型进行封装,将模型的训练参数进行保存,以便后续径流预报使用。
结果输出层:
在进行日均径流预报,四个径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行月均径流预报,将月均、季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行季均径流预报,将季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行年均径流预报,则年均径流预报模型得出的预测结果使最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出。
显然,本领域的技术人员应该明白,上述的本发明实施例的基于Seq2Seq模型的中长期径流预报方法各步骤或基于Seq2Seq模型的中长期径流预报系统各模块可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
Claims (10)
1.一种基于Seq2Seq模型的中长期径流预报方法,其特征在于,包括如下步骤:
步骤1,获取要预报水文站的日均历史径流数据并进行数据预处理;将无缺失数据的日均径流数据先进行Min-Max标准化,然后进行Box-Cox变换,并将处理过的数据按照日均、月均、季均和年均整理成四组。
步骤2,将日均、月均、季均和年均的四组径流数据分别分为训练数据和测试数据,利用Seq2Seq模型的训练及测试数据的表现结果选出使Seq2Seq模型径流预报精度最高的输入时间步长、批次大小和隐藏层神经元个数作为模型的输入时间步长、批次大小和隐藏层神经元个数;最后将训练好的模型进行封装,得到四个径流预报模型,分别是日均径流预报模型、月均径流预报模型、季均径流预报模型和年均径流预报模型;
步骤3,选择预报模型,将根据各预报模型的预测结果进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出。
2.根据权利要求1所述的基于Seq2Seq模型的中长期径流预报方法,其特征在于,所述步骤3中,若进行日均径流预报,四个径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行月均径流预报,将月均、季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行季均径流预报,将季均和年均径流预报模型进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出;若进行年均径流预报,则年均径流预报模型得出的预测结果使最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出。
3.根据权利要求1所述的基于Seq2Seq模型的中长期径流预报方法,其特征在于,所述步骤1中,获取要预报水文站的日均历史径流数据并进行数据预处理,如果日均径流数据存在缺失,需对日均径流数据进行拉格朗日二次差值;
其中拉格朗日的二次差值多项式公式为:
L2(x)=y0l0(x)+y1l1(x)+y2l2(x)
通过缺失日均径流数据的前三天的径流数据确定缺失径流数据的值,将所得的值填充进日均径流数据,得到一个连续的日均径流数据;式中x表示要进行插值的日均径流时间序列中缺失的日均径流数据的序列号,x0、x1、x2分别表示日均径流时间序列中缺失的日均径流数据序列号前第1、2、3的序列号,y0、y1、y2分别表示日均径流数据x0、x1、x2序列号下的日均径流值,L2(x)表示对缺失的日均径流量进行插值的值。
4.根据权利要求1所述的基于Seq2Seq模型的中长期径流预报方法,其特征在于,所述步骤1中,将连续的日均径流数据先进行Min-Max标准化,然后进行Box-Cox变换;
Min-Max标准化公式为:
使日均径流数据变为数值介于0-1的数,式中xi代表未进行Min-Max变换的日均径流数据,xi代表需要进行Min-Max变换的日均径流数据,yi代表进行Min-Max变换后的日均径流数据;最后将这些经过Min-Max标准化后的日均径流数据进行Box-Cox变换,公式为:
得到最终的数据预处理层的输出结果;式中xi代表未进行Box-Cox变换的日均径流数据,yi代表进行Box-Cox变换后的日均径流数据,λ为变换参数,通过最大似然法求得。
5.根据权利要求1所述的基于Seq2Seq模型的中长期径流预报方法,其特征在于,所述步骤2中,将日均径流数据、月均径流数据、季均径流数据和年均径流数据四组径流数据按照每组数据的70%作为训练数据,其余30%作为测试数据。
6.根据权利要求1所述的基于Seq2Seq模型的中长期径流预报方法,其特征在于,所述步骤2中利用pytorch神经网络框架中torch.nn.GRU神经网络函数搭建一个1层隐藏层的Encoder层和一个1层隐藏层的Decoder层的Seq2Seq神经网络模型,将搭建好的模型根据预设的参数对训练数据进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试。
7.根据权利要求1所述的基于Seq2Seq模型的中长期径流预报方法,其特征在于,获取日均径流数据,并复制一份日均径流数据,月均径流数据是通过日均径流数据进行每月的累计求和然后得到每月的平均径流数据,每月的平均径流数据便组成月均径流数据;同理,季均径流数据是通过月均径流数据进行每个季度的累计求和得到季度平均径流数据,每个季度的平均径流数据进行组合便成为季均径流数据;年均径流数据是通过季均径流数据进行每年的累计求和得到年平均径流数据,每年的平均径流数据进行组合便成为年均径流数据。
8.一种基于Seq2Seq模型的中长期径流预报系统,其特征在于,包括数据预处理层,模型构建、训练、调参、封装层,以及结果输出层。
数据预处理层:获取要预报水文站的日均历史径流数据,观测所提供日均径流数据是否连续,若存在数据缺失的情况,通过拉格朗日差值公式对日均径流数据进行拉格朗日二次差值,得到一个连续的日均径流数据;接着将得到的连续日均径流数据通过Min-Max标准化,最后将这些经过Min-Max标准化后的日均径流数据进行Box-Cox变换,并将处理过的日均径流数据按照相应方法整理成日均、月均、季均和年均四组径流数据,得到最终的数据预处理层的输出结果;
模型构建、训练、调参、封装层:将日均、月均、季均和年均的四组径流数据分别分为训练数据和测试数据利用模型的训练及测试数据的表现结果对模型的输入时间步长、批次大小和隐藏层神经元个数进行参数调优,选取模型径流预报精度最高时的模型输入步长、批次大小和隐藏层神经元个数作为模型参数调优的结果;最后将训练好的模型分别进行封装,分别得到日均、月均、季均和年均径流预报模型;
结果输出层:选择封装模型,将根据各封装模型的预测结果进行算术加权耦合得出最终的径流预报结果,将预报结果进行Box-Cox反变换和Min-Max反标准化,将预测结果进行输出。
9.根据权利要求8所述的基于Seq2Seq模型的中长期径流预报系统,其特征在于,所述模型构建、训练、调参、封装层包括:
模型构建:将数据预处理层的输出结果分为训练集和测试集,利用pytorch神经网络框架中torch.nn.GRU神经网络函数搭建一个1层隐藏层的Encoder层和一个1层隐藏层的Decoder层的Seq2Seq神经网络模型,将搭建好的模型根据预设的参数对训练集进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试;
模型训练:将搭建好的模型根据预设的参数对样本进行训练学习并更新模型参数,将训练好的模型通过eval函数转换为测试模型,根据训练集训练好的参数对测试集进行测试,对测试结果进行模型评价;
模型调参:模型隐藏层的神经元数m通过试错法确定,在设定区间取不同的值,选取促使率定期样本集的纳什效率系数为最小时的神经元的个数作为隐藏层的最优神经元数;将不同的预选预报因子组合作为Seq2Seq径流预报模型的输入层,所以Seq2Seq径流预报模型的输入层元素由预选预报因子的组合方案所确定,通过取不同的隐藏层神经元个数m所得的NSE值来分析选取不同预报因子个数时模型的预报性能;
模型封装:将通过训练、调参后的模型进行封装,将模型的训练参数进行保存,以便后续径流预报使用。
10.一种计算机可读存储介质,其特征在于:该计算机可读存储介质存储有执行如权利要求1-7中任一项所述的基于Seq2Seq模型的中长期径流预报方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210365992.2A CN114692981A (zh) | 2022-04-08 | 2022-04-08 | 基于Seq2Seq模型的中长期径流预报方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210365992.2A CN114692981A (zh) | 2022-04-08 | 2022-04-08 | 基于Seq2Seq模型的中长期径流预报方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114692981A true CN114692981A (zh) | 2022-07-01 |
Family
ID=82142098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210365992.2A Pending CN114692981A (zh) | 2022-04-08 | 2022-04-08 | 基于Seq2Seq模型的中长期径流预报方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114692981A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503206A (zh) * | 2023-06-30 | 2023-07-28 | 长江三峡集团实业发展(北京)有限公司 | 一种入库径流重构方法、计算机设备及介质 |
WO2024021966A1 (zh) * | 2022-07-29 | 2024-02-01 | 福州大学 | 基于GRU-Seq2Seq的多步长洪水预报方法及装置 |
-
2022
- 2022-04-08 CN CN202210365992.2A patent/CN114692981A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024021966A1 (zh) * | 2022-07-29 | 2024-02-01 | 福州大学 | 基于GRU-Seq2Seq的多步长洪水预报方法及装置 |
CN116503206A (zh) * | 2023-06-30 | 2023-07-28 | 长江三峡集团实业发展(北京)有限公司 | 一种入库径流重构方法、计算机设备及介质 |
CN116503206B (zh) * | 2023-06-30 | 2023-10-20 | 长江三峡集团实业发展(北京)有限公司 | 一种入库径流重构方法、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084367B (zh) | 一种基于lstm深度学习模型的土壤墒情预测方法 | |
CN102183621B (zh) | 水产养殖溶解氧浓度在线预测方法及系统 | |
CN111210093B (zh) | 基于大数据的日用水量预测方法 | |
CN111626518A (zh) | 基于深度学习神经网络的城市天级需水量在线预测方法 | |
CN114692981A (zh) | 基于Seq2Seq模型的中长期径流预报方法和系统 | |
CN113554466B (zh) | 一种短期用电量预测模型构建方法、预测方法和装置 | |
CN112036658B (zh) | 一种基于随差遗忘长短期记忆的风电功率实时预测方法 | |
CN113505923B (zh) | 一种地区电网短期负荷预测方法及系统 | |
CN111369057A (zh) | 一种基于深度学习的空气质量预测优化方法及系统 | |
CN115495991A (zh) | 一种基于时间卷积网络的降水区间预测方法 | |
CN114021830A (zh) | 一种基于cnn-lstm的多时间范围风速预测方法 | |
CN114357737B (zh) | 针对大尺度水文模型时变参数的代理优化率定方法 | |
CN115545333A (zh) | 一种多负荷日类型配电网负荷曲线预测方法 | |
CN111311026A (zh) | 一种顾及数据特征、模型和校正的径流非线性预测方法 | |
CN114330934A (zh) | 一种模型参数自适应的gru新能源短期发电功率预测方法 | |
CN110147908A (zh) | 一种基于三维最优相似度与改进布谷鸟算法的风电功率预测方法 | |
CN116960962A (zh) | 一种跨区域数据融合的中长期区域负荷预测方法 | |
CN116611785A (zh) | 一种基于大数据的输变电工程造价模型构建方法、系统、设备及介质 | |
CN110852496A (zh) | 一种基于lstm循环神经网络的天然气负荷预测方法 | |
CN115081681B (zh) | 一种基于prophet算法的风电功率预测方法 | |
CN116013426A (zh) | 一种高时空分辨率的站点臭氧浓度预测方法 | |
CN115526413A (zh) | 一种基于全连接神经网络日最高气温的预报方法 | |
CN114971090A (zh) | 一种电供暖负荷预测方法、系统、设备和介质 | |
CN115238854A (zh) | 一种基于tcn-lstm-am的短期负荷预测方法 | |
CN112836876A (zh) | 一种基于深度学习的配电网线路负荷预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |