APP下载

基于DBSCAN和iForest算法的船舶异常行为分析∗

2021-05-25

舰船电子工程 2021年4期
关键词:聚类轨迹船舶

(兰州大学信息科学与工程学院 兰州 730000)

1 引言

随着5G时代的来临与物联网行业的兴起,海量数据蜂拥而至,船舶自动识别系统(AIS)的数据量也与日俱增。同时伴随着一带一路发展战略,繁杂的数据为海洋监管提出了更多的挑战。船舶在航行过程中,受到风、流和雷电等气象环境异常时,容易造成航道偏差,造成位置异常;追越,横越,多船舶会遇等人为因素或其他突发情况也会给水上交通带来安全隐患。特别是大型船舶的异常航行,若未及时发现并纠正,最终会造成失控风险,损失难以估量。因此,船舶在第一时间发现行为异常时,如果及时监测到并报警,就能大大降低船舶异常行为的危害性,保证航行安全。在当前大型船舶数量与快速增长的情况下,异常识别,不仅对于船舶驾驶人员,船舶航运监管人员,甚至整个航运业来说,都是非常现实的问题。海上交通特征规律蕴含于海量的船舶AIS历史数据中。从海上交通工程的角度研究船舶行为模式,利用数据挖掘技术对AIS数据进行分析,所挖掘的船舶行为知识可以运用到船舶航行位置预测、船舶异常行为检测及海上交通流模拟等研究领域,为港口主管部门的通航环境管理等提供理论依据[1]。本文目的是通过AIS数据的分析,感知海上交通态势以及识别异常船舶,使得海事部门及船舶公司尽早发现异常,及时预警,快速排查问题船舶。采用该方法进行船舶异常识别的稳定性较好,结合线性时间复杂度的iForest算法[2],化繁为简,同时也提高了船舶异常行为识别的准确性。

近年来,随着AIS(Automatic Identification Sys⁃tem,船舶自动识别系统)设备的应用,通过海量的AIS数据,可以实现船舶全球监控。每个AIS解码消息,由MMSI编号标识,包含静态和动态信息,前者与船舶的识别有关(如船型、呼号、名称、国际海事组织(IMO)编号、长宽),后者则与状态向量有关(如位置、对地航向(COG)、对地航速(SOG)),以及历史和当前航线模式有关)[3]。本文主要针对AIS动态信息进行实验分析。

2 船舶异常行为概念及研究现状

船舶异常行为指的是与所期望的船舶活动相偏离的行为,即与船舶群体运动总体行为相偏离的行为。通常包括船舶偏离正常航道,突然加速、减速,出现在不该进入的区域等。而船舶异常行为检测是从船舶轨迹历史记录提取出船舶运动总体的宏观行为,依此找出与总体特征差异较大的个体行为[4]。通过分析船舶的一般行为,某些数据对象与其不一致时,可得到部分离群点。从异常检测算法来说,离群值是一种观测值,它与其他观测值偏差大,以至于怀疑它就是一个不同机制生产的数据点[5]。Richard O.Lane介绍了船舶的五种异常行为:偏离标准航线、意外的AIS活动、意外的入港、接近和区域进入[6]。常见的异常成因:数据来源于不同的类(异常对象来自于一个与大多数数据对象源(类)不同的源(类)的思想),自然变异,以及数据测量或收集误差[7]。海上AIS数据的运动轨迹本来会有一些不确定性,本文旨在发现这些数据潜在规律,针对这些数据,结合地理领域知识,专家知识,进行统计与分析,并建立数据驱动的异常检测器,合理可靠地检测异常行为。通过不断地更新数据,建立更大的正常数据样本,为研究海洋船舶运动模型打下基础。

利用船舶AIS数据对船舶异常行为检测监控是现今船舶的热点问题,B.Ristic等人利用核密度估计的方法,在零假设的条件下,从实际AIS历史数据中,构建正常模型识别船舶异常[8]。Rikard⁃Laxhammar使用无监督学习,高斯混合模型的方式,使用EM算法构建船舶轨迹检测模型,通过概率密度函数识别船舶异常行为[9]。甄荣利用统计学曲线拟合最小二乘法,得到正常船舶的数学表达模型[10]。姜佰辰同样使用高斯混合模型及EM算法实现异常检测,主要针对大连港渤海区域船舶轨迹主成分分析[11]。这些方法在宏观上建立模型,对于具体船舶所处海域港口以及船舶所处环境和船舶轨迹航速等特征提取较少。本文主要是面向北部湾海域,对船舶轨迹点及对地航速进行重点分析,结合聚类与异常检测算法,对比不同模型下的评估标准,针对性找寻适合北部湾区域的船舶异常识别方法。

