基于SSA-BP神经网络对南港水道船舶航行行为的预测分析(源码+万字报告+讲解)(支持资料参考_相关定制)
摘要随着疫情后的经济复苏,经济全球化进程持续推进,海上交通业务日趋繁忙,船舶航行安全问题也日益突出,其中在南港航道北部到吴淞口一段,是整个长江口水域交通密度最大、态势最复杂的地区之一,为了提高船舶交通服务系统(Vessel Traffic Service,VTS)的监管职能,本文主要从“船舶航行的航速和航向”的方向进行展开研究,对船舶航行行为进行预测,实现事前性预警,降低船舶进港航行时的碰撞风险,
随着疫情后的经济复苏,经济全球化进程持续推进,海上交通业务日趋繁忙,船舶航行安全问题也日益突出,其中在南港航道北部到吴淞口一段,是整个长江口水域交通密度最大、态势最复杂的地区之一,为了提高船舶交通服务系统(Vessel Traffic Service,VTS)的监管职能,本文主要从“船舶航行的航速和航向”的方向进行展开研究,对船舶航行行为进行预测,实现事前性预警,降低船舶进港航行时的碰撞风险,避免水域交通事故频繁发生。本文以船舶AIS数据为基础,结合BP神经网络的时间序列预测开展关于船舶航速和航向的相关研究。
对于AIS数据中可能出现的信息丢失和信息不准确的情况,本文在保留船舶原有的航行行为特征的基础上,对问题数据进行清洗。
信息经历了采集、封装、传输、接收等多个过程后,因为噪音等原因,信息可能会出现缺失和误差,需要进行填补,为了最大可能满足预测数据的准确性和时效性,本文采用了线性插值法对缺失数据进行补充 。
船舶AIS在接收信息前,经历多个阶段,难免会受到噪音的影响,从而最终影响预测数据的精度,为了使得船舶数据更加准确,本文在采用神经网络预测前将会对数据进行奇异谱分析,最大程度上还原数据的真实性,去掉可能是噪音的部分,从而使预测结果更加准确。
考虑到AIS数据传输过程中可能会受到噪音影响,本文通过构建SSA-BP神经网络的组合模型研究实现了对船舶航行行为的预测,并通过与不经奇异谱分析的BP神经网络预测分析结果对比,证明了去噪的对还原原始数据的必要性和基于SSA-BP神经网络预测模型的精确性。该成果对降低船舶进港航行时的碰撞风险,保障船舶通航安全具有现实意义。
关键词:船舶航行;航速和航向;AIS数据;线性插值法;BP神经网络;奇异谱分析
Abstract
With the economic recovery after the epidemic and the continuous advancement of economic globalization, the maritime traffic business becomes increasingly busy, and the problem of ship navigation safety becomes increasingly prominent. Among them, the section from the north of Nangang Channel to Wusongkou is one of the areas with the highest traffic density and the most complex situation in the whole Yangtze River Estuary. In order to make full use of AIS information,and further enhance the supervision function of Vessel Traffic Service (VTS).Based on ship AIS data and combined with BP neural network time series prediction, this paper carries out related research on sailing speed and heading.
In order to solve the problem of information loss and inaccuracy in AIS data, this paper cleans and repairs the problem data on the basis of retaining the original navigation attributes.
After multiple processes such as acquisition, encapsulation, transmission and reception of the original ship AIS data, there may be data loss, which needs to be filled. In order to maximize the accuracy and timeliness of the predicted data, the linear interpolation method was adopted in this paper to supplement the missing data.
Ship AIS goes through multiple stages before receiving information, which will inevitably be affected by noise, thus ultimately affecting the accuracy of forecast data. In order to make ship data more accurate, this paper will carry out singular spectrum analysis on the data before using neural network prediction, so as to restore the authenticity of the data to the maximum extent and remove the parts that may be noisy. So that the prediction results are more accurate.
Considering the AIS data transmission process may be affected by noise, this paper realizes the prediction of ship navigation behavior by constructing the combined model of SSA-BP neural network, and by comparing the prediction analysis results with BP neural network without singular spectrum analysis, The necessity of restoring original data by denoising and the accuracy of prediction model based on SSA-BP neural network are proved. The results have practical significance for reducing the collision risk and ensuring the safety of shipping.
Key words:Ship navigation;speed and heading;AIS data; Linear interpolation;BP neural network;Singular spectrum analysis
目 录
1前 言/绪 论
1.1 研究的背景和意义
对于新冠疫情产生的百年未有之大变局,我国展现出高度的冷静和举世瞩目的防疫效率,在防护疫情的同时,经济发展依然处于世界领先地位,推动着我国水路运输市场蓬勃发展。
疫情后的经济,复苏缓慢,但是随着各国强烈支持经济全球化进程,跨国业务逐渐变得繁荣起来,因为航运业的发展,伴随着船舶航行的安全问题也越发明显,其中在南港航道北部到吴淞口一段,是整个长江口水域交通密度最大、态势最复杂的地区之一。再加上,随着不断攀升的海上交通业务量,加重航道负载,尤其是夜间进港时,船员疲劳等生理、心理因素和大量密集航线,导致长江口及其附近海域海上事故频发,船舶发生碰撞事故的概率高达32%。
随着科学技术的飞速发展,AIS设备在船舶航行时的作用日益突出,它能够实现船舶在航行过程中实现动态信息的实时交换,方便航行过程中航线的确定和避免碰撞;同时它还能实现船与船、船与岸、岸与船之间的通信,在保障船舶航行安全方面发挥了不可忽视的作用。同时,AIS信息中包含着丰富的船舶航行特征,是进行船舶航行研究的基础。大量的AIS船舶航行数据能够为船舶航行行为预测提高研究基础,通过对大量的AIS数据进行推演,可以实现对船舶航行行为的预测。
本文的研究正是基于大量AIS数据和BP神经网络预测的基础上提出, 通过SSA-BP神经网络组合模型对历史船舶航行行为进行训练并预测,并于未经奇异谱分析的BP神经网络预测结果对比,针对AIS数据在航海领域功能的挖掘,对增强船舶航行安全的可控性、提高船舶运输效率具有重要意义。
1.2 国内外船舶航行行为预测现状
针对运动轨迹的预测技术,无论是国内还是国外,都已经取得了非常显著的进步,但是这些预测方向大部分都集中在陆上运输。由于设备和环境因素的制约,关于水路运输运动轨迹的研究依然不温不火。但是,随着大数据时代的到来,船舶信息网络、科学技术水平都得到了极大的提高,这一系列科技突破极大地推动了海洋运输事业的发展。本文采用传统人工神经网络预测方法对船舶航行行为进行预测。
对于船舶航行行为的预测,本文采用了人工神经网络预测的方法。人工神经网络的实质是对人脑神经网络结构的模拟,以某些简单的模型为框架,按照不同的连接方式构成的众多网络模型,其中以误差反向传播算法最为典型,即BP神经网络,由输入层、隐含层、输出层三个部分。针对船舶航行行为的预测,通常把船舶航行的历史数据作为输入层,预测数据作为输出。
2010年,对于BP神经网络预测模型容易因局部最优的原因从而影响预测结论,谭伟[1]等通过GA算法对BP神经网络进行优化,以此来实现对船舶航行行为的预测,该预测模型能够很好的实现船舶航行过程中的非线性问题,在避免局部最优问题的同时,极大的提高了预测精度和运算速度。之后2012年,为了能够使得预测结果更加精准,徐婷婷[2]等人,以过去船舶航行行为作为输入值,通过对船位差值理论的学习,对BP神经网络进行建模,提出了一种三层BP神经网络的船舶航行新闻给的预测模型,这种方式结构简短,效果明显且精准,但是同时也有弊端,不适用航行规模大,航线变换复杂的航行轨迹预测,仅适用于规律近似简单的船舶轨迹。2017年,甄荣[3]等对于船舶航行行为预测的问题进行扩展,在利用船舶AIS信息数据为基础,结合三层BP神经网络组建预测模型,实现了对船舶未来航行行为的预测,实验证明预测结果有误差但是误差不大,经调查,误差结果表明在可接受的范围内。2019,为了使结果更加准确,同时更加实时、高效,谢新连[4]等采取了自动调整采样周期的方法,通过极限学习机算法来对船舶运动轨迹进行预测,实现了预测模型的在线学习和预测,该算法能够为船舶航行行为预测提供一定的学习经验。2020年刘娇等[5]提出了一种利用差分进化算法优化的方法来改进支持向量机的预测模型,通过船舶航行的经纬度、航向、速度来作为特征变量进行输入,以达到实现对航行轨迹的准确预测。
1.3 本领域存在的问题
以AIS数据为基础的船舶航行行为预测是对未来的船舶行为特征的预测。经过了对以上文献的分析,凝练,总结出两个对于船舶航行行为预测方面的问题:
- AIS数据的完整情况。原始的AIS数据作为实验的初始数据,在历经采集、封装、解码等多个阶段后,内部往往存在缺失,难以直接有效的分析利用。
- AIS广泛的应用在航海领域,但是AIS在测量过程中往往会受到各种各样的影响,从而导致接收信号时产生误差。其中大部分误差是可以消除的,但是观测随机噪音等由于具备空间无关性和无规律性,因此很难消除。这些噪音附着在AIS信号上,从而影响接收信号精度的确定。目前,随着海洋开拓的必要和科技的发展,船舶对接收到的AIS信息的精度要求越来越高,所以,AIS信号去噪就变得非常重要。
1.4论文的创新
本文分析总结了南港水道北部到吴淞口区域的船舶航行行为的预测方法,通过线性插值法对AIS缺失数据进行补充,重点研究了基于SSA-BP神神经网络的时间序列预测模型对目标区域内的船舶进行行为预测,再与未经奇异谱分析去噪的BP神经网络预测结果进行对比;之后通过对采集的所有船舶进行预测,通过平均百分比误差来证明预测效果泛用性。
1.4.1 本文主要内容和创新点
船舶AIS数据在历经采集、封装、传输、解码等过程,内部往往存在缺失,本文采用线性插值的方法,对一些AIS缺失数据进行补充。
影响船舶行为特征的预测的因素具有复杂性、非线性、时序性的特点,本文基于船舶的AIS信息通过使用BP神经网络的时间序列模型进行结合,以经纬度、航向、航速作为输入层输入,建立了SSA-BP神经网络的时间序列预测模型,通过对不经过奇异谱分析去噪的BP神经网络预测模型对比,观察训练集和预测集的效果,之后通过对全体船舶预测的平均百分比误差的对比来证明SSA-BP神经网络预测效果的良好。
1.5 论文组织结构
第1章主要介绍了当前航运业、船舶行为预测、BP神经网络的背景、意义和现状,论述了本文的主要研究内容和创新点。
第2章对船舶航行行为预测问题进行论述,同时概括本论文的基本流程结构,对本文的基础AIS信息
第3章介绍了本文研究的实验数据采集的平台,数据采集区域和所采集船舶的航线。
第4章主要介绍了对于所采集的AIS信息中出现的问题,以及产生问题的原因,从而提出一套关于船舶航行行为预测的AIS信息预处理,通过采用线性插值的方式使得AIS数据变得完整可靠。
第5章对SSA分析和BP神经网络的参数进行分析,主要有窗口长度L的选择、奇异值数目r的选择、输入输出参数分析和隐含层神经元节点选择的原则。
第6章把AIS信息中的船舶航行行为特征与BP神经网络相结合,从而建立一个BP神经网络关于船舶航行行为的预测模型。
第7章提出结合AIS信息和BP神经网络组合模型针对南港水道北部到吴淞口一段海域内的船舶进行随机采取信息,对大量船舶AIS信息数据进行训练,对船舶航速、航向、经纬度实现预测。为了使得预测结果更加具有泛用性,对采集的所有船舶进行预测,通过所有船舶预测的平均百分比误差图来证明预测效果的泛用性。
之后在相同的数据条件下,通过对SSA-BP神经网络模型进行船舶航行行为的预测,对比观察效果,得出结论。
2 相关理论基础
2.1 船舶航行行为预测
2.1.1 问题描述
船舶航行行为预测指的是根据随机船舶过去和现在的AIS信息,经过各种约束条件的反复训练、调整,从而实现对改船舶未来时刻的船舶行为的预测。目前关于船舶航行行为预测的研究考虑的因素太多单一,使得船舶预测具有很大的不确定性,可能受到参数和环境的影响等各种因素的影响,最终影响预测结果的准确性。[6][7]该文献表明,随着大数据时代的到来、科学技术的飞速发展、各种技术产品指数性爆发,使得AIS信息设备和运动轨迹方面的研究方法更加完善,从而为得到更加准确的船舶航行行为预测提供了更多的可选择的路线。本文通过对AIS信息数据进行预处理,对大量原始AIS数据进行清洗,对空缺数据通过线性插值法进行补全。之后根据AIS数据构建BP神经网络模型,并进行预测,以此来证明BP神经网络是否能够对未来时刻船舶航行的航速和航向的预测;之后为了使预测效果更加精确,考虑到AIS数据可能会存在噪音的情况,所以使用SSA分析去噪,对AIS数据进行去噪处理,之后通过不经过去噪的BP神经网络进行预测,对比观察效果。
因此,对船舶AIS信息数据的有效信息进行提取,合理地对船舶航行行为预测模型进行构建,成为了基于SSA-BP神经网络预测能够实现的两个关键。
2.1.2 基本流程分析
随着运动轨迹的预测在海事方面的不断发展,考虑的因素越来越多,结构也愈发严谨。基于SSA-BP神经网络关于船舶航行行为预测的分析过程可以分成四个阶段,主要有对于AIS数据的信息采集、AIS数据的预处理、关于船舶航行行为预测的建模、应用分析。
2.2 船舶自动识别系统
2.2.1 AIS消息类型
随着国际海运业务的愈发火热,过去传统的信息导航设备已经不能高效的完成船舶航行引导工作。在上世纪90年代初期时,AIS的发明非常顺利的衔接代替了传统设备,船舶得了到高效调度和引导,对于提高海上通航安全,增强海运业务水平起着不可忽视的作用。同时期国际海上人命安全公约作出规定:凡航行于国际航线的300总吨以上船舶或公约国内航线的500总吨以上的船舶,将于2002年7月1日起至2008年7月1日前强制安装船舶自动识别系统[8]。
AIS采用的是自组织时分多址的现代导航系统,在船舶航行时能够对船舶各类信息进行实时交换、互通互享。按照国际电信联盟相关标准,AIS报文信息中主要包含三类基本信息具体如下:
表1.AIS报文信息
静态数据 |
动态数据 |
航行数据 |
MMSI唯一识别码 |
对地航向 |
吃水深度 |
呼号船号 |
航速 |
目的港 |
船舶类型 |
经度 |
预计到港时间 |
船长船宽 |
纬度 |
—— |
IMO识别码 |
航行状态 |
—— |
(1)动态信息,这是指在船舶进行出海航行时能够不断变化的动态指数。比如:船舶经纬度、对地航向、对地航速等。
(2)静态信息,指的是能够在船舶航行和静止时都能保持不变的信息,例如:船舶登记号、船舶名称及其呼号、船长、船宽、船舶类型。
(3) 航次相关信息,这是指在船舶某次航行过程中,与本航次信息有关联的信息。例如:船舶航次编号、航线设计、出发港和目的港、吨位等。
为了能够更加清晰的了解船舶AIS信息结构和分类,本文给出AIS数据的基本格式,如表2
表 2. AIS数据格式
字段名称 |
字段说明 |
字段类型 |
备注 |
ID |
记录流水账号 |
Integer |
静态报文 |
Ship—id |
船舶编号 |
Integer |
静态报文 |
IMO |
船舶IMO号 |
String |
静态报文 |
Name |
船名 |
String |
静态报文 |
Callsign |
船舶呼号 |
String |
静态报文 |
Ship—type |
船舶类型 |
Integer |
静态报文 |
Ship—width |
船舶宽度 |
String |
静态报文 |
MMSI |
船舶标识码 |
String |
静态报文 |
Status |
航行状态 |
Integer |
动态报文 |
Longitude |
经度 |
Double |
动态报文 |
Latitude |
纬度 |
Double |
动态报文 |
Speed |
航速 |
Float |
动态报文 |
Cog |
对地航速 |
Float |
动态报文 |
Head—direction |
行首向 |
Float |
动态报文 |
Dest |
目的港 |
String |
航行数据 |
Eta |
预计到港时间 |
String |
航行数据 |
Archive—time |
信号时间 |
Long |
动态报文 |
2.3奇异谱分析学习
SSA是一项高效的技术,可用于分析和预测具有潜在结构的非线性时间序列,其应用范围广泛。本文介绍了在真实的生活应用中应该如何通过理论进行分析和处理。奇异谱分析(SSA)是一种通过时间序列来对轨迹矩阵进行分组、分解、重构等操作。通过提取出时间序列中与众不同的部分,如噪声等,来达到对轨迹矩阵中的数据进行去噪目的,并将其应用于其他任务。由于其自身固有的优点,在信号处理领域受到了广泛关注,特别是在模式识别方面更是有着巨大的潜力和广阔的应用前景。SSA是一种利用奇异值分解进行全局分析的方法,其目的在于识别原始信号的成分,例如趋势、周期或准周期、噪声等。本文将利用这种新方法来解决在实际应用中因数据量过大导致的处理效率低下问题。该方法经历了嵌入、分解、分组重构和对角平均化四个关键步骤,以实现最终的目标,其具体步骤如下:
(1)嵌入:
SSA的分析对象是一维时间序列 [x1,x2,…,xN],其中N为序列长度。第一步需要选择合适的窗口长度 L ,从而把原始时间序列进行变换得到轨迹矩阵:
(1.1)
通常情况下取 L<N/2。令 K=N−L+1,则轨迹矩阵X为L×K的矩阵:
(1.2)
(2)分解:若A为m×n的实矩阵,A∈Rm×n,则A的奇异值分解存在
(1.3)
其中r为A的非零奇异值的个数。
U是一个m×m的矩阵,它的任意个特征向量Ui被称为A的左奇异向量。
是一个m×n的矩阵,除了其对角线上的元素外全为0,主对角线上的每个元素都被称为奇异值。
V是一个n×n的矩阵,它的任意个特征向量Vi被称为A的右奇异向量。
U,V都被称为酉矩阵,他们满足下列公式:UTU=I,VTV=I。
r为矩阵A的秩。
U矩阵求解:
方阵AAT为m×m的一个方阵,之后对该方阵进行特征值分解,得到的特征值和特征向量满足下式:
(1.4)
可以得到矩阵AAT的m个特征值和对应的m个特征向量u。
将AAT的所有特征向量组成一个m×m的矩阵U,就是我们SAD公式里面的U矩阵了。
(1.5)
上式证明了使用VTV=I;
=I。可以看出AAT特征向量组成的矩阵就是我们SVD中的U矩阵。
V矩阵的求解:
如果我们将A的转置和A的矩阵做乘法,那么就会得到一个n×n的方阵ATA。既然是方阵,那么我们就可以进行特征分解,得到的特征值和特征向量满足下式:
(1.6)
这样我们就可以得到矩阵ATA的n个特征值和对应的n个特征向量V了。将ATA的所有特征向量组成的一个n×n的矩阵V,就是我们SVD公式里面的V矩阵。一般我们将V中的每个特征向量称为A的右奇异向量。
(1.7)
上式证明了使用UTU=I;
=I。可以看出ATA特征向量组成的矩阵就是我们SVD中的V矩阵。
å矩阵的求解:
我们可以看出我们的特征值矩阵等于奇异值矩阵的平方,也就是说特征值和奇异值满足如下关系:
(1.8)
对收集船舶锦江之星的船舶航速进行奇异值分解见附录
(3)分组重构:
对于原始信号的降噪处理,分组操作是将FN构造的轨迹矩阵X转化为S和E的总和,即X=S+E。在信号处理领域,一般认为较大的前r(r<d)个奇异值是反映信号主要能量的有用成分,而较小的后d-r个奇异值则被视为噪声成分。为了实现信噪分离,我们需要对数据进行分组操作,以确定最适宜的r值。
对于分解后的
,按降序排列后,前r个较大的奇异值明显的大于后面的奇异值,所以说,前r个奇异值中代表的信息就足以描述整个数据。我们可以计算前X个奇异值平方和占所有奇异值平方和的比重,如果大于90%,我们就选择这X个奇异值重构矩阵。
(1.9)
矩阵重构公式如下:
A=UM*M*
M*M*VTN*N≈UM*X*
M*X*VTN*X (1.10)
证明见附录
(4)对角平均化:
对角平均化的目标在于将经过上述分组的矩阵转换为所需长度为N的序列,以达到将多维数据转化为一维数据。令代表Y∈L×k分组后得到的任一矩阵,yij为矩阵中的各元素,1≤i≤L,1≤j≤K.设 L* =min(L, K),K* =max(L,K),反对角线总共有N=L+K-1条。那么通过对角平均化可以将矩阵Y变换成所需的长度为 N的序列yrc1 ,yrc2 ,…,yrcN ,重构序列可通过下式计算获得:
(1.11)
由公式可知i+j=k+1。
下面举例说明,假设有一个矩阵Y=
,据上面分析可知有N=5+3-1=7条反对角线,于是最后的计算结果将得到一个长度为7的序列{y1,y2,y3…y7}。据上式子计算如下:
- k=1时,i+j=k+1=2,将满足该等式的(i,j)组合成的集合为Sk,于是有S1={(1,1)},只有一个,所以:
yrc1=Y1,1
- k=2时,i+j=k+1=3,将满足该等式的(i,j)组合成的集合为Sk,于是有S2={(1,2),(2,1)},有2个,所以:
yrc2=1/2(Y1,2+Y2,1)=1/2(2+4)=3
k=3时,i+j=k+1=4,将满足该等式的(i,j)组合成的集合为Sk,于是有S3={(1,
更多推荐
所有评论(0)