APP下载

基于KNN算法的船舶吨级判别研究

2021-07-01陈冬袁媛

中国水运 2021年5期

陈冬 袁媛

摘 要:针对航运大数据应用中船舶吨级数据难以获取的情况,本文提出了一种基于K最近邻(K-Nearest Neighbor,KNN)算法的船舶吨级判别模型。该模型考虑了船舶类型、船长、型宽、型深等参数的影响,以常年在江苏沿江、沿海运行的船舶为例,选取1万余条船舶数据进行训练和验证。结果表明,该模型在船舶吨级判别上具有较好的准确性,能够应用于实际航运数据分析。

关键词:船舶特征;判别模型;K近邻

中图分类号:U674.13         文献标识码:A            文章编号:1006—7973(2021)05-0104-02

1概述

船舶属性数据是非常重要的基础数据,包括船舶身份(IMO、MMSI、船名)、船舶类型、船舶尺度(船舶长度、船舶型宽、船舶型深、满载吃水)、船舶吨级(船舶总吨、船舶净吨、船舶载重吨)等内容。在航运大数据应用中,船舶属性信息与船舶动态信息相结合,能够为航运各领域发展决策提供支撑,如将船舶属性信息中的船舶吨级与船舶AIS数据相结合,能够估算港口在某段时间内的吞吐量。但在航运数据的实际应用过程中,由于航运数据开放共享格局尚未形成,研究人员较难获得全部船舶属性数据,尤其是船舶属性数据中的船舶吨级信息,如AIS数据的船舶静态信息仅仅包括船舶身份、船舶长度、船舶型深、船舶类型等内容,缺少船舶吨级等内容,使航运大数据的应用缺少关键基础数据支撑。

传统的船舶吨级推算主要是利用船舶长度通过曲线估计来计算船舶吨位。传统方法需针对不同的船型选择不同的曲线(二次曲线、立方曲线、S曲线、幂函数等)进行拟合,建模过程繁杂,使用较为不便[1]。针对船舶吨级信息难以获得以及传统估算方法使用不便的问题,本文探索了大数据机器学习方法,提出了基于KNN算法的船舶吨级判别模型。

2 KNN算法

2.1 KNN算法原理

KNN(K-Nearest Neighbor)算法即K最邻近法,是机器学习算法中最常用的分类算法之一,KNN算法主要应用领域是对未知事物的判别,即判别位置事物属于哪一类[2-3]。

算法模型首先对给定的一个训练数据集T进行训练。其中,xi为实例的特征向量,yi为实例的类别。

输出过程中,根据给定的距离度量,在训练集T中找出与x最鄰近的k个点,涵盖这k个点的x的邻域为Nk(x);在Nk(x)中根据分类规则决定x的类别y。

KNN算法模型由距离度量、k值的选择和分类决策规则决定。

2.2 KNN算法实现流程与评价指标

相比传统的依据船舶长度的曲线估计方法,本次基于KNN的船舶吨级判别模型选取了更多的特征向量并采用不同组合进行建模,模型1选取“船舶总长、型宽、船舶类型”为特征向量,模型2选取“船舶总长、型宽、型深、船舶类型”为特征向量。算法的实现流程如图1所示。

为验证模型的可靠性,模型采用决定系数(R2)作为精度评价指标,R2代表目标向量的变化中有多少能通过模型进行解释,具体计算公式为:

式中,是样本i的真实值,是样本的预测值,是目标向量的平均值, R2得分越接近1,代表模型的性能越好。

3 船舶吨级判别模型

3.1 基础数据

本文数据采用常年在江苏沿江、沿海运行的约1.5万艘船舶属性数据,数据内容包括船名、MMSI号、IMO号、总长、型宽、型深、总吨、净吨、载重吨、船籍港、经营人等信息,具体数据示例如表1。

沿江、沿海运行的船舶种类较多,主要船舶种类包括散货船、石油化学品船、杂货船等。本次根据海港总体设计规范,以船舶载重吨计算了散货船、杂货船、石油化学品船、集装箱船等货运船舶的船舶吨级。船舶主要类型及等级分布如图2所示。

3.2 特征数据处理

船舶属性数据处理步骤包括:

(1)数据清理。对船舶类型、载重吨等关键属性缺失以及船舶类型样本较少的船舶数据进行删除处理,最终得到9490条船舶的属性信息。

(2)数据特征量化。特征向量中的船舶类型和目标向量中的船舶吨级为非数值类型,需将其量化为数值,以实现距离计算。

(3)数据抽样。训练集与测试集按照9:1的比例进行数据抽样,最终得到8541条训练样本和949条测试样本。

3.3 模型参数标定

KNN模型的预测效果依赖于不同邻近数K值的选定,K值太大容易引起欠拟合,太小则容易过拟合。本文通过交叉验证确定最优k值,从图3可以看出,K=3时,交叉验证得分R2最高,为0.96,因此取K=3标定本次船舶吨级判别模型。

3.4 模型预测结果分析

用上述建立的KNN船舶吨级判别模型对测试集进行测试,从图4对测试集的测试结果可以看出,两种模型的预测值与真实值基本吻合,模型决定系数R2均大于0.9,准确性较好,其中选用“船舶总长、型宽、船舶类型”作为特征向量的模型1具有更好的测试效果。

4分析与结论

KNN方法较为适合类域交叉的待分样本集的类别判别,本文基于KNN算法,以船舶总长、型宽、型深、船舶类型为特征向量,创新性地提出了船舶吨级判别模型,计算的结果与实际情况基本吻合,具有较好的准确性;同时,相比于传统方法,本次提出的算法适用于不同尺度及类型的船舶吨级判别,应用更为便捷,能够更好地为航运大数据研究提供基础数据支撑。

参考文献:

[1]朱连江.内河船舶交通量换算系数研究[D].大连:大连海事大学,2019.

[2]周志华.机器学习[M].北京:清华大学出版社,2016.

[3]霍豪,沈金星.基于KNN算法的公交到站时间预测[J].交通运输工程与信息学报,2020,12(18):76-102.