APP下载

改进非线性外源自回归网络的潮位实时预测

2022-09-29李连博武文昊章文俊尹建川朱振宇

科学技术与工程 2022年22期
关键词:潮汐神经网络误差

李连博, 武文昊, 章文俊, 尹建川, 朱振宇

(1.大连海事大学航海学院, 大连 116026; 2.广东海洋大学海运学院, 湛江 524088)

潮汐是在月球和太阳引力作用下形成的海水周期性涨落现象,是重要的海洋物理要素之一,潮汐预报是港口与航道管理、水运资源开发、海洋资源利用、救生打捞和海上军事活动等涉海人类活动的基础数据支撑技术手段。随着科学技术的发展,潮汐预报在航海中的影响逐渐增大。尤其是大型船舶,在进出港口、通过浅滩及架空障碍物等情况中,如果能及时准确地得到潮汐数据,船舶的运营效率和航行安全就能得到保障,从而避免船舶搁浅、刮碰桥梁或船体倾覆等危害海上安全的事故[1]。

关于潮汐的预测最常用的是数学统计方法,从最初的潮波微分方程到潮汐调和分析以及潮汐响应分析,不断衍生出更精确的数学模型,近年来依然有新方法被提出。Tawil等[2]就潮汐预报提出了两种方法,即基于全三维数值方法和基于潮流的线性逼近方法,其中前者对数据的需求量大,耗时长,但是结果精确,后者可以在很长一段时间内对潮流数据进行非常快速的评估,但准确性有所下降; Okwuashi等[3]根据偏最小二乘拟合回归法 (partial least squares regression, PLSR) 建立模型来预测潮位,在传统最小二乘模型 (LS) 基础上进行了优化提升,通过减少回归方程的数量并丢弃冗余系数,最终确定最有效系数,预测精度也较传统LS模型得到了提升。王森等[4]提出了一种基于全球卫星定位系统的多路径反射测量技术用于潮位预测,结果显示所提出的方法与实测数据相关性为0.97,预测精度可达分米级,但是由于调和分析方法的局限性,无法克服非线性气象因素的影响。可见数学方法计算步骤复杂,数据需求量大以及易受各种随机干扰影响的缺陷。

近年来,人工智能技术迅猛发展,由于其较强的搜索,推理,规划和自学习能力,在工程计算领域得到了广泛的应用,如人工神经网络(artificial neural network, ANN)、长短期记忆网络(long short-term memory, LSTM)[5]、模糊神经网络(fuzzy neural networks)[6]、小波神经网络(wave neural networks, WNN)[7]、径向基函数神经网络(radial basis function, RBF)[8]等,同时在潮位预测方面出现了众多成果,Raj等[9]利用ANN对澳大利亚北部海岸线周围平均海平面进行了预测,在选取的4个站点均取得了良好效果,预测值的均方根误差最低达0.04 m,但是不能证明该研究的普适性和泛用性;Tu等[10]提出了一种新的实时潮位预测方法,首先利用调和分析来预测天文潮汐,再通过LSTM网络和逆距离加权及其插值算法对整体预测结果进行校正。实验结果显示预测相关系数为0.98,均方根误差最低达0.05 m,由于模型仅考虑了风对结果的影响,可见预测精度可进一步优化;Granata等[11]提出了一种M5P回归树模型用于预测威尼斯城的潮位,结果表明预测相关系数可达0.99,相对绝对误差 (RAE) 最低为5.98%,但是没有考虑气象因素;总的来看,目前针对潮汐预报的研究成果已相对完善,预测精度也相对较高,但仍存在一些不足,如预测结果不稳定、需求数据量过大、非线性因素干扰等问题。

在预报潮位时,潮位数据可以看作时间序列。NARX 神经网络的结构特点使得它针对时间序列有更好的学习效率,并且有更高的预测精度。此前已有多个成功应用NARX神经网络预测数据的实例[12-16],其应用从工程计算领域到金融领域均有涉及,且针对动态时间序列预测效果尤为出色,但目前暂时没有应用于潮汐预测领域。鉴于NARX神经网络在预测方面的优势,同时为了克服目前潮汐预测模型存在的缺陷,提出一种基于改进的NARX神经网络的实时潮汐预报模型(MS-NARX),其结构简单,预测结果精确稳定,能充分结合非线性气象因素进行预测,将该模型带入实测潮位数据进行仿真预测,同时选取传统NARX以及SAPSO-BP神经网络的预测结果作为对照来验证MS-NARX神经网络预测的可行性。