由于采集到的原始AIS信息没有标签,一般采取无监督方式的机器学习,实验方法与评判难度较大。本文通过化繁为简,不直接对系统正常行为建模,因为此类影响复杂,且未知。定义一个先验假设,即异常并不是集中的。离群点检测是监督学习的一种替代方法,特别是标签信息难以获取或不可靠的应用中,将非监督方法转化为分类。该方案将检测密度水平定义为一个分类问题,很好地采用了所使用的分类算法[12]。由于缺乏经验性的度量方式,我们将通过预先的速度(SOG)聚类,结合地理环境港口码头情况,对比支持向量机,协方差稳健估计,孤立森林和局部异常因子检测等方法,选取最优模型,判断出速度及位置异常。

3 研究方法

在异常检测算法中,大多数方法倾向于首先对轨迹进行预处理[4]。在预处理过程中,采用聚类分析,这是一种无监督的机器学习方法。一般根据数据本身的性质,固有属性,按照某种内在指标将其分成若干个簇,使得簇内相似度大,不同簇之间相似度小。本文根据领域知识定义模式之间的距离测度并选取DBSCAN算法对船舶轨迹点及速度进行聚类。该算法利用基于密度聚类的概念,即要求聚类空间中的一定区域内所包含对象的数目不小于某一给定阀值[13]。借此,以快速处理噪声并构建任意形状的聚类。通过聚类比较其轮廓系数,选择合适的分簇,合理分配速度比例,能够有效提取速度异常。

本文通过一类支持向量机(One-Class SVM),协方差稳健估计(Robust covariance),局部异常因子(Local Outlier Factor)以及孤立森林(iForest)算法对比,择优选取iForest算法为主要的识别方法。其中,One-Class SVM对异常值敏感并因此对异常值检测执行得较好。当训练集不受异常值污染时,此估计器最适合异常检测[12]。也就是说,在高维中进行离群点检测,或者不对基础数据的分布进行任何假设时,一类支持向量机可以给出有效的结果。Robust covariance的协方差矩阵对异常值的变化非常敏感,如果波动较大,评价结果将产生不稳定因素。当出现差异较大的个体时,将会导致协方差发生较大变化,主成分提取会产生较大变化,稳健协方差估计的核心就是利用迭代思想,不断计算离群点和中心的马氏距离,最终找到一个稳定的中心群点,形成所需要的协方差估计[14]。Local Outlier Factor(LOF)通过计算一个数值来反映一个样本的异常程度,其核心部分是关于数据点密度的表达。这个数值的大致意思是:一个样本点周围的样本点所处位置的平均密度比上该样本点所在位置的密度。比值越大于1,则该点所在位置的密度越小于其周围样本所在位置的密度,这个点就越有可能是异常点[15]。局部离群点检测是基于最邻近方法,有较高的计算要求,因为最近邻方法需要存储所有或大部分过去的实例,以便对未来的数据进行有效的分类。

孤立森林(Isolation Forest)算法是一种集成算法(类似于随机森林),主要用于挖掘异常数据,或者说离群点挖掘,是在一大堆数据中,找出与其它数据的规律不太符合的数据。该算法不采样任何基于聚类或距离的方法,因此他和那些基于距离的异常值检测算法有着根本上的不同,孤立森林认定异常值的原则是异常值是少数的和不同的数据,能够产生一个更接近数据的边界,而且显得较为平滑。

整个算法的过程就是随机选择一个特征,再在该特征下最大与最小值间随机选择一个值作为切分点,递归切分数据集,直到每个样本点被隔开,从而构建一棵类似分类树的随机树。重复构建多颗随机树。从根节点到叶节点的路径越长,代表该点越难被隔离,即该点越不可能是异常点。计算每个样本点路径长的平均值,即得到该点得分,得分越低越可能是异常点。在定义的二叉树中,不成功搜索的平均路径长度为

