本发明属于咸潮预测,尤其涉及一种基于lstm-gru-cnn集成模型的咸潮预测方法。
背景技术:
1、咸潮是指海水倒灌,侵入淡水河口或河道,造成水体变咸的一种天然水文现象。一般发生于冬季或干旱的季节,出现在河海交汇处,如长江三角洲与珠江三角洲等地区的周边地域。咸潮灾害已经成为限制水资源开发利用和经济可持续发展的重要因素。我国目前的咸潮预测方法主要包括现场观测分析、物理模型试验和数值模拟法。然而,现场观测分析法受限于观测设备和人力资源,难以实现连续和大范围的监测,预测精度也受到观测者主观判断的影响;物理模型试验法往往受到模型缩放效应和实验环境因素的限制,难以完全复现真实河口环境;数值模拟法存在预测精度不高的问题,且大多数研究仍然局限于二维数学模型,对于三维数学模型的应用尚不普遍;对深度学习方法的采用相对较少。因此如何提高咸潮预测精度是目前亟需解决的技术问题。
技术实现思路
1、本发明的目的在于提供一种基于lstm-gru-cnn集成模型的咸潮预测方法,以解决上述技术问题。
2、为实现上述目的,本发明提供如下技术方案:
3、本发明公开一种基于lstm-gru-cnn集成模型的咸潮预测方法,所述方法包括以下步骤:
4、步骤1、构建综合数据集:获取研究区域某个时段内多个泵站实测河口咸度数据、上游流量数据、河口潮位数据,构建综合数据集;
5、步骤2、数据预处理:对综合数据集中的数据进行预处理,将经过预处理的数据按比例划分为训练期数据和测试期数据;
6、步骤3、构建lstm-gru-cnn集成模型并进行训练:构建lstm-gru-cnn集成模型,利用训练期数据对模型进行训练,设定滞后时间步数和预测时间步数,以设定滞后时间步数的训练期的综合数据作为模型输入,以设定预测时间步数的训练期的各泵站的实测河口咸度数据作为模型输出,训练模型直至模型训练完成;
7、步骤4、模型测试与评价:将测试期数据的综合数据输入到训练完成的集成模型中,其中滞后时间步数和预测时间步数与训练时保持一致,进而得到模型预测结果,将模型预测结果反归一化得到预测河口咸度数据,将预测河口咸度数据与各泵站实测河口咸度数据进行对比,并采用评价指标判断模型是否测试通过;
8、步骤5、咸潮预测:利用测试通过的模型对研究区域目标时段的河口咸度进行预测,以执行相应的咸潮预测工作。
9、进一步的是,步骤2中所述预处理过程包括数据合并、缺失值填充、数据归一化以及格式转换;
10、所述数据合并为根据序列的最小值和最大值生成一个包含每小时时间点的时间序列,使用左连接将原始数据和时间序列合并,确保所有时间点都包含在内;
11、所述缺失值填充为利用前项填充的方法补全缺失咸度、流量和潮位数据,即用缺失值前的最近一个非缺失值来填充缺失值,进而得到完整的数据;
12、所述数据归一化为使用python中scikit-learn库内的minmaxscaler类进行数据归一化,将数据特征值缩放到区间[0,1]内;
13、所述格式转换为将原始数据转换为监督学习的格式,即将数据划分为输入特征和输出标签两部分,并保持它们之间的对应关系。
14、进一步的是,步骤2中所述训练期数据和测试期数据的划分比例为7:3。
15、进一步的是,步骤3中所述构建lstm-gru-cnn集成模型的具体过程为:
16、步骤31、使用python中keras库内layers模块的lstm、conv1d、maxpooling1d、flatten、gru、dense以及dropout层,分别构建lstm模型、gru模型以及cnn模型,并分别设定三个模型的初始参数;
17、步骤32:通过构建一个输入层来接收数据,将输入层的输出分别连接到lstm模型、gru模型、cnn模型的输入;
18、步骤33:使用keras库内layers模块的concatenate层将三个模型的输出连接在一起,并将它们提取的特征融合;
19、步骤34:对连接后的输出添加一个dense层,其输出大小为特征数量乘以输出时间步数,激活函数使用relu,得到最终的堆叠输出;
20、步骤35:使用keras库内models模块的model类构建lstm-gru-cnn集成模型,则集成模型的输入为步骤32中构建的输入层,模型的输出为步骤34中得到的堆叠输出。
21、进一步的是,步骤3中所述训练模型直至模型训练完成的具体过程为:
22、(1)先使用普通损失函数,根据使用普通损失函数的初始模型预测结果分析,对步骤1中所述的多个泵站分别进行权重设定,以调整模型对不同泵站的重视程度;
23、(2)定义加权损失函数,使用均方对数误差计算每个泵站的预测值和真实值之间的相对误差;由于多个泵站的数据均包含在综合数据集中,因此通过python的切片操作来实现各个泵站相应行列位置的数据的提取;
24、(3)根据权重计算相应泵站的损失,将各泵站的损失加权求和,得到总的损失值,作为该函数的返回值,训练结束后输出加权损失函数的变化曲线图,分析图像,当函数收敛时,则表示模型训练完成。
25、进一步的是,步骤4中所述采用评价指标判断模型是否测试通过的具体过程为:
26、所述评价指标包括:纳什效率系数nse、精确率、准确率、召回率以及各泵站咸潮次数预测与实测比值;
27、nse的计算公式为:
28、
29、式中:yi为第i时刻的实测值;为第i时刻的预测值;为所有实测值的平均值;n为实测值总数目;
30、精确率的计算公式:
31、
32、准确率的计算公式:
33、
34、召回率的计算公式:
35、
36、式中:tp为正确地预测正类别的样本数量;tn为正确地预测负类别的样本数量;fp为错误地将负类别的样本预测为正类别的数量;fn为错误地将正类别的样本预测为负类别的数量;正类别指咸潮,负类别指非咸潮;
37、咸潮次数预测与实测比值的计算公式:
38、
39、计算模型的各评价指标,判断各评价指标是否达到合格阈值,当各评价指标均达到设定的合格阈值时,表示模型测试通过。
40、进一步的是,所述nse合格阈值为0.6;所述精确率、准确率、召回率的合格阈值均为0.7;所述咸潮次数预测与实测比值的合格阈值区间为[0.8,1.2]。
41、本发明的有益效果是:本发明所述的基于lstm-gru-cnn集成模型的咸潮预测方法,解决了目前咸潮预测领域中存在的数据需求量大、预测精度不高等技术问题,相对于目前常用的数值模拟方法来说,本发明所述方法数据需求量小、建模过程简单,能够实现对咸潮的准确预测,提高了咸潮预测的精度和效率,具有广泛的适用性和有效性。
42、下面结合附图及具体实施方式对本发明作进一步详细说明。