1 潮位预测方法

1.1 传统NARX神经网络

NARX神经网络是一种用于描述非线性离散系统的模型,全称为非线性自回归模型[17-19],是非线性动态系统中,应用最广泛的一种神经网络,且适用于时间序列预测,并已被应用于解决多个领域的非线性序列预测问题,其对历史数据的记忆作用增强了其对动态数据的处理能力,提高了对复杂序列的预测性能[20-23]。基本结构如图1所示。

xt为神经网络的外部输入;h1, h2, …,hn为神经网络内部隐藏层的各神经元;yt为神经网络在t时刻输出;xt-1和yt-1分别为t-1时刻的神经网络的输入和输出图 1 NARX神经网络结构示意图Fig.1 NARX neural network structure diagram

NARX神经网络的模型为

yt=f(yt-1,yt-2,…,yt-ny,xt-1,xt-2,…,xt-nx)

(1)

式(1)中:nx和ny为输入和输出的最大时延阶数;f为网络拟合得到的非线性函数。由式(1)可知,NARX神经网络的输出受前一时刻输入及输出数据的影响,标准的NARX神经网络结构中采用闭环模式,神经网络的输出反馈给输入,如图2所示,图2中TDL(tapped delay line)表示时延阶数。然而,由于NARX神经网络训练的预期输出是已知的,因此建立了图3所示的串并联神经网络的开环模型。在这种模式下,所需的输出被反馈到输入端。这种方法有两个优点:一是NARX神经网络的预测效果更准确;二是将NARX神经网络转化为一个简单的前向神经网络,可以利用静态神经网络的建模功能。由于NARX神经网络的期望输出是已知的,是实测潮位数据,因此采用串并联模型进行训练和预报[24]。

图2 NARX神经网络的两种结构图Fig.2 Two structural diagrams of NARX neural network

为了使预测结果更加稳定,在NARX模型的基础上加入了模块化潮汐预报方法,天文潮部分主要由天体引潮力引起,具有明显的变化规律; 非天文潮部分受到环境因素影响,其变化没有明显规律,展现出很强的随机性。该模型首先利用调和分析法的天文潮部分,获得潮汐的整体变化规律,再利用NARX神经网络结合滑动时间窗对非天文潮部分进行预测,修正预测结果,达到精确预报潮汐的目的。具体步骤框图如图3所示。

图3 MS-NARX神经网络的潮汐预报模型框图Fig.3 Tidal prediction model block diagram of MS-NARX neural network

1.2 调和分析法

根据对于潮汐的长期观测得知,潮汐是由一系列谐波振动,即分潮组成的。分潮的周期同引潮力各分力场的周期相互对应。潮位Yt计算公式[25]为

(2)

式(2)中:A0为平均潮位高度;N为分潮的总数;hi为各分潮的振幅;ωi为各分潮频率;εi为各分潮相位。

为了简化,相位通常近似为0,式(2)也可转化为

(3)

Ai和Bi为分潮的两个系数且与hi及εi有如下关系,可以从一个月以上的潮汐预报数据中求出。

(4)

(5)

调和分析法是潮汐预报方面最传统的技术[26],简单实用,但也存在缺点。首先,调和分析通常使用18 a以上的历史记录来提取所有分潮数据,通常情况下,可用的历史记录数量很少,从而导致误差增大;另外,分潮的选取与观测时段的长度以及观测记录之间的时间间隔都有关系,如果与这两者搭配不好的话,就可能得到不准确的结果,甚至可能计算不出结果[27-28]。本文选用了T-tide工具包来计算潮汐调和分析的数据,输入参数包括要分析的潮位数据,数据的间隔设置为1 h,验潮站的经纬度25° 43.9′N、80° 9.7′W,数据的起始时间是2020年6月1日GMT0000。输出参数包括调和分析得到的分潮的名字,根据数据的长度确定,越长的数据得到的分潮越多。由于数据有限,本文在基础的四大分潮 (M2,S2,K1,O1)之外仅额外取得了4个分潮 (M4, Q1, P1, K2)。另外输出参数还包括分潮的角速率,分潮振幅以及振幅的误差,分潮迟角以及迟角的误差。通过信噪比(SNR)来衡量分潮是否显著,计算公式为

