一种基于NSGA-III优化LSTM神经网络的水位预测方法及系统与流程

文档序号:30581781发布日期:2022-06-29 12:39阅读:234来源:国知局
一种基于NSGA-III优化LSTM神经网络的水位预测方法及系统与流程
一种基于nsga-iii优化lstm神经网络的水位预测方法及系统
技术领域
1.本发明涉及水位预测技术领域,尤其涉及一种基于nsga-iii优化lstm神经网络的水位预测方法及系统。


背景技术:

2.降雨量过大容易导致城市内涝甚至洪灾,造成严重的经济财产损失。随着智慧城市的推进,当前可通过如河长制信息系统,利用传感器和物联网技术实时获取观测点的水位数据,因此,充分挖掘这些水位历史数据,精准且快速地预测水位的变化趋势,对于城市防洪抗涝具有重要的意义。
3.传统的水位预测方法,通过水文水动力原理建立物理机制分析模型,虽然能揭示水位变化过程的机理和规律,但需要较强的专业背景,且模型求解复杂,可迁移性较差。随着数据量的增大,以机器学习,深度学习为代表的数据驱动模型,通过挖掘数据潜在规律进行水位预测,通常需要对参数进行充分调优,才能获得良好的预测效果。当前使用较多的参数调优方法为网格搜索法和控制变量法,这些方法计算开销大,训练时间长,且无法保证得到在多个优化目标间权衡的参数组合。
4.针对上述情况,亟需本领域工作人员提供一种可以在优化参数组合时权衡各个优化参数的水位预测方法进行预测。


技术实现要素:

