∗
收稿日期:2020年10月2日,修回日期:2020年11月15日
基金项目:国家自然科学基金项目(编号:61772006);广西科技项目(编号:桂科AA17204096,桂科AB17129012,桂科AD16380076);广西“八桂学者”专项资助。作者简介:王臻睿,男,硕士研究生,研究方向:模式识别与机器学习应用。赵坤宇,男,研究方向:机器学习应用。蔡川,女,工程师,研究方向:物联网技术、人工智能。丁孟真,男,硕士研究生,研究方向:深度学习。王鹏,男,硕士研究生,研究方向:机器学习与嵌入式系统。
1引言
随着5G 时代的来临与物联网行业的兴起,海
量数据蜂拥而至,船舶自动识别系统(AIS )的数据
量也与日俱增。同时伴随着一带一路发展战略,繁杂的数据为海洋监管提出了更多的挑战。船舶在航行过程中,受到风、流和雷电等气象环境异常时,容易造成航道偏差,造成位置异常;追越,横越,多
基于DBSCAN 和iForest 算法的船舶异常行为分析
∗
王臻睿
赵坤宇
蔡
川
丁孟真
王鹏
(兰州大学信息科学与工程学院
兰州
730000)
摘
要
为更好地从船舶自动识别系统(AIS )数据中挖掘信息,科学地感知水上交通态势,针对异常船舶进行识别,论
文提出一种基于改进的密度空间聚类算法(DBSCAN ),结合孤立森林算法(Isolation Forest ,iForest )在包含大量不相关船舶分布数据中选取数据集内在分布规律和聚类效果的变化来发现异常;同时针对船舶位置(LAT ,LON )及对地航速(SOG )进行聚类,将速度与船舶密度结合,对船速分簇后结合地理领域知识和iForest 构建的异常边界,更好地发现船舶异常行为。以北部湾船舶AIS 数据为例,应用该文的算法,发现异常并进行分析,可以简化异常识别监控方式,为海事检测部门提供良好的船舶监控环境,降低监控人员的工作强度,为航道建设部门,应急处置部门及海事监管部门等提供合理建议。
关键词
船舶自动识别系统;基于改密度空间聚类算法;孤立森林算法;异常检测
中图分类号
U665
DOI :10.3969/j.issn.1672-9730.2021.04.021
Analysis of Vessel Abnormal Behavior Based on DBSCAN and
iForest Algorithms
WANG Zhenrui
ZHAO Kunyu
CAI Chuan
DING Mengzhen
WANG Peng
(School of Information Science and Engineering ,Lanzhou University ,Lanzhou
730000)
Abstract
In order to discover maritime traffic situation scientifically from automatic identification system (AIS )information
in the data mining for the abnormal vessels identification better ,in this paper ,an improved density-based spatial clustering of ap ⁃plications with noise (DBSCAN ),combined with the isolation forest algorithm (iForest )is proposed.The inner distribution law and the change of clustering effect of the dataset containing a large amount of uncorrelated vessel distribution data are selected to find the
anomalies by this method.At the same time ,the vessel location (LAT ,LON )and speed over ground (SOG )are clustered to com ⁃bine the speed with the vessel density.After clustering the vessel speed ,the abnormal boundary constructed by geographical knowl ⁃edge and iForest is adept at finding the distinct abnormal behavior of the vessel.Taking the AIS data of Beibu Gulf as an example ,the algorithm in this paper can be used to find and analyze anomalies ,which can simplify the monitoring method of anomaly identifi ⁃cation ,provide a good vessel monitoring environment for maritime detection departments ,relieve the work burden of monitoring per ⁃
sonnel ,and provide reasonable suggestions for channel construction departments ,emergency res
ponse departments and maritime supervision departments.
Key Words AIS ,DBSCAN ,iForest ,anomaly detection Class Number
U665
总第322期
船舶会遇等人为因素或其他突发情况也会给水上交通带来安全隐患。特别是大型船舶的异常航行,若未及时发现并纠正,最终会造成失控风险,损失难以估量。因此,船舶在第一时间发现行为异常时,如果及时监测到并报警,就能大大降低船舶异常行为的危害性,保证航行安全。在当前大型船舶数量与快速增长的情况下,异常识别,不仅对于船舶驾驶人员,船舶航运监管人员,甚至整个航运业来说,都是非常现实的问题。海上交通特征规律蕴含于海量的船舶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和iForest算法的船舶异常行为分析90
2021年第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)算法是一种集成算法(类似于随机森林),主要用于挖掘异常数据,或者说离点挖掘,是在一大堆数据中,出与其它数据的规律不太符合的数据。该算法不采样任何基于聚类或距离的方法,因此他和那些基于距离的异常值检测算法有着根本上的不同,孤立森林认定异常值的原则是异常值是少数的和不同的数据,能够产生一个更接近数据的边界,而且显得较为平滑。
整个算法的过程就是随机选择一个特征,再在该特征下最大与最小值间随机选择一个值作为切分点,递归切分数据集,直到每个样本点被隔开,从而构建一棵类似分类树的随机树。重复构建多颗随机树。从根节点到叶节点的路径越长,代表该点越难被隔离,即该点越不可能是异常点。计算每个样本点路径长的平均值,即得到该点得分,得分越低越可能是异常点。在定义的二叉树中,不成功搜索的平均路径长度为
c()Ψ=
ì
í
î
ï
ï
2H()
Ψ-1-2()
Ψ-1n forΨ>2
1forΨ=2
0otherwise.
(1)
c()Ψ=
ì
í
î
spyder python下载ï
ï
2H()
Ψ-1-2()
Ψ-1n forΨ>2
1forΨ=2
0otherwise.
其中H(i)为调和数,可由ln()i+0.5772156649 (欧拉常数)估计。由于c(Ψ)是h(x)的平均值,我们用它来标准化h(x)。则x的异常得分s定义为
s()
x Ψ=2
-
E(h(x))
c(Ψ)(2)式中,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实验过程及分析
实验使用的计算机配置为英特尔酷睿i5CPU *********GHz,内存:4.7GB,Linux操作系统。实验数据来自美国marinetraffic网站(https://www. marinetraffic),实验使用Python语言在Spyder 环境下训练拟合。
91
总第322期
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 的船舶分布
针对北部湾海域的某时刻船舶AIS 数据,SOG
取值从0~54,即,此区域船舶速度在0~5.4节,对此进行速度聚类。在聚类方式上,由于K-means 需要预先设定K 值,对最先的K 个点选取很敏感,且数据较大时容易陷入局部最优,而DBSCAN 能发现任意
形状的聚类,根据船舶密度稀疏不同,改进了DBSCAN 当中eps 参数的选择,根据船舶间的欧氏距离,定义模式之间的距离测度,使得eps 与船舶间平均距离相关,最终将船舶与北部湾海域地理环境
较好匹配,基本分布在不同港口范围内。将速度分成三簇,以便与后续iForest 的算法结合,综合判别异常行为。
在评价中,当然是希望聚类的簇内凝聚度越高越好,同时簇间的分离度也越高越好,但事实上这两者在某些情况下需要平衡。轮廓系数(Silhou ⁃ette Coefficient )这一指标结合了聚类的凝聚度和分离度,能够很好地用于评估聚类的效果。该值处于-1与1之间,值越大,表示聚类效果越好。可以用来在相同原始数据的基础上用来评价不同算法、或者算法不同运行方式对聚类结果所产生的影响。具体轮廓系数如下式:
王臻睿等:基于DBSCAN 和iForest 算法的船舶异常行为分析92
2021年第4期舰船电子工程S ()i =
b ()i -a (i )max{a ()i b (i )}
(3)
其中a (i )为i 向量到同一簇内其他点不相似程度的平均值,b (i )为i 向量到其他簇的平均不相似程度的最小值[18]。
通过对已处理的AIS 数据的对地航速,将SOG 进行速度聚类。在该情况下,速度分别被聚为2,3,4,5,6类时,所对应的轮廓系数见表1。
按照轮廓系数的比较,当速度聚为6簇时,轮
廓系数最大,但根据图5(a ),图5(b )比较,可视化后,速度分为3簇更为合适。当锚泊或系泊且移动速度不超过3节的船舶AIS 发送间隔较长[17],通常是3min 。换而言之,船速在3节以下的船舶都是低速航行。因此我们将SOG 按照相对低中高的速度分为[0,25],[25,40],[40,60]三个区间。
表1不同速度分簇下的轮廓系数
聚类数23456
轮廓系数值0.59560.60500.58610.6080
0.6257
(a )船速分为3
簇
(b )船速分为6簇
图5分簇不同情况下的轮廓系数及速度分布
在速度分为3簇的情况下,分别用紫,蓝和黄表示船舶某时刻在当前海域中所对应的低速,中速,高速这三个划分状态,见图6。
根据船舶在北部湾海域分布情况,构造一个包含第3节介绍的四种模型的分类器,将预处理的数
据拟合到每个模型,然后对比每个模型如何检测异常值。预处理后的数据内部遵循一些船舶运动真实情形下的隐藏约束。计算出各个模型的轮廓系数(见表2)以及对比各模型的异常边界(见图7)。
蓝
黄
紫
图6船舶速度状态分类表2
模型指标对比算法一类支持向量机稳健协方差孤立森林局部异常因子
轮廓系数0.8851
0.88510.88860.8842
运算时间2.246s 4.086s 15.400s
4.235s 图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 的轮廓系数最高,运行时间也相对较高,但整体划分效果较好,决策边界能够与海岸线相接近匹配,决策边界更友
93
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论