(6)

式(6)中:hi为分潮振幅;Δhi为振幅误差;一般情况下SNR>2的分潮是显著分潮。综合以上输入和输出参数,通过MATLAB软件运行T-tide工具包最终可得到调和分析回报的天文潮位。

1.3 SAPSO-BP神经网络

基本反向传播BP(back propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。该网络主要包括信号前向传递和误差反向传播两个方面,即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向反向进行。如果输出层得不到实际输出,则转入反向传播,根据预测误差调整整个网络的权值和阈值,从而使BP神经网络预测输出逐渐向实际输出靠拢[29]。

BP神经网络在应用中由于采用了非线性规划中的最速下降法,通常存在容易陷入局部极小状态以及收敛速度慢,学习效率低等缺点,其预报结果还有很大提升空间,所以本文引入了自适应粒子群(SAPSO)算法对BP神经网络进行优化。粒子群算法源于模拟鸟群捕食的行为,鸟群中的每只鸟代表每个粒子,食物代表优化解,算法的运算原理如下:首先随机生成一组作为随机解的粒子,以及各自在搜寻空间中的位置和速度,每个粒子都有对应的由所优化的问题决定的适应度函数值。每一次迭代循环过程中,每个粒子以一定的速度通过跟踪个体极值和群体极值来更新自身的位置,个体极值是粒子在寻优过程中自身所寻找到的最优值,而群体极值则是整个种群在寻优过程中获得的全局最优值。为了加强优化性能,借鉴了遗传优化算法中的变异方法(simple mutation),在基础粒子群优化的基础上引入了自适应变异算法SA(self-adaptive),即在每次粒子更新之后,以一定概率重新初始化粒子,构成了动态化的SAPSO-BP神经网络。

2 预测数据选取

选用美国比斯坎湾(Miami Biscayne Bay,25°43.9′N,80°9.7′W)的潮汐数据作为验证预测模型性能的样本。经验表明,进行相对较精确的潮汐预报,需要对潮位数据进行长时间的观测和采样,并对其进行仿真训练。本文选取了2020年6月1日GMT0000至2020年7月30日GMT2300,共60 d的港口实测潮汐数据进行仿真试验,实测数据值每隔1 h取样一次,所以观测数据共1 440组,将数据列出可得到该时段的潮位时间序列,另外数据集还包括与时间对应的其他非线性气象因素数据(风速、风向、阵风速、气温、气压),以上数据皆可通过NOAA网站(https://tidesandcurrents.noaa.gov/)查询并下载。其中前1 200组数据用于调和分析及神经网络的仿真训练,后240组数据则用于仿真预测。由图4可见,实测潮位虽有一定周期性,但周期之间的差距较大,由于理论计算过程中只考虑了天体引力以及地球自转等线性因素,在实际观测中,存在许多影响潮位的非线性因素,如风、浪、流以及人类活动等对潮位造成的随机影响,另外,受季节影响的海平面变化及全球气候变化等因素的影响也会导致实测潮位的不确定波动。

图4 潮位实测数据Fig.4 The tide level observation data

为了更加直观地对预测数据进行对比,引入了平均绝对误差MAE(mean absolute error),均方误差MSE(mean square error)及均方根误差RMSE(root mean square error)三个指标作为判断预测效果的主要依据。

MAE是预测误差的绝对值的平均,能更好地反映潮位预测值误差的实际情况, 计算公式为

(7)

式(7)中:xi为第i个数据的预测误差。

MSE是指参数估计值与参数真值之差平方的期望值,可以评价数据的变化程度,在误差对比分析中,其值越小,说明模型预测潮位数据具有更高的精确度,计算公式为

(8)

RMSE是均方误差的算术平方根,计算公式为

(9)

式中:n为数据个体数。

3 潮位预测仿真及分析

3.1 NARX神经网络预测分析

在预测之前,需要对NARX神经网络的输入初始参数进行设定,其主要内容包括NARX神经网络的输入层节点数、隐藏层节点数、输出层节点数及时延阶数,等等。针对NARX神经网络输入层的设置与BP神经网络不同是因为 NARX模型为动态神经网络,善于通过分析动态数据来拟合物理模型,且能够储存之前时刻的记忆,对于非线性拟合有着更强的映射能力,所以针对影响潮位数据的众多非线性因素,包括风速、风向、阵风速、气温、气压共5组输入参数,每一时刻的输入数据为包含5组参数的元胞(cell)数组,所以此NARX神经网络预测模型即输入节点个数为5,输出层节点个数为1,隐含层的神经元个数由于没有针对性的公式,所以采取了多次模拟实验,通过比较带入不同隐含层神经网络的预测效果来确定最终输入的值,结果表明隐含层节点取10时,NARX模型效果最好。输入和输出的时延阶数按潮汐周期设定为12,运行预测模型,最终得出的预测结果如图5所示。

图5 NARX神经网络预测结果Fig.5 The NARX neural network prediction result

由图5可见,预测结果基本与实际潮位数据保持一致,只有在潮位峰值以及谷值前后这种变化量较大的时刻,预测误差相对较大,但对数据整体精确度影响不大。

3.2 MS-NARX神经网络预测分析

MS-NARX神经网络在传统NARX的基础上引入了模块化调和分析以及滑动时间窗方法,输入数据集不变,将输出数据集替换为非天文潮位数据。输入和输出的延时阶数根据滑动时间窗长度确定,滑动时间窗是一种用于时间序列操作的重要用法,是使用滑窗(sliding window)来对时间序列进行统计值计算和其他一些函数计算,对于消除噪声或有缺陷的数据效果显著,为了确定时间窗口的长度,引入了相关性分析的概念,选用前1 200组潮汐的实测数据计算数据的自相关性值,与t时刻相邻的不同时刻观测数据和t时刻观测数据的相关性由自相关标准值限定,自相关标准值取值较小可以得到更多的相邻时刻观测数据,进而可以得到更精确的结果。因此选取0.09自相关值为标准来决定模型的输入结构,由分析得出,在时间t时刻的数据与其前12 h的数据具有较大的相关性,所以在模型中时间窗长度(window) 及时延阶数为12,表示下一个输出层的模拟数据参考了前12个输入层的数据,并根据时间步长移动数据窗口。将设置好的参数带入MS-NARX神经网络,在MATLAB环境中运行,得到的MS-NARX神经网络预测结果如图6所示。

图6 MS-NARX神经网络预测结果Fig.6 MS-NARX neural network predictionresult

较于传统NARX神经网络,MS-NARX在预测精度及稳定度上有了进一步提升,由误差数据可见误差基本稳定保持在±6 cm以内。由于引入滑动时间窗,可以在不增加累计误差的前提下储存之前时刻的记忆并将其运用在之后的预测中,同时对输入数据的模块化处理又使得MS-NARX神经网络可以针对复杂的气候变化对潮位做出更加准确的预测。

3.3 SAPSO-BP神经网络预测分析

为了完成潮位预测,需要对神经网络的输入初始参数进行设定,其主要内容包括神经网络的层数、对应的输入层节点数、隐藏层节点数、输出层节点数及粒子群优化算法的初始参数,等等。

(1)采用经典的三层BP神经网络。

(2)输入层的节点数由输入参数的数量决定。在寻找最优方案过程中,曾采用输入非线性气象因素数据的方法进行模型预测,输入层节点取5(风速、风向、阵风速、气温、气压),但在该次实验中所得预测输出与实际数据偏差过大,二者相关性R=0.56,预测误差在±0.4 m之间波动,无法准确对潮位数据做出预测,出现这种情况是因为首先该站点缺乏长时间的系统观测,只通过即时数据难以表现出其规律;其次,气象数据对于潮汐的影响是一种复杂的映射关系,单独将其纳入BP神经网络的结构作为输入得不到精确的预测结果。为了解决这个问题,采用以调和分析数据作为输入,最终确定输入层节点数取12。

(3)隐藏层节点数主要影响BP神经网络的性能,选取的隐藏层节点数过大或过小,神经网络预测输出数据的精度都很难达到预期,所以采用如下经验公式,即

(10)

式(10)中:M为隐藏层节点数;m为输入层节点数;n为输出层节点数;a为0~10的一个随机自然数。通过经验公式的计算结合多次试验预测结果对比,最终确定隐藏层节点数为10个。

(4)对于使用的BP神经网络模型而言,输出数据为某一时刻的预测潮位,因此输出层节点个数设为1个。

(5)SAPSO优化算法的参数:学习因子c1=c2=1.55,迭代次数设为 200,种群规模设为 20,每个粒子的初始速度设置为[-3,3],每个粒子的初始位置设置为[-5,5]。

本次预测以前1 200组数据进行训练,后240组数据作为预测输出。得到的预测潮位与实际潮位数值对比图如图7所示。

图7 SAPSO-BP 神经网络预测结果Fig.7 SAPSO-BP neural network prediction result

4 预测结果对比及分析

分别针对三种模型的预测输出及预测误差进行了对比分析,预测输出对比图及误差对比图如图8和图9所示。

图8 三种模型预测输出对比Fig.8 Comparison of prediction results of three models

图9 误差对比Fig.9 Comparison of errors

由图8和图9可见,优化后的BP神经网络在时间序列预测上仍不如动态神经网络,而相比于传统NARX神经网络,MS-NARX在潮位预测精确度上又有所提升。SAPSO-BP在BP神经网络基础上添加了两种优化手段,但作为静态神经网络不能对时间序列整体的周期性变化及时作出反应,从误差图像也能看出,在预测后半部分数据时误差增大,对于潮位峰值前后的大幅改变,传统NARX预测模型通常不能及时对预测结果做出调整,以至于在这些时间点的预测输出继续增大,在输出图像上形成尖角状曲线;而对于MS-NARX神经网络预测模型,预测输出能够准确、及时地做出调整,使输出数据尽可能符合实际数据,在潮位峰值前后的时间段,输出误差也只是较其他时间段稍有增大,对整体预测结果几乎没有影响,且仿真实验结果同时验证了MS-NARX模型的泛化能力和适用性。

另外通过计算并比较三种模型的平均绝对误差MAE,均方误差 MSE及均方根误差RMSE可以更加直观的对比预测效果。将误差数据分别代入式(7)~式(9)计算,所得结果如表1所示。

表1 MAE,MSE,RMSE对比Table 1 Comparison of MAE, MSE and RMSE

由表1可知MS-NARX模型的三种误差明显最小,说明 MS-NARX 模型的预测输出在离散性,预测差异程度及误差波动程度上都要优于传统NARX和 SAPSO-BP 模型。经计算分析,MS-NARX 预测模型的综合预报精度相对于传统NARX神经网络提高了46.5%,相对于SAPSO-BP 预测模型提高了82.0%。

5 结论

基于 NARX 神经网络,提出了一种改进的实时潮位预测模型MS-NARX,通过选用美国比斯坎湾2020年6月1日GMT0000至2020年8月25日GMT0900的潮汐观测数据作为验证预测模型性能的样本,与SAPSO-BP神经网络预测模型及传统NARX进行对比,试验并证明了使用 MS-NARX 神经网络预测潮位的可行性,得到以下结论。

(1)MS-NARX模型在动态神经网络基础上进行改进,通过输入数据的模块化处理针对非天文潮部分进行预测,且引入滑动时间窗降低误差。

(2)MS-NARX模型的预测潮位和实际观测潮位之间的最大误差稳定在±6 cm,RMSE小于0.02 m,吻合情况明显要优于传统方法,体现出较高的精度及鲁棒性。

(3)MS-NARX 模型对于非线性拟合有着更强的映射能力,更加适用于复杂时间序列数据的分析预测,而且其结构简单,易于实现,为潮汐水位的实时预报提供了一种有效途径。

(4)尽管本文利用取自比斯坎湾的数据集进行预测仿真,但所提出的方法不局限于此类数据集,因此,所提出的模型将适用于为其他区域建立潮汐预报模型甚至可以应用于潮汐预报之外的时间序列预测问题中。

猜你喜欢

潮汐神经网络误差
潮汐与战争(上)
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
CBCT图像引导的放疗前后半程摆位误差分析
绝美海滩
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
闪电潮汐转化仪