一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于长短期记忆模型的海底边界层波动预测方法

2022-07-30 12:10:29 来源:中国专利 TAG:


1.本发明涉及海底工程环境预测技术领域,具体而言,特别涉及一种基于长短期记忆模型的海底边界层波动预测方法。


背景技术:

2.海底边界层是指海床界面两侧水体与沉积物有着强烈的物质、能量交换的区域。一般来说,海底边界层的具体范围既包含海床界面以上1~2m 的底层海水,也包括海床浅表沉积物层。人类在海洋上的工程和科研活动大都绕不开海底边界层。海底边界层水体的温度和压力直接影响着天然气水合物的稳定性,因此海底边界层环境要素的观测对于天然气水合物的研究和开发有着重要意义。海水悬浮颗粒物浓度主要由海水浊度表征,而悬浮颗粒物浓度又是泥沙运移、沉积和再悬浮等运动过程的间接体现,因此边界层的海水浊度也极具研究价值。
3.目前,海洋环境要素观测设备的研制已经相对成熟,许多设备都能够实现对海底边界层水体的温度、压力、浊度以及盐度等环境要素的直接观测,但对于设备某一传感器损坏后造成的数据缺失或者某一段数据明显不合理的问题,仍然没有较好的方法对其进行准确的数据补齐或者数据校正。目前,先进的海洋环境要素观测设备一般都集成了温度、压力、浊度以及盐度传感器,在海底边界层长期观测过程中,设备传感器难免会出现一些无法预知的问题造成数据缺失或者测量数据明显不合理的情况,这种情况下这一时间段测得的数据就无法使用,可能会对科研或工程进程造成不利影响。


技术实现要素:

