基于LSTM-EMD 模型的船舶航迹预测方法∗
2023-10-20王均刚胡柏青高端阳朱九鹏
王均刚 胡柏青 高端阳 朱九鹏
(1.海军工程大学电气工程学院 武汉 430033)(2.大连舰艇学院航海系 大连 116018)
1 引言
随着我国海洋事业的发展,海上航行的船舶数量日益增大,但与此同时也产生一系列新的问题,如狭窄水域堵塞情况频发、船舶碰撞风险提高等,且航行中的船舶易受天气影响而偏离航线,同样会对船舶造成重大安全威胁,因而需要对船舶运动轨迹进行一定的预测,方便交通管理、船舶避碰以及保持正确航线,因此,提高船舶轨迹预测的精准度十分必要。
船舶轨迹预测是根据船舶的历史轨迹数据及其他航行信息建立模型,对船舶下一时刻或接下来一段时间的轨迹进行预测,因此设计合适的预测模型对于轨迹预测至关重要。针对航迹预测模型的设计问题,GUO 等首先利用k阶多元马尔可夫链及相关参数建立一个状态转移矩阵,然后根据上一时刻概率最大的状态对渔船下一时刻可能的轨迹进行预测,方法很有创新性,但忽略了对船舶历史轨迹每一个状态的考虑[1];Hexeberg 基于历史数据,提出了一种用来预测船舶未来时刻位置的单点邻域搜索算法,有效利用了历史数据的规律性,在船舶避碰中取得了较好的效果,但不能处理航行船只较少的航线[2];TONG 等提出一种基于马尔可夫链和灰度模型的改进预测模型,对船舶弯曲航道的轨迹也有较好的效果[3];Perera 等[4~5]利用建立了对船舶的检测和跟踪的人工神经网络模型,创新地将扩展卡尔曼滤波与神经网络相结合,实现了对船舶状态和航行轨迹的预测;王艳锋[6]利用支持向量机(Support Vector Machine,SVM)对目标水域的船舶航迹进行预测,但研究范围仅限于桥区水域;茅晨昊等[7]提出一种高斯回归的船舶轨迹预测模型,可以预测接下来一段时间的船舶轨迹路线;Nguyen[8]将自动识别系统数据转换为时间序列组,利用循环神经网络模型对时间序列的良好学习能力,预测未来时刻的船舶轨迹、航行目的地和到达时间并取得了较好的预测效果。Suo 等[9]利用聚类算法在大量轨迹中提取主要轨迹,消除了冗余数据的影响,建立深度学习和门循环模型预测船舶轨迹。上述文献提供了多种船舶运动轨迹的预测模型,具有良好的借鉴意义。
船舶自动识别系统是集合了全球定位系统、岸基、船载传感器为一体的助航系统,能够实现邻近船舶间的信息交互,记录历史数据。该系统可获取经度、纬度、航速、航向角、时间、船舶呼号、吃水量等多维信息[10~12],在海事搜救、船舶避碰、追踪船只等领域有着不可替代的作用。利用AIS 的历史数据建模,对船舶未来时刻的轨迹进行预测能有效提高航海安全。但大量研究表明,利用AIS 数据进行轨迹预测存在如下问题:1)存在大量不可用的冗余数据,影响模型建立。2)容易产生噪声。3)时间间隔不同[13~14]。为了提高轨迹预测的精度,需要对AIS 数据进行一定的预处理,降低上述缺陷的影响。本文的轨迹预测方法,包含数据预处理、LSTM模型预测、EMD 分解、残差预测及补偿四个部分。数据预处理部分通过插值的方法降低噪声和时间间隔的影响,然后建立LSTM-EMD 组合预测模型,通过分解补偿的手段实现了船舶轨迹的精准预测。利用AIS 数据进行实验,证明了所提方法的有效性。
2 经验模态分解
经验模态分解是由黄锷等提出的一种自适应信号处理方法,被认为是频谱分析的一个重大突破。该方法无需预先设定基函数,仅需根据数据自身的时间尺度特征进行信号分解,因此其在理论上可以应用于任何类型信号的分解,正是由于这样的特点,EMD 在处理非平稳非线性数据上具有非常明显的优势[15]。
EMD 分解算法的基础是把信号内的震荡看作是局部的。对给定的一组原始时序数据x(t),首先找出信号x(t)的所有极大值点和极小值点,对极大值进行插值拟合和得到x(t)的上包络emax(t),对极小值进行插值拟合和得到x(t)的下包络emin(t),计算上下包络的均值得到均值序列m(t):
此时可将m1(t)看作原始数据的低频成分,用x(t) 减去低频成分m1(t) 得到序列的高频成分d1(t):
一般来说,得到的d1(t)并不满足本征模函数的条件,需要将d1(t)作为原始序列重复上述过程k次,直至达到筛分门限TS,如式(3)。TS用于筛分由极大值确定的上包络和由极小值确定的下包络均值是否趋近于零,一般取值为0.2~0.3[16]。
式中,d1k(t)表示重复上述过程k次后得到的高频成分,即IMF。记c1(t)=d1k(t) ,即第一个IMF。在x(t)中减去c1(t)得到去除第一个本征模函数的序列r1(t)。重复上述过程n次,直到cn(t)小于预设误差或rn(t)为单调函数。分解后得到n 个IMF 分量和一个残差rn(t),将原始数据x(t)表示为IMF和残差序列之和的形式:
3 LSTM-EMD组合模型
传统前馈神经网络在处理时间序列的预测方面效果并不好,且无法有效抑制梯度爆炸问题[17~18],循环神经网络应运而生。为解决循环神经网络中的梯度问题,Hochreiter 等在循环神经网络基础上提出了长短时记忆网络的特殊神经网络[19]。LSTM是一种经过改进的循环神经网络,可以学习长期的记忆信息,工作结构如图1 所示。AIS 数据包含时间信息,因此AIS 数据中的轨迹可以视为一组带有时间信息的序列,可以通过循环神经网络学习轨迹的特性来预测下一时刻的轨迹位置[20]。EMD 算法是一种应用十分广泛的信号分解方法,本文综合LSTM 与EMD 算法的优势,利用EMD 算法将LSTM预测信号分解补偿,结合二者优势进行船舶轨迹预测,提出一种LSTM-EMD 船舶轨迹预测模型,轨迹预测流程如图2所示。
图1 LSTM结构图
图2 LSTM-EMD组合模型预测流程图
基于LSTM-EMD的船舶运动轨迹预测步骤如下:
1)LSTM 神经网络训练及预测。将船舶运动数据划分为训练集和测试集,根据经验设置LSTM的隐含层节点数、迭代次数、学习率等参数,利用训练集对神经网络进行训练。LSTM的输入为当前时刻时间间隔、经纬度、航速、航向角等船舶信息,输出为预测出的下一时刻船舶位置。训练完成后,分别用训练集和测试集进行预测,得到训练集预测值和测试集预测值。
2)计算训练集预测值与真实值的残差序列res=Ytrue-,Ytrue为轨迹的真实值。
3)残差序列分解。利用EMD 算法对残差序列res进行分解,得到n个本征模态分量[IMF1,IMF2,...,IMFn]及残差项rn。
4)本征模态分量的预测。对训练集的res分解后得到n个IMF 及1 个残差项rn。针对不同频率的本征模态分量[IMF1,IMF2,...,IMFn]和残差项rn分别建立LSTM 神经网络进行训练并预测,预测结果作为测试集预测值与真实值残差的本征模态分量和残差项,将预测结果求和,得到测试集残差的预测值Yres。
5)预测结果。组合模型的预测结果为测试集预测值和测试集残差预测值Yres之和,如式(5)。
4 模型验证及分析
4.1 实验方案及评价指标
本文采用应用广泛的AIS 数据作为实验数据,选取一组原始AIS 数据后,按照四个步骤进行实验,而后进行实验结果分析。为了充分证明实验结果的有效性,本文选取传统的BP 神经网络模型和单一LSTM神经网络模型的预测结果进行对比。
选用平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)、均方根误差(Root Mean Square Error,RMSE)和误差的标准偏差(Standard Deviation,SD)作为实验的评价指标,MAPE、RMSE和SD越小表示预测效果越好。如式(6)~(8)所示。
式中,n为预测结果的数据个数,,yi分别为第i时刻轨迹的预测值和真实值。-yi为误差,μ为平均误差。
4.2 数据预处理
原始数据存在诸如数量级别相差较大、部分数据缺失等问题,若将其直接应用于神经网络模型训练,会因此类问题导致预测误差增大,因此需要进行一定程度的数据预处理。数据预处理步骤如下:
1)增量处理。将原始数据处理为增量形式,可提高预测精度,将t 时刻的数据减去t-1 时刻的数据,即得到增量。
2)插值处理。AIS 数据的上传与记录是依托于GPS 信号,当遇到GPS 信号中断或被屏蔽时,会使AIS 数据无法被连续采集而出现缺失值,而缺失值会对神经网络模型的训练产生一定负面影响,因此需要对缺失值进行插补,本文利用经典的拉格朗日插值法进行插补。
3)数据标准化。原始数据的最大值和最小值之间会出现较大的波动,波动导致神经网络训练和预测效果下降,因此采用标准差标准化的方法对数据进行标准化处理,标准化后的数据符合正态分布,表达式为
式中,x*为标准化后的数据,x为原始数据,xσ为数据标准差,xμ为数据平均值。处理后的数据之间逻辑关系不变,预测完成后的结果仍然是标准化数据,需要进行反归一化处理才得到实际大小的数据。本文分别选取MMSI 为338158000、367628210在墨西哥湾航行的两条轨迹作为原始数据,记为轨迹1、轨迹2,分别进行实验。
4.3 LSTM训练与预测
LSTM神经网络的超参数是影响模型精度的重要因素,但目前并没有严谨的、科学的公式确定超参数的大小,只有学者通过大量实验总结出的经验公式。本文采用控制变量法,逐步找到LSTM 神经网络的最优参数,设置隐含层节点数为17,学习率为0.001,批处理数量为64,样本训练次数为300,输入层为5,输出层为2。以时间间隔Δtime、经度增量Δlon、纬度增量Δlat、航速增量ΔSOG和航向角增量ΔCOG五个特征量的数据作为输入,以下一时刻的经度增量Δlont+1、纬度增量Δlatt+1作为输出进行训练与预测,并计算训练集的预测值与实际值残差。
4.4 EMD分解
将上一步中LSTM 模型预测得到的残差进行EMD 分解,分解后得到多个不同频率的本征模态分量以及一个剩余分量。以经度预测为例,将经度预测后的残差进行EMD分解,得到6个本征模态分量IMF1-IMF6 以及一个剩余分量res,如图3 所示,IMF1 为高频部分,IMF7 为低频部分,res 代表非线性趋势。图3中第一张图片为EMD分解前的数据,下面6 张图片分别为分解后的本征模态分量IMF1-IMF5,最后一张图片为分解后的残差res。
图3 本征模分量图
4.5 残差预测及补偿
分别建立LSTM神经网络模型对各个IMF分量进行训练并预测,得到测试集IMF 分量的预测值,将所有IMF 分量预测值求和后得到测试集的残差预测值,根据式(4),相应的预测结果与残差预测值相加,就完成了残差的补偿。两组实验数据的残差预测结果分别如图4~图5 所示。由于残差的随机性和复杂度较大,因此很难完全准确地预测残差,只能在整体趋势上进行预测和补偿,图4~图5已经表现出一定的预测效果。
图4 轨迹1残差预测
图5 轨迹2残差预测
4.6 实验结果及分析
为了更好地说明LSTM-EMD 模型在船舶运动轨迹预测中的优越性,同时给出基于传统的BP 神经网络模型和单一LSTM 模型的轨迹预测结果及误差。两组数据的预测结果分别如图6~图7所示。
图6 轨迹1预测结果
图7 轨迹2预测结果
通过图6~图7可以看到,三种模型在整体上都能较地好预测船舶运动轨迹。但BP神经网络模型表现较差,预测效果不及LSTM 模型和LSTM-EMD模型;LSTM 模型比BP 模型稳定,在经度预测和纬度预测都有不错的效果;LSTM-EMD 模型表现最好,能够较为准确地预测经度和纬度。下面给出更加直观的模型误差曲线,如图8~图9所示。并利用评价指标对预测结果进行统计分析,如表1、表2所示。
表1 轨迹1的Mean Error、SD、MAPE和RMSE
表2 轨迹2的Mean Error、SD、MAPE和RMSE
图8 轨迹1预测误差
图9 轨迹2预测误差
通过分析图6~图9 以及表1、表2 可得,三种模型对船舶运动轨迹的预测都有良好的效果,其中LSTM-EMD 模型的表现最好。选取表1 的数据进行具体分析,根据表1 的数据,在经度预测中,LSTM-EMD 模型相对于BP 模型和LSTM 模型,预测结果的平均绝对百分比误差分别降低了21.03%和14.72%,效果分别提升了43.93%和33.08%;在纬度预测中,预测结果的平均绝对百分比误差分别降低了15.77%和6.33%,效果分别提升了29.36%和24.98%。且经度预测和纬度预测的结果都体现出,LSTM-EMD 模型的标准偏差SD 比BP 模型和LSTM 模型更接近平均误差,表明LSTM-EMD 模型的船舶轨迹预测不仅有较高的预测精度,还能保证大多数预测位置与实际位置偏离程度更小。表2的数据同样支持上述结论。
5 结语
AIS 对于保障航海安全具有重要作用,也为船舶轨迹预测提供了研究基础,本文基于AIS 数据,针对船舶轨迹的单步预测提出一种LSTM 神经网络和EMD 分解算法相结合的预测模型,该模型首先利用LSTM 模型对原始数据建模并进行初始预测,预测结果利用EMD 算法进行分解,再对各IMF分量进行预测,最后将残差预测值进行补偿得到最终的预测结果。实验部分包括数据预处理、LSTM模型预测、EMD 分解、残差预测及补偿四个步骤,并利用三条时间长、数量多的AIS 轨迹数据进行实验验证,将LSTM-EMD 模型的实验结果与BP、LSTM 模型的预测结果作对比,其结果表明:LSTM-EMD 模型对于船舶运动轨迹的预测有着更好的效果,对于提高航海安全性有一定的积极作用。