基于机器学习和AIS数据分析的港口类型预测
基于机器学习和AIS数据分析的港口类型预测
虞天昊
舟山市港航和口岸管理局 浙江省舟山市 316000
摘要 全世界的主要港口和静止区域大约有25000个,其中很多不为人所知。航行在这些区域的海员非常希望能够有方法知晓附近的港口类型。船舶装载的自动识别系统所发送的数据可以构建对海上情况的认知和判断港口类型。本文聚焦使用机器学习中的监督分类法分析AIS数据,从而实现构建全球记录较少的区域的港口图,并对港口类型进行分类鉴别。
关键字 AIS数据分析,机器学习,港口类型分类。
一、引言
定位数据分析已被证明是掌握海上交通情况的关键元素。过去十年大量研究利用AIS数据分析海上交通和船舶行为。AIS是通过射频通信达到实时交换船舶数据的自动辅助导航系统。该系统广播的数据主要包含定位(经度,纬度,速度,相位等),身份(船舶名称,船舶长宽,船舶类型等)和航行(目的地)等信息。
二、问题描述
目前的对船舶和港口互动的研究主要是以起点-终点集合的形式进行简单建模。但是,港口特性并不是静态的,会根据海上交通、船舶类型、环境、季节性和港口结构等条件发生变化。针对那些在全球记录很少的海上区域信息难获取的现状,本文聚焦为海员提供相应港口的分布图和有价值的信息。本文使用KNN和随机森林分类[1]两种监督分类方法,这两类方法的性能效率已在大量的数据集中得到验证[2]。
三、监督分类法
监督分类法是一组来自于监督机器学习的分类方法,通过对已知数据打上标签,使用分类方法进行建模,实现对新数据的预测。
(一)KNN
KNN综合训练数据集的K个输入的距离信息预测新数据Y,对数据进行归一化处理后能提升算法精度。KNN算法虽然比较简单,但是超参数非常关键。在算法实现中要注意距离的重要性。另一方面,算法应用非常吃内存所以受限于训练数据集的大小。
(二)随机森林分类器
该方法基于决策树,决策过程可以用树展示,树枝的末端(叶)代表可能的决策。树枝通过节点获取,每一个对应几个参数间的决策。决策树的主要缺点是非常依赖数据样本。
为了克服这个缺点,随机森林算法由连续的决策树应用构成。通过结合一些独立模型的结果减少方差和预测错误。随机森林算法的最后预测就是决策树集合最高频的分类。随机森林在预测问题中是强大的建模工具,训练阶段收敛很快,尤其适用变量很多的情况。该算法的缺点是可读性,结果不是那么浅显易懂。
四、学习过程
数据样本来自法国西北部4842艘船舶在半年期间产生的1860万公开定位数据[3]。目标是根据AIS提供的船舶位置和类型建立港口制图。选择的船舶以低于0.3节的航速航行于港口1海里附近的区域,即在海岸锚泊或靠港的平稳船舶。
分类方法使用的是开源库Scikit-Learn[4],分类的过程包含三个阶段。
训练阶段:将解释性变量X_train和待预测变量Y_train通过算法进行训练。
测试阶段:将模型还未学习的已知数据(X_test,Y_test)喂给算法,基于X_test得到预测数据Y,并与Y_test进行性能比较。这种训练技术具有简单和即时的优点,但是需要注意的是,还有很多更彻底的评估技术,例如交叉验证,稍后会讨论。
预测阶段:训练和测试阶段取得可信赖的性能后,可以输入X预测输出Y。在本文中,我们通过船舶位置数据推断出每个港口关联的船舶类型。
KNN和随机森林算法的超参数通过Scikit-Learn的GridSearchCV函数设置,用交叉验证评估模型,对222个实际港口进行了分类。分析混淆矩阵比较预测正确与否的数量,进而确定模型最好的港口预测类型。
五、结果讨论
(一)KNN结果
KNN在学习和测试阶段得分超过0.99,在交叉验证中得分超过0.94。这反映模型非常有效,混淆矩阵表明预测误差非常小。
主要的分类错误来自将42条休闲船划分为捕捞渔船,占休闲船舶数量的1.73%。第二个主要错误将16条捕捞渔船划分为休闲船舶,占捕捞船舶数量的0.11%。这些错误是由于这两类船舶的相似性引起的:大多数捕捞渔船来自靠近海岸的小港口,这里同样是风帆游艇的出没地。结果显示对其他船舶的分类准确率很高。考虑到散货船和邮轮的相似性,最后的分类误差出人意料的小。
(二)随机森林结果
随机森林允许对模型进行有效性验证。然而,渔船和休闲艇之间几乎没有混乱。在这个案例中,21条渔船被划为休闲艇(渔船总数的0.14%),相反有25艘休闲艇被划分为渔船(休闲艇数量的1.03%)。虽然休闲艇的误差率比KNN算法高,但是整体上随机森林算法的误差更小。跟KNN算法一样,随机森林算法对其他类型船舶的分类表现出色。
(三)讨论
从KNN算法和随机森林算法产生的地图可以观察到一些不同,在训练阶段,如果在观察区域几乎没有数据落,最终的预测会非常依赖于所使用的方法。KNN会根据港口之间的距离远近进行集聚分类,而随机森林算法会参照别的标准进行不同的分类预测。
因为布列塔尼分布的港口已知,我们可以将每个算法得到的结果与实际情况进行关联从而比较哪个模型更精准。但是我们的目标是在未知区域进行模型的评估。这种情况下,KNN取得的交叉验证分数比随机森林算法高0.018%。虽然这个差别很小,我们还是偏向于KNN模型更加精准。另一方面,KNN算法相比树形结构的随机森林算法计算量更小。
六、结论
本文展示了基于机器学习和AIS数据的港口分析。设计模型依靠KNN和随机森林分类,确定了船舶稳定的区域(港口,锚泊地)和关联港口类型(鱼缸,贸易等)。尽管实际的海员对结果比较满意,其余的分析方法例如SVM、神经网络已在开展中。
参考文献
[1]达玛斯图蒂,“基于自动识别系统使用KNN算法对船舶进行分类”,2019国际信息与通信技术应用国际研讨会。
[2]马约,“基于迭代火花的大数据K近邻分类器设计”基于知识系统,数据科学多样性。
[3]卡莫西,“用于海上情报、监视和侦察的异构集成数据集”数据简介, 2019。
[4]瓦罗夸,“Scikit-learn: 机器学习,” 机器学习研究杂志, 2011。