4.为了弥补现有技术的不足,本发明提供了一种基于长短期记忆模型的海底边界层波动预测方法,用以解决海底边界层环境要素监测设备传感器损坏后数据缺失或不合理的问题。
5.本发明是通过如下技术方案实现的:一种基于长短期记忆模型的海底边界层波动预测方法,其特征在于,具体包括以下步骤:步骤1:利用read.csv()函数读取测得的海底边界层观测到的海水环境要素包括温度、压力、浊度及盐度,并调用matplotlib包中的pyplot()函数进行绘图,得到海底边界层温度、压力、浊度以及盐度的数据图;步骤2:利用minmix方法及fit_transform()函数对步骤1中加载的数据进行特征标准化处理,得到处理后的大小在[0,1]的归一化数据;步骤3:利用append()方法将所需要的输入和输出数据按照顺序拼接成监督学习数据的形式,并利用drop()方法多余的数据列删除,得到一组监督学习格式的数据;步骤4:对步骤3中得到的监督数据进行切分为训练数据和验证数据,也可将训练数据和验证数据手动分割为两个不同的csv文件,划分监督数据的输入和输出,得到一组训练集和一组验证集;
步骤5:将步骤4中得到的训练集以及验证集均利用reshape()函数进行重塑型,得到具有样本、时间步长和特征三维向量的训练集和测试集;步骤6:构建长短期记忆模型并进行参数调整,将训练集代入模型对模型进行训练,得到权重模型;长短期记忆模型是循环神经网络的一种,其基于门控系统和记忆细胞完成工作,包括;输入门完成输入信息的处理,可根据当前输入数据,上一时刻记忆细胞的值以及上一时刻的输出决定输入数据中的哪些信息将被留下并进入到当前时刻记忆细胞;输出门决定输出信息,其结合上一时刻的输出和当前时刻的输入来决定结果输出;遗忘门决定输入是否重要到能被记住及能不能被输出,其根据当前输入数据,上一时刻记忆细胞的值以及上一时刻的输出决定输入数据中的哪些信息将被遗忘;步骤7:将步骤5中得到的验证集输入步骤6得到的权重模型,对海底边界层欲进行预测的环境要素进行预测,得到输出数据的预测值,调用长短期记忆模型并利用验证集中的输入数据进行输出结果预测得到归一化的预测结果;步骤8:利用pyplot()方法绘制步骤7中的模型损失趋势线,得到训练集和验证集的损失趋势线;步骤9:利用inverse_transform()方法对预测值和实际验证值进行反转缩放,得到反归一化后的预测值和实际验证值,并利用 sqrt(mean_squared_error()) 函数计算出预测值和实际值之间的均方根误差;步骤10:利用pyplot()方法绘制反归一化后的预测数据和验证集中的输出列进行对比。
[0006]
作为优选方案,步骤1中,使用for循环将每一环境要素都绘制在一张图上,使用subplot() 函数设置图像的行数和列数,使用show() 函数展示图像并观察。
[0007]
作为优选方案,步骤2中minmax方法和fit_transform() 函数对特征进行标准化,归一化,可加快求解速度;数据经转化后会被收敛到[0,1]之间,具体转换公式为:式中:max(x)和min(x)分别是训练集和测试集中的最大值和最小值,x是输入值,z是x的转换后的归一化值。
[0008]
作为优选方案,步骤3中具体包括以下步骤:先定义监督学习函数series_to_supervised(),给定输入、输出序列的长度,该函数可自动将时间序列数据转型为适用于监督学习的数据,它的返回值为转型后适用于监督学习的数据帧,我们可以用新的数据帧来进行不同时间步长的时间序列预测;调用上述监督学习函数将数据转换为适用于监督学习的数据并用drop()函数将非输入列和非输出列删除。
[0009]
作为优选方案,步骤4中训练数据指准确观测的海底边界层环境要素数据,验证数
据指欲预测时间范围内的环境要素数据;输入为前一时间步的温度、压力、浊度及盐度的监督数据,输出为后一时间步的欲预测环境要素的监督数据;所述步骤5中样本大小为输入监督数据的行数;时间步长为两数据帧之间的时间间隔,可自行设计大小;特征为输入特征的个数。
[0010]
作为优选方案,步骤6中,所述输入门控制将当前输入数据更新为存储单元的状态值,其计算过程如下:式中:是sigmoid函数,是权重矩阵,是偏差。
[0011]
输出门控制存储单元的状态值的输出,其计算过程如下:式中:是权重矩阵,是偏差。
[0012]
遗忘门控制将历史数据更新为记忆单元的状态值,其计算过程如下:式中:是权重矩阵,是偏差。
[0013]
作为优选方案,步骤8中调用pyplot() 函数绘制训练期间的训练和测试损失趋势线,验证模型训练效果,若训练损失和验证损失之间差距很大,意味着模型过拟合;若训练损失很大,意味着模型欠拟合;若训练损失和验证损失重叠或彼此接近,则意味着模型现在适合预测。
[0014]
作为优选方案,步骤9中反转缩放是利用inverse_transform() 方法将归一化后的数据转换为实际数据;方根误差是利用 sqrt(mean_squared_error()) 函数计算预测值和实测值之间的均方差,其计算过程如下:式中:n为数据个数,为第i个数据的值,为n个数据平均值。
[0015]
作为优选方案,步骤10中将反归一化后的预测列和观测到的这一部分数据绘制在一张图上进行对比,若单纯进行预测而无这一部分观测数据则省略步骤10。
[0016]
本发明由于采用了以上技术方案,与现有技术相比使其具有以下有益效果:本发明对已观测到的海底边界层温度、压力、浊度、盐度数据转化为监督数据之后再进行长短期记忆模型的训练,应用后期观测到的以上环境要素数据中的三种作为输入,得到另外一种环境要素的预测结果,以预测和验证结果的损失趋势线来表征模型的拟合效果,以均方根误差来表征预测准确程度。采用本发明可较准确地实现对海底边界层环境要素观测中传感器损坏后未测得数据的补充或不合理数据的校正。
[0017]
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
[0018]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为本发明基于长短期记忆模型的海底边界层波动预测方法的流程图;图2为长短期记忆模型简单结构图;图3为已获取的海底边界层环境要素的训练集图像;图4为海底边界层环境要素的验证集图像;图5为训练集和验证集在模型训练期间的损失趋势线图;图6为预测特征与验证集中测得的准确数据的对比图。
具体实施方式
[0019]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0020]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0021]
下面结合图1至图6对本发明的实施例的基于长短期记忆模型的海底边界层波动预测方法进行具体说明。
[0022]
本发明提出了一种基于长短期记忆模型的海底边界层波动预测方法,如图1所示,具体包括以下步骤:步骤1:利用read.csv()函数读取测得的海底边界层观测到的海水环境要素包括温度、压力、浊度及盐度,并调用matplotlib包中的pyplot()函数进行绘图,得到如图3和图4所示的海底边界层温度、压力、浊度以及盐度的数据图;以突出数据的波动特征;使用for循环将每一环境要素都绘制在一张图上,使用subplot() 函数设置图像的行数和列数,使用show() 函数展示图像并观察。
[0023]
步骤2:利用minmix方法及fit_transform()函数对步骤1中加载的数据进行特征标准化处理,得到处理后的大小在[0,1]的归一化数据;minmax方法和fit_transform() 函数对特征进行标准化,归一化,可加快求解速度;数据经转化后会被收敛到[0,1]之间,具体转换公式为:式中:max(x)和min(x)分别是训练集和测试集中的最大值和最小值,x是输入值,z是x的转换后的归一化值。
[0024]
步骤3:利用append()方法将所需要的输入和输出数据按照顺序拼接成监督学习数据的形式,并利用drop()方法多余的数据列删除,得到一组监督学习格式的数据;具体包括以下步骤:先定义监督学习函数series_to_supervised(),给定输入、输出序列的长度,该函数可自动将时间序列数据转型为适用于监督学习的数据,它的返回值为转型后适用于监督学习的数据帧,我们可以用新的数据帧来进行不同时间步长的时间序列预测;调
用上述监督学习函数将数据转换为适用于监督学习的数据并用drop()函数将非输入列和非输出列删除。
[0025]
步骤4:对步骤3中得到的监督数据进行切分为训练数据和验证数据,也可将训练数据和验证数据手动分割为两个不同的csv文件,划分监督数据的输入和输出,得到一组训练集和一组验证集;训练数据指准确观测的海底边界层环境要素数据,验证数据指欲预测时间范围内的环境要素数据;输入为前一时间步的温度、压力、浊度及盐度的监督数据,输出为后一时间步的欲预测环境要素的监督数据;步骤5:将步骤4中得到的训练集以及验证集均利用reshape()函数进行重塑型,得到具有样本、时间步长和特征三维向量的训练集和测试集;样本大小为输入监督数据的行数;时间步长为两数据帧之间的时间间隔,可自行设计大小,但不宜过大;特征为输入特征的个数。
[0026]
步骤6:构建长短期记忆模型并进行参数调整,将训练集代入模型对模型进行训练,得到权重模型;长短期记忆模型是循环神经网络的一种,是普通循环神经网络的改进模型,能够有效解决循环神经网络中信息的长期依赖以及梯度爆炸问题,其基于门控系统和记忆细胞完成工作,基本结构如图2所示,包括;输入门完成输入信息的处理,可根据当前输入数据,上一时刻记忆细胞的值以及上一时刻的输出决定输入数据中的哪些信息将被留下并进入到当前时刻记忆细胞;输出门决定输出信息,其结合上一时刻的输出和当前时刻的输入来决定结果输出;遗忘门决定输入是否重要到能被记住及能不能被输出,其根据当前输入数据,上一时刻记忆细胞的值以及上一时刻的输出决定输入数据中的哪些信息将被遗忘;输入门控制将当前输入数据更新为存储单元的状态值,其计算过程如下:式中:是sigmoid函数,是权重矩阵,是偏差。
[0027]
输出门控制存储单元的状态值的输出,其计算过程如下:式中:是权重矩阵,是偏差。
[0028]
遗忘门控制将历史数据更新为记忆单元的状态值,其计算过程如下:式中:是权重矩阵,是偏差。
[0029]
步骤7:将步骤5中得到的验证集输入步骤6得到的权重模型,对海底边界层欲进行预测的环境要素进行预测,得到输出数据的预测值,调用长短期记忆模型并利用验证集中的输入数据进行输出结果预测得到归一化的预测结果;步骤8:利用pyplot()方法绘制步骤7中的模型损失趋势线,得到训练集和验证集
的损失趋势线,如图5所示;调用pyplot() 函数绘制训练期间的训练和测试损失趋势线,验证模型训练效果,若训练损失和验证损失之间差距很大,意味着模型过拟合;若训练损失很大,意味着模型欠拟合;若训练损失和验证损失重叠或彼此接近,则意味着模型现在适合预测。
[0030]
步骤9:利用inverse_transform()方法对预测值和实际验证值进行反转缩放,得到反归一化后的预测值和实际验证值,并利用 sqrt(mean_squared_error()) 函数计算出预测值和实际值之间的均方根误差;反转缩放是利用inverse_transform() 方法将归一化后的数据转换为实际数据;方根误差是利用 sqrt(mean_squared_error()) 函数计算预测值和实测值之间的均方差,其计算过程如下:式中:n为数据个数,为第i个数据的值,为n个数据平均值。
[0031]
步骤10:利用pyplot()方法绘制反归一化后的预测数据和验证集中的输出列进行对比,如图6所示。将反归一化后的预测列和观测到的这一部分数据绘制在一张图上进行对比,若单纯进行预测而无这一部分观测数据则省略步骤10。
[0032]
在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0033]
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0034]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献