5.本发明提供了一种基于nsga-iii优化lstm神经网络的水位预测方法及系统,用以解决现有技术中如何在水位预测模型的优化过程中权衡各个优化参数的技术问题。
6.为解决上述技术问题,本发明提出的技术方案为:一种基于nsga-iii优化lstm神经网络的水位预测方法,包括:
7.获取所要预测时间点前的水位数据;
8.对水位数据进行预处理;
9.将预处理后的水位数据输入进水位预测模型,输出得到水位预测结果;
10.水位预测模型以lstm神经网络为框架并采用nsga-iii进行参数优化。
11.优选的,水位预测模型采用nsga-iii进行优化包括:
12.确定水位预测模型的参数,进行种群初始化;设定目标函数,进行参数组合寻优;获得最优参数组合并保存水位预测模型。
13.优选的,以均方误差最小为目标函数。
14.优选的,水位预测模型采用nsga-iii进行参数优化,具体包括:
15.s1种群初始化作为父代种群p(t);
16.s2将lstm神经网络的浮点运算量、均方误差以及r2系数,作为适应度函数;
17.s3对父代种群p(t)进行选择、交叉以及变异操作生成子代种群q(t)并合并为r(t);
18.s4计算适应度值,对r(t)进行快速非支配排序得到非支配解集:f={f(1),f(2),...},设置层级layer=1,归档集s(t);
19.s5将非支配解集f按层级添加到归档集s(t)中,设定种群规模为数值n,判断s(t)中个体数与数值n的大小:若等于数值n,则下代种群p(t+1)=s(t);若大于n,则令p(t+1)=s(t)
‑ꢀ
f(layer),然后将s(t)的解与参考线进行关联操作,对临界层f(layer)中个体进行环境选择添加到p(t+1)中,直到为p(t+1)的种群规模为数值n;
20.s6若种群迭代次数满足设定轮次,则停止计算,此时得到lstm网络全局最优参数组合种群;否则返回s3;
21.s7对近似最优参数组合种群计算适应度值,并进行非支配排序,选择f(1)中mse最小的参数组合作为最优参数组合;
22.s8将最优参数组合输入进水位预测模型并保存。
23.优选的,还包括对进行参数优化后的水位预测模型进行模型训练,包括以下步骤:
24.获取历史水位数据,对历史水位数据进行预处理并作为样本集;
25.按照预设比例将样本集划分为训练集和测试集;
26.初始化水位预测模型,利用训练集对水位预测模型进行训练;
27.设置损失函数,通过反向传播和优化方法对水位预测模型进行迭代训练,当达到设置的迭代轮数或损失函数值经过设定迭代轮数不再降低时,停止迭代训练得到收敛的水位预测模型。
28.优选的,还包括:利用测试集对水位预测模型进行测试,计算误差,若误差达到设定值,则输出水位预测模型;若误差未达到设定值,则继续对水位预测模型进行迭代训练,直至误差达到设定值。
29.优选的,对历史水位数据进行预处理后还对历史水位数据进行时间窗处理,获得历史水位数据与历史水位数据对应的未来时刻的水位数据。
30.优选的,获取历史水位数据,对历史水位数据进行预处理包括:对历史水位数据进行标准化处理。
31.优选的,进行优化的参数包括以下一种或多种的组合:神经网络隐层神经元数、时间窗尺寸、遗忘率、学习率、训练次数和批规模。
32.本发明的实施例还提供了一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
33.本发明具有以下有益效果:
34.1、本发明的方法获取所要预测时间点前的水位数据,对水位数据进行预处理,将预处理后的水位数据输入进水位预测模型,输出得到水位预测结果,可以精准有效的对水位进行预测,克服了传统水位预测模型求解复杂,可迁移性较差的缺点。
35.2、在优选方案中,本发明的水位预测模型以lstm神经网络为框架并采用nsga-iii进行参数优化,获取参数搜索空间中权衡各个目标的pareto最优解作为参数组合,形成nsga
‑ꢀ
iii-lstm混合模型作为水位预测模型,模型稳定性更强,且考虑了多目标的参数优化过程,在保证良好预测性能的前提下,可有效降低模型计算量。
36.除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。
下面将参照附图,对本发明作进一步详细的说明。
附图说明
37.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
38.图1是本发明优选实施例的基于nsga-iii优化lstm神经网络的水位预测方法的流程图;
39.图2是本发明优选实施例的nsga-iii参数寻优结果的三维图。
具体实施方式
40.以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
41.参见图1,本发明的一种基于nsga-iii优化lstm神经网络的水位预测方法,包括:
42.s101获取所要预测时间点前的水位数据;
43.s102对水位数据进行预处理;
44.s103将预处理后的水位数据输入进水位预测模型,输出得到水位预测结果;
45.水位预测模型以lstm神经网络为框架并采用nsga-iii进行参数优化。
46.在本实施方式中,获取所要预测时间点前的水位数据,所要预测时间点前的水位数据为设定数量的水位值,将预处理后的水位数据输入进水位预测模型,输出得到水位预测结果,利用深度学习方法解决传统水位预测方法专业性较强,迁移困难的问题,利用nsga-iii对水位预测模型的参数进行多目标优化,解决深度学习参数调优带来的计算开销大,训练时间长,无法权衡多个优化目标的问题,在保证预测性能的同时,也有效降低了计算量。
47.可选的,水位预测模型采用nsga-iii进行优化包括:
48.确定水位预测模型的参数,进行种群初始化;设定目标函数,进行参数组合寻优;获得最优参数组合并保存水位预测模型。
49.可选的,以均方误差最小为目标函数。
50.可选的,水位预测模型采用nsga-iii进行参数优化,具体包括:
51.s1种群初始化作为父代种群p(t);
52.s2将lstm神经网络的浮点运算量、均方误差以及r2系数,作为适应度函数;
53.s3对父代种群p(t)进行选择、交叉以及变异操作生成子代种群q(t)并合并为r(t);
54.s4计算适应度值,对r(t)进行快速非支配排序得到非支配解集:f={f(1),f(2),...},设置层级layer=1,归档集s(t);
55.s5将非支配解集f按层级添加到归档集s(t)中,设定种群规模为数值n,判断s(t)中个体数与数值n的大小:若等于数值n,则下代种群p(t+1)=s(t);若大于n,则令p(t+1)=s(t)
‑ꢀ
f(layer),然后将s(t)的解与参考线进行关联操作,对临界层f(layer)中个体进行环境选择添加到p(t+1)中,直到为p(t+1)的种群规模为数值n;
56.s6若种群迭代次数满足设定轮次,则停止计算,此时得到lstm网络全局最优参数
组合种群;否则返回s3;
57.s7对近似最优参数组合种群计算适应度值,并进行非支配排序,选择f(1)中mse最小的参数组合作为最优参数组合;
58.s8将最优参数组合输入进水位预测模型并保存。
59.需要说明的是,父代种群p(t)初始化的种群大小为n,每个个体有7个决策变量,分别对应了7个基因:隐藏神经元个数units1,隐藏神经元个数units2,时间窗尺寸、训练次数、批规模,遗忘率和学习率对应的实数值。种群初始化时,采样实数编码方式,个体的每个决策变量在其区间范围内随机选择一个作为初始值形成个体,如[48,48,12,50,32,0.2,0.1],生成n个个体后,种群初始化完成,其中7个决策变量对应的范围(即参数搜索空间):隐藏神经元个数units1,48-192,步长为48;隐藏神经元个数units2,48-192,步长为48;时间窗尺寸,12-48,步长12;训练次数,50-200,步长为50;批规模batchsize,32-128,步长为32;遗忘率,0.2-0.6,步长为0.1;学习率learningrate,[0.001,0.01,0.1]。
[0060]
采用nsga-iii对lstm神经网络预测模型涉及到的参数进行优化时,获取参数搜索空间中权衡各个目标的pareto最优解作为参数组合。
[0061]
在本可选的实施方式中,采用nsga-iii优化lstm模型参数取值,设置种群中个体为 100,迭代次数为50,模拟二进制交叉sbx的交叉概率为0.9,分布指数为20,多项式变异 pm的变异概率0.1,分布指数为20。
[0062]
参见图2,该结果为经过50代进化后得到的近似最优解集,经比对f(1)中的三个个体,确定lstm神经网络的最优参数组合个体为[48,192,47,200,32,0.2147,0.001],其对应的适应度值分别为[mse=0.007257,r2_score=0.9938,flops=407193]。
[0063]
可选的,还包括对进行参数优化后的水位预测模型进行模型训练,包括以下步骤:
[0064]
获取历史水位数据,对历史水位数据进行预处理并作为样本集;
[0065]
按照预设比例将样本集划分为训练集和测试集;
[0066]
初始化水位预测模型,利用训练集对水位预测模型进行训练;
[0067]
设置损失函数,通过反向传播和优化方法对水位预测模型进行迭代训练,当达到设置的迭代轮数或损失函数值经过设定迭代轮数不再降低时,停止迭代训练得到收敛的水位预测模型。
[0068]
在本可选的实施方式中,损失函数为均方误差mse,满足下式:
[0069][0070]
其中,p为某时间点的水位预测值,l为该时间点的实际水位值,s为时间窗尺寸大小, m为训练集序列大小。
[0071]
可选的,还包括:利用测试集对水位预测模型进行测试,计算误差,若误差达到设定值,则输出水位预测模型;若误差未达到设定值,则继续对水位预测模型进行迭代训练,直至差达到设定值。
[0072]
在本可选的实施方式中,误差计算采用均方误差mse,当均方误差越小,误差也越小,水位预测模型预测精度就越高。
[0073]
在本可选的实施方式中,误差计算采用均方误差mse,标准化均方根误差nrmse和r2_score三项指标。均方误差,均方根误差的值越小,r2_score越大,代表预测精度越高。
[0074]
可选的,对历史水位数据进行预处理后还对历史水位数据进行时间窗处理,获得历史水位数据与历史水位数据对应的未来时刻的水位数据。
[0075]
在本可选的实施方式中,设定时间窗尺寸为window_size=s,处理后:训练集输入可表示为:x={x1,x2,
……
,x
m-s
},每个时间步的输入xi={li,l
i+1

……
,l
i+s-1
}。训练集实际对比数据可表示为:y={y1,y2,
……
,y
m-s
},每个时间步的实际对比数据yi={l
i+1

……
,l
i+s
}, 共s*(m-s)个。
[0076]
需要说明的是,x={x1,x2,
……
,x
m-s
}为输入数据,y={y1,y2,
……
,y
m-s
}为输入数据对应的预测数据。
[0077]
可选的,获取历史水位数据,对历史水位数据进行预处理包括:对历史水位数据进行标准化处理。
[0078]
在本可选的实施方式中,对历史水位数据进行标准化处理具体包括:对数据进行归一化预处理,具体采用min-max标准化方法。
[0079]
可选的,进行优化的参数包括以下一种或多种的组合:神经网络隐层神经元数、时间窗尺寸、遗忘率、学习率、训练次数和批规模。
[0080]
在本可选的实施方式中,按照固定步长随机选择多组参数组合与最优参数组合进行对比。
[0081]
其中,随机参数组合1为:[48,144,24,50,64,0.2,0.1];
[0082]
随机参数组合2为:[144,192,36,200,96,0.5,0.001];
[0083]
随机参数组合3为:[144,96,48,200,64,0.3,0.001]
[0084]
参见表1,参数组合的预测性能比对表,迭代运行20次,计算mse,nrmse,r2_score的均值和标准差,后附各参数组合对应模型的flops。
[0085] msenrmser2_scoreflops最优参数组合0.00775(0.00076)0.0269(0.00128)0.9771(0.0022)407193随机参数组合10.03159(0.02118)0.0515(0.01719)0.9053(0.0634)250473随机参数组合20.00789(0.0011)0.0271(0.00193)0.9765(0.0035)726201随机参数组合30.00877(0.0019)0.0284(0.00289)0.9741(0.0056)407385
[0086]
表1
[0087]
可见,最优参数组合比随机选择参数更低的均方误差mse、标准化均方误差nrmse和更高的r2_score,且水位预测模型稳定性更强。
[0088]
实施例2:
[0089]
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
[0090]
该系统可以实现上述的基于nsga-iii优化lstm神经网络的水位预测方法的各个实施例,且能达到相同的有益效果,此处,不做赘述。
[0091]
综上可知,本发明获取所要预测时间点前的水位数据,对所述水位数据进行预处理,将预处理后的水位数据输入进水位预测模型,输出得到水位预测结果,所述水位预测模型以 lstm神经网络为框架并采用nsga-iii进行参数优化。本发明的水位预测模型稳定性更强,且考虑了多目标的参数优化过程,在保证良好预测性能的前提下,可有效降低模型计算量,采用本发明的水位预测模型可以精准有效的对水位进行预测,克服了传统水位预测
模型求解复杂,可迁移性较差的缺点。
[0092]
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0093]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0094]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0095]
应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0096]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0097]
此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0098]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0099]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例
性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施方式进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1