其中 H(i)为调和数,可由 ln(i)+0.5772156649(欧拉常数)估计。由于c(Ψ)是h(x)的平均值,我们用它来标准化h(x)。则x的异常得分s定义为

式中,E(h(x))是集合中h(x)的平均值。以下条件提供了异常值的三个特殊值:

1)当E(h(x))→0,s→1;

2)当E(h(x))→ψ-1,s→0;

3)当E(h(x))→c(ψ),s→0.5。

使用异常评分s,我们可以进行以下评估:

1)如果最后返回的s非常接近1,那么它们肯定是异常;

2)如果最后的s远远小于0.5,那么它们被视为正常,且相当安全的;

3)当s约等于0.5时,整个样本并没有任何明显的异常。

经比较,本文重点使用孤立森林算法对船舶划分决策区间,分析识别异常点。在数据集中,异常数据往往占据极少数且与正常数据有所差异,因此在整个数据集中易于分开。iForest使用了一套非常高效的策略,借鉴了随机森林集成学习的思想,不需要计算点对点的距离或每个点的密度,大大的降低了算法的复杂度[16]。

4 实验过程及分析

实验使用的计算机配置为英特尔酷睿i5 CPU M430@2.27 GHz,内存:4.7GB,Linux操作系统。实验数据来自美国marinetraffic网站(https://www.marinetraffic.com),实验使用Python语言在Spyder环境下训练拟合。

4.1 实验过程

首先进行数据预处理:在全球2G大小,1.6亿条船舶数据中筛选出北部湾区域的AIS数据,本实验使用某时刻该海域一千余条船舶分布点进行实验。先删除MMSI、SOG、COG为空的行。删除速度,经纬度异常值(如速度负值或大于100,经度大于180°,纬度大于90°)。定义一个围绕北部湾内部,约150km的数据集,经纬度范围为经度介于108°E到110°E,纬度介于20°N到22°N,从已获取的23万条船舶中筛选出该范围内的一千条船,可视化如图2所示,与船讯网分布(图1)大体一致,然后进行聚类分析。通过这样的选择性抽样可以简化问题,同时针对性更强。

图1 船讯网北部湾海域

图2 实验下北部湾数据

预先通过DBSCAN算法对船舶位置及航速航向(见图3)分别聚类。位置聚类大致效果如图4,重点是将速度分簇(见图5),针对AIS数据进行船舶轨迹数据挖掘,找出异常点并分析异常行为,可以通过轨迹聚类,首先将船舶轨迹相似性分组。然后利用分类或者离群点检测、奇异值检验的方式,从规则的模式中检测出异常。在船舶运动规律中,除了轨迹点经纬度信息,更重要的就是其SOG速度信息。对于速度信息,SOG取值范围为0~1022,以1/10节距为单位,最高为1022也就是102.2节[17]。

图3 船舶航速航向散点图

图4 基于DBSCAN的船舶分布

图5 分簇不同情况下的轮廓系数及速度分布

针对北部湾海域的某时刻船舶AIS数据,SOG取值从0~54,即,此区域船舶速度在0~5.4节,对此进行速度聚类。在聚类方式上,由于K-means需要预先设定K值,对最先的K个点选取很敏感,且数据较大时容易陷入局部最优,而DBSCAN能发现任意形状的聚类,根据船舶密度稀疏不同,改进了DBSCAN当中eps参数的选择,根据船舶间的欧氏距离,定义模式之间的距离测度,使得eps与船舶间平均距离相关,最终将船舶与北部湾海域地理环境较好匹配,基本分布在不同港口范围内。将速度分成三簇,以便与后续iForest的算法结合,综合判别异常行为。

在评价中,当然是希望聚类的簇内凝聚度越高越好,同时簇间的分离度也越高越好,但事实上这两者在某些情况下需要平衡。轮廓系数(Silhou⁃ette Coefficient)这一指标结合了聚类的凝聚度和分离度,能够很好地用于评估聚类的效果。该值处于-1与1之间,值越大,表示聚类效果越好。可以用来在相同原始数据的基础上用来评价不同算法、或者算法不同运行方式对聚类结果所产生的影响。具体轮廓系数如下式:

其中a(i)为i向量到同一簇内其他点不相似程度的平均值,b(i)为i向量到其他簇的平均不相似程度的最小值[18]。

通过对已处理的AIS数据的对地航速,将SOG进行速度聚类。在该情况下,速度分别被聚为2,3,4,5,6类时,所对应的轮廓系数见表1。

表1 不同速度分簇下的轮廓系数

按照轮廓系数的比较,当速度聚为6簇时,轮廓系数最大,但根据图5(a),图5(b)比较,可视化后,速度分为3簇更为合适。当锚泊或系泊且移动速度不超过3节的船舶AIS发送间隔较长[17],通常是3min。换而言之,船速在3节以下的船舶都是低速航行。因此我们将SOG按照相对低中高的速度分为[0,25],[25,40],[40,60]三个区间。

在速度分为3簇的情况下,分别用紫色,蓝色和黄色表示船舶某时刻在当前海域中所对应的低速,中速,高速这三个划分状态,见图6。

图6 船舶速度状态分类

根据船舶在北部湾海域分布情况,构造一个包含第3节介绍的四种模型的分类器,将预处理的数据拟合到每个模型,然后对比每个模型如何检测异常值。预处理后的数据内部遵循一些船舶运动真实情形下的隐藏约束。计算出各个模型的轮廓系数(见表2)以及对比各模型的异常边界(见图7)。

表2 模型指标对比

图7 四种算法决策边界对比

4.2 实验结果分析

根据四种模型比对,一类支持向量机与孤立森林能够很好的将位于(21.7°N,109.8°E)异常点识别出来,经查验,此点位于沿岸陆地。而对于(20.2°N,110°E)附近的点,主要是琼州海峡进出港船舶,属于正常船舶停靠及低速航行。针对(21.2°N,109°E)速度异常点查验,发现该点船舶状态AIS⁃VesselType为Fishing,与周围船舶相比这个速度捕鱼,明显异常。由于在海图上截取部分区域,因此对于(20°N,108°E)附近海域的局部识别效果不是特别好。相对于其他三种算法,iForest的轮廓系数最高,运行时间也相对较高,但整体划分效果较好,决策边界能够与海岸线相接近匹配,决策边界更友好。

考虑到海上航行及锚地港口停泊,进出港速度及航行的位置不同,结合地理领域知识,港口及海岸线等情况,可以更好地分析判别船舶异常点。

孤立森林的算法本质上是一个无监督学习,不需要数据的类标,但根据算法所给出的结果找这个数据的内在结构,尤其是对于海岸线结构,港口情况都能较好拟合。因为是集成学习的方法,所以可以用在含有海量数据的数据集上面。通常树的数量越多,算法越稳定。由于每棵树都是互相独立生成的,因此可以部署在大规模分布式系统上来减少运行时间,加快速度[19]。

5 结语

通过聚类及异常点识别的算法,经可视化识别分析,结合DBSCAN的iForest算法能够准确地找到船舶间的这种相对隔离程度。针对北部湾区域进行船舶的聚类分析,并结合船舶历史轨迹研究发现,大部分船舶分布在(20.2°N,110°E)琼州海峡,(21.5°N,109.5°E)铁山港,(21.5°N,109°E)北海港,(21.75°N,108.5°E)钦州港,(21.5°N,108.3°E)防城港附近区域,这里的船舶港口或者锚地行驶,其航迹点分布及速度规律符合航行与停泊大致规律,分布密度稀疏程度已形成模式,离群点(孤立点)或异常点区别于正常船舶轨迹点分布。结合速度规律,通过iForest模型拟合,可以对今后海洋监管当中的实时数据,进行早期预警。进行这种融合的好处在于将船舶位置与速度的异常结合起来,充分利用港口信息和AIS基本信息,高效快速发现异常点,对应异常船舶的MMSI和船舶名称,找到相关所述单位或集团公司,及时上报排疑,便于监控人员及时发现问题,有利于加强船舶的岸基管控把关。

后续,通过对异常行为分析中的高发地点进行标记,记录船舶发生故障地点并结合当地气象条件和故障时间,还可以为船队航行保障提供参考。

猜你喜欢

聚类轨迹船舶
一种傅里叶域海量数据高速谱聚类方法
大数据分析的船舶航迹拟合研究
船舶稳性控制系统研究
解析几何中的轨迹方程的常用求法
基于知识图谱的k-modes文本聚类研究
《船舶》2022 年度征订启事
一种改进K-means聚类的近邻传播最大最小距离算法
船舶上层建筑建造工艺探讨
轨迹
轨迹