发布信息

一种基于LSTM的中长期径流预报智能方法

作者:admin      2022-09-27 22:55:51     604



计算;推算;计数设备的制造及其应用技术一种基于lstm的中长期径流预报智能方法技术领域1.本发明属于水文预报技术领域,具体为一种基于lstm的中长期径流预报智能方法。背景技术:2.流域径流的模拟与预测,对流域水资源管理具有重要的指导意义,然而径流过程具有很强的非线性和随机性等特点,使得径流模拟具有很强的挑战性。在传统的径流模拟模型中,数据驱动型模型,例如多元线性回归和bp网络模型需要甄别和挑选敏感性的输入变量,建模过程较繁琐;概念性集总式水文模型则很难掌握气象和产汇流的空间分布;而分布式水文模型则存在计算量大、资料要求高和模型参数多等缺点。随着人工智能技术的快速发展,构建基于人工智能网络的流域径流模拟预测模型已成为重要的发展方向。3.人工智能网络模型中,长短期记忆网络(lstm)具备时间序列数据学习的能力,该网络解决了循环神经网络(rnn)在训练时存在梯度消失和梯度爆炸的问题,因此受到越来越多学者的关注。根据历史水文数据建立基于lstm水文模型,与传统的统计预报水文模型相比精度有所提升。4.而采用lstm模拟径流方面目前还存在改进空间,lstm网络在径流模拟中的学习和预测性能还有待更进一步的研究。技术实现要素:5.本发明主要目的是提供一种基于lstm的中长期径流预报智能方法,该方法高效稳定,能够提供较好的预测精度,尤其为资料短缺地区的径流模拟提供了一种有效的解决方法和思路。6.本发明的目的是通过以下技术方案形成的:7.一种基于lstm的中长期径流预报智能方法,采用lstm网络模型进行径流预报,所述lstm网络模型构建及训练包括以下步骤:8.步骤1:k-nn模拟气象数据:采用k-nn算法随机生成多年气象数据作为模拟气象数据;所述气象数据包括日降雨数据;9.步骤2:构建基于swat模型的流域径流模拟模型:采用实测日气象数据和径流数据率定swat模型,将步骤1中生成的所述模拟气象数据输入swat模型,生成相应的模拟径流数据;10.步骤3:lstm网络模型的构建:lstm网络模型主体部分包含四种类型的层结构:接受数据的输入层、将输入数据维度转换为lstm记忆单元维度的全连接层a、提供储存能力的lstm记忆单元层、包含全连接层b和输出向量的输出层;气象数据和径流数据分别作为lstm网络的输入因子和输出因子;11.步骤4:将步骤1中生成的模拟气象数据和步骤2中生成的模拟径流数据作为数据集合分成前后两个部分,前一部分对lstm网络模型进行训练,后一部分对lstm网络模型进行验证。12.进一步的优化方案,所述步骤1具体操作如下:13.1)以m年5日均值的实测历史数据为样本,m为数据资料年数;14.2)随机从m年的1月1日样本中选择1个样本作为模拟第一天的初始值;15.3)选择以第t天为中心,前后的n天作为潜在相邻天l;其中t=1,2,……,365;n的取值范围为14天,l的取值为2*7*m;16.4)根据欧氏距离di计算当天天气与潜在相邻天l的气象状况的相似程度,随后将l个距离从小到大进行排序,并随机选取k个作为潜在最近相邻天;k的取值为6-14;17.5)为了体现距离越近代表气象状况越相似,建立累计概率密函数pj用于k个潜在最近相邻天中抽样;18.6)生成0~1均匀分布的随机数,随后从k个潜在最近相邻天中随机抽取一天作为当前模拟天的最近相邻天,将最近相邻天的后一天作为第t+1天的气象模拟值;19.7)重复步骤4)~步骤6),模拟达到所需天数的要求。20.进一步的优化,步骤2中基于swat模型的流域径流模拟模型的构建包括以下步骤:21.(1)数据采集及预处理:dem数据、土地利用数据、土壤数据、多年的实测日气象数据,对获取的数据进行预处理,生成模型所需数据;22.(2)基于arcgis对dem、土地利用数据、土壤数据转为投影坐标,根据设置的最小流域面积生成多个子流域,输入土地利用和土壤数据构建水文响应单元;23.(3)用水文站实测径流和swat-cup中的sufi2算法对模型进行率定,选取nse最高参数作为swat参数;24.(4)用已率定的swat模型和k-nn模拟的气象数据为输入生成至少100年的日径流数据,前10年模拟径流作为模型预热期舍去,并舍去对应时段气象数据,保留之后的模拟径流及对应气象数据;从子流域中选择对应子流域出口径流作为lstm模型实验数据。25.进一步的优化,步骤4中对于网络参数的取值,time-step的取值不低于80,batch-size数取值不低于30~300,cell-size的取值为10~20。26.进一步的优化,步骤4中lstm网络模型进行训练的数据量为40年~80年的径流数据。27.本发明的有益效果:28.中长期径流具有高度的非线性,传统的流域中长期径流预报模型存在建模困难,依赖建模者的个人经验,并且传统模型存在适应性差的缺点。本发明采用lstm网络构建中长期径流预报智能方法,该模型具有建模容易,不依赖个人经验的优点。该模型具有非常强大的非线性学习能力和模拟预报精度,因此适用流域非常广泛。附图说明29.图1为lstm模型结构图;30.图2为lstm细胞层单元结构;31.图3为lstm记忆单元结构;32.图4为实施例1中流域及雨量站分布;33.图5为实施例1中攀枝花站knn模拟效果检验;34.图6为实施例1中雅砻江流域验证阶段纳什系数分析;35.图7为实施例1中对图6的参数分析;36.图8为实施例中雅砻江训练阶段和验证阶段纳什系数;37.图9为实施例1中验证阶段径流过程;38.图10为验证阶段nse、r2平均值。具体实施方式39.一种基于lstm的中长期径流预报智能方法,采用lstm网络模型进行径流预报,所述lstm网络模型构建及训练包括以下步骤:40.步骤1:k-nn模拟气象数据:采用k-nn算法随机生成多年气象数据作为模拟气象数据;所述气象数据包括日降雨数据;41.1)以m年5日均值的实测历史数据为样本;42.2)随机从m年的1月1日样本中选择1个样本作为模拟第一天的初始值;43.3)选择以第t天(t=1,2,……,365)为中心,前后的n天作为潜在相邻天(l)。本实施例n取值为14d,则每个时段的潜在相邻天l=2*7*m。44.4)根据欧氏距离di计算当天天气与潜在相邻天l的气象状况的相似程度,随后将l个距离从小到大进行排序并选取前k个作为潜在最近相邻天,本实施方式中k取6天。[0045][0046][0047]式中:i取[1,15*m-1],表示第h站第j个变量第t天的数值,m为站点数,st为协方差矩阵,为当天的天气均值,为l天的天气均值。[0048]5)为了体现距离越近代表气象状况越相似,建立累计概率密函数pj用于k个潜在最近相邻天中抽样。[0049]6)生成0~1均匀分布的随机数,随后从k个潜在最近相邻天中随机抽取一天作为当前模拟天的最近相邻天,将最近相邻天的后一天作为第t+1天的气象模拟值。[0050]7)重复步骤4)~步骤6),模拟达到所需天数的要求。[0051]步骤2:构建基于swat模型的流域径流模拟模型:采用实测日气象数据和径流数据率定swat模型,将步骤1中生成的所述模拟气象数据输入swat模型,生成相应的模拟径流数据;(knn生成气象数据,输入swat,生成径流数据。数据多了后,用于lstm网络训练,弥补水文资料少的问题)。[0052]swat模型构建:[0053](1)所使用数据:分辨率为1000×1000m的dem数据、分辨率为1000×1000m的土地利用数据、分辨率为1000×1000m的土壤数据、1991-2016年的日气象数据,对获取的数据进行预处理,生成模型所需数据。[0054](2)基于arcgis对dem、土地利用数据、土壤数据转为投影坐标,根据设置的最小流域面积生成25个子流域,输入土地利用和土壤数据构建水文响应单元。[0055](3)用水文站实测径流和swat-cup中的sufi2算法对模型进行率定,选取nse最高参数作为swat参数。[0056](4)用已率定的swat模型和k-nn模拟的气象数据为输入生成140年的日径流数据,前10年模拟径流作为模型预热期舍去,并舍去对应时段气象数据,保留130年的模拟径流及对应气象数据。从子流域中选择对应子流域出口径流作为lstm模型实验数据。[0057]步骤3:lstm网络模型的构建:lstm网络模型主体部分包含四种类型的层结构(如图1所示。):接受数据的输入层、将输入数据维度转换为lstm记忆单元维度的全连接层a、提供储存能力的lstm记忆单元层、包含全连接层b和输出向量的输出层;气象数据和径流数据分别作为lstm网络的输入因子和输出因子;[0058]lstm模型中的参数包括超参数和网络权重参数两类,网络权重参数通过模型训练不断更新;而超参数则根据经验进行调整,所包含超参数如表1所示。[0059]表1 lstm网络的控制性超参数[0060][0061]lstm是一种特殊的循环神经网络,lstm网络由多个记忆细胞层构成,并且各层中包含多个细胞单位,如图2所示。各层细胞之间与细胞层之间相互传递知识信息,由此大规模的细胞的记忆和学习,使得lstm具备强大的记忆和学习能力。[0062]每个细胞的记忆能力由3“门”来控制,能有效地控制特征信息的通过能力,达到消除梯度爆炸和梯度消失的目的。lstm记忆单元内部结构如图3所示。在t时刻的输入包含:上一时刻t-1的隐藏层状态变量ct-1和记忆单元状态变量ht-1,当前时刻输入变量xt。输出包含:当前时刻的隐藏层状态变量ct和当前时刻的输出变量ht。[0063]输入数据在经过记忆单元的具体结构如下:[0064]遗忘门ft:决定了记忆单元从上一状态舍弃多少信息;[0065]ft=σ(wf[ht-1,xt]+bf)ꢀꢀꢀ(4)[0066]公式中,ft表示时刻t的遗忘门输出矩阵;ht-1表示时刻t-1的记忆单元状态变量;xt表示时刻t输入变量;σ表示sigmoid激活函数构建的神经网络;wf和bf表示网络的权重和偏差值。[0067]输入门it:决定记忆单元状态的更新即当前时刻信息的输入多大程度添加到记忆信息中;[0068]it=σ(wi[ht-1,xt]+bi)ꢀꢀꢀ(5)[0069][0070]公式中,it表示时刻t的输入门输出矩阵;tanh表示采用tanh激活函数构建的网络;wi和bi表示σ网络的权重和偏差值;wc和bc表示tanh网络的权重和偏差值;表示隐藏层状态变量信息矩阵;[0071]输出门ot:决定当前信息被输出的程度。[0072]ot=σ(wo[[ht-1,xt]+bo])ꢀꢀꢀ(7)[0073][0074]ht=ot×tanh(ct)ꢀꢀꢀ(9)[0075]公式中:wo和bo为输出门σ网络的权重和偏差值;ct-1表示隐藏层状态变量信息矩阵。[0076]σ为sigmoid激活函数,取值范围为[0,1],0表示全部舍弃,1表示全部保留;wf、wi、wc、wo为权重矩阵,bf、bi、bc、bo为偏移向量,可通过模型训练优化参数;tanh为双曲正切激活函数,取值范围为[-1,1]。[0077]采用纳什效率系数(nse)和决定系数r2对lstm网络的模拟效果进行评价。计算公式如下:[0078][0079]一般用以验证水文模型模拟结果的好坏。[0080]式中:t为一次学习的batch size数量,即输入数据的时间长度;和为第t时刻的实测值和模拟值;为观测值的平均值。nse值越接近1,表示模型可信度越高。[0081]nse值越接近1,表示模型可信度越高。[0082][0083]式中:qm,i为实测数据;qs,i为模拟数据;为实测数据均值;为模拟数据均值,r2的取值范围是[0,1],越接近1,表明模拟效果越好。[0084]步骤4:将步骤1中生成的模拟气象数据和步骤2中生成的模拟径流数据作为数据集合分成前后两个部分,前一部分对lstm网络模型进行训练,后一部分对lstm网络模型进行验证。[0085]实施例1[0086]本实施例以岷江、嘉陵江和雅砻江三个流域为研究区域:(1)岷江流域面积13.5881km2,是长江上游的重要支流,岷江干流自镇江关以上除春季有极少量雪水补入,年内径流季节变化均与降雨季节相对应,岷江河口多年平均流量2850m3/s,年径流量900×108m3,实验中使用了该流域中8个雨量站的降雨信息。(2)嘉陵江是长江上游支流,在陕西省内,嘉陵江流域面积9930km2,占陕西总面积的4.8%,省内年径流总量为56.6×108m3,占陕西径流总量的12.7%,其流量远大于陕西黄河流域的任何水系,其产水能力在陕西各水系中居第一位,本实施例使用了该流域中12个雨量站的降雨信息。(3)雅砻江全长1571km,流域面积13.6×104km。雅砻江径流的一半由降水形成,其余为地下水和融雪(冰)补给,径流年际变化不大,丰沛而稳定,河口多年平均流量1890m3/s,年径流量596×108m3。实验使用了该流域7个雨量站的降雨信息。三个流域及其雨量站分布如图4所示。[0087]降雨数据和径流数据分别作为lstm网络的输入因子和输出因子,以岷江、嘉陵江和雅砻江三个流域1991~2016年实测日气象数据为基础,其中岷江流域8个气象站点和1个水文站,嘉陵江流域10个气象站和1个水文站,雅砻江流域7个气象站和1个水文站。采用1991~2016年的实测日气象数据和径流数据率定swat模型,再利用k-nn算法模拟得到了130年的日降雨数据,然后采用已率定的swat模型对130年的日径流过程进行模拟。[0088]此外,将130年的降雨和径流数据分为前80年和后50年两个部分,前者用于模型训练,后者用于模型验证。在训练数据中,分别选取前5年、10年、20年、40年和80年的降雨(输入因子)和径流(输出因子)训练lstm网络,分析训练数据量对lstm网络径流模拟性能的影响。[0089]参数time-step、batch-size和cell-size被离散为多种取值,参数num_layer、learning_rate和epoch取固定取值,最后得到36种不同的参数组合。依此36种组合,分别采用5年、10年、20年、40年和80年的数据作为训练样本。[0090]表2 lstm网络参数设置[0091][0092]考虑到各站点模拟效果相似,以雅砻江流域攀枝花站的日降雨量和日平均气温模拟为例,检验knn模拟效果,见图5。从图5可以看出,模拟与实测数据的水文特性相似,可以为lstm网络训练提供足够长的训练和验证数据。[0093]在参数组合和训练数据条件下,每个流域均分别进行5次独立的训练和模拟,共进行900次模拟。图6展示了雅砻江流域各次训练后,验证阶段模拟径流过程的纳什系数变化过程。可知,lstm网络径流验证阶段的精度较高,但选择不同的time-step、batch-siz和cell-size会使精度有着明显的变化,且具有规律性。随着time-step和batch-size数量的增加,网络学习性能呈上升趋势;随cell-size数量的增加,网络学习性能呈先增加,当达到超过阈值时(本研究流域阈值为20个),学习效率开始不稳定。随着cell-size数量的增加,cell中的网络参数增多,增加了网络的学习成本,很容易陷入局部最优和过拟合情景。因此,图6中lstm网络的预测精度随着参数组合的改变而起伏变化。[0094]为了进一步研究各参数对预测精度的影响,将图6a放大并按波峰和波谷进行分区,绘制图7。[0095]进一步统计各个分区中参数组合所对应的各参数取值信息,绘制表2。可知,位于波峰的参数组合,batch-size取值多为10和20;cell-size数值较小,多为10和20。处于波谷区的参数组合,batch-size和cell-size取值较大,都是30和40。结果表明,参数batch-size和cell-size取值较小时,lstm网络可以提供较高的预测精度。batch-size取值范围(30-300)和cell-size取值范围(10-50),综合考虑cell-size取值范围优先为10~20[0096]表3波峰和波谷区域的参数组合取值[0097][0098]以雅砻江流域为例,分别计算相同参数下5次模拟的纳什系数均值,对比分析各训练数据条件下的训练阶段和验证阶段纳什系数(见图8),结果表明,随着训练阶段数据量的增加,lstm网络更加趋于稳定。[0099]对三个研究流域分别进行900次模拟。其中,验证阶段岷江流域模拟径流的纳什系数最高可达0.91,嘉陵江流域最高可达0.94,而雅砻江流域更是高达0.96。绘制各流域验证阶段50年的模拟和实测径流的散点图如图9所示。可见,lstm网络有很强的学习能力,在径流模拟方面较好地发挥作用。[0100]为分析训练数据量方案对lstm网络预测精度的影响,按照5种训练数据量方案将验证阶段的nse和r2分别取均值(见图10),变化趋势表明,增加训练数据,可以有效降低lstm网络的过拟合现象,并提高该网络的预测精度。综合三个流域模拟效果得出:训练数据超过某一数值或区间时,lstm网络模拟效果不再有明显的增加趋势,且不同流域趋势变化的临界值不同。因此,增加训练数据量可以提高模拟效果,当训练数据量超过合适训练数据量后,网络学习性能并不会继续提升,选取合适的训练数据量,可以更好地发挥lstm网络的学习能力。当训练数据量太少时,无法体现样本的多样性;合适的训练量则是训练数据中包含特丰、丰、平、枯和特枯等样本类型,各样本类型的数据量比较均匀,则是合适的训练数据量。在径流智能模型构建中,合适的训练数据量阈值约为30年-80年。[0101]lstm网络在径流过程学习方面表现突出,可高效建立降雨过程与径流过程之间的关系。由于lstm网络受超级参数的影响,在构建水文模型时需要根据不同流域,挑选高性能参数。[0102]lstm网络在径流过程学习中,受训练数据量的影响非常明显。当训练数据量较少时,lstm过拟合非常严重,使网络的外延性和可靠性均非常低;增加训练阶段数据量,可以有效地降低lstm网络的过拟合现象。因此,采用lstm网络构建水文模型时,一定要有足够的训练数据做支撑。[0103]随着训练数据量的增加,lstm网络的学习性能有着明显的提高。但是当训练数据量增加到一定数量后,lstm网络的预测精度提高缓慢。本研究中lstm预测精度都是在训练数据量达到30年时达到比较好的预测精度和稳定性。[0104]本发明为lstm在水文领域中应用提供了参考,尤其为资料短缺地区的径流模拟提供了一种有效的解决方法,并可使更多研究者关注水文资料系列长度对深度学习网络的影响。[0105]最后应说明的是,以上仅用以说明本发明的技术方案而非限制,尽管参照较佳布置方案对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部