使用 python 预测长期船舶位置
Predicting long term ships positions with python
我有这个关于船舶位置的历史数据集
id : the id of the ship
date : the date when the position was recorded (on a daily basis)
size: the size of the ship (categorical with 3 categories)
longitude
latitude
zone : binary (the variable to predict)
destination: The port of destination
heading : a numerical variable indicating the angle of direction of the ship
所以典型的一行看起来像
id date size longitude latitude zone destination heading
123 20/04/2017 PMX 26.3565 -15.7474 True NYC 36.7654
根据一些标准,我可以意识到,对于每艘船,他们过去所制定的一组不同的轨迹。所以我创建了一个新功能,我称之为轨迹。我还创建了一个速度变量所以我的新数据框看起来像这样
id date size longitude latitude zone destination heading trajectory
123 20/04/2017 PMX 26.3565 -15.7474 True NYC 36.7654 1
123 21/04/2017 PMX 29.3556 -18.7498 True NYC 46.7654 1
123 15/05/2017 PMX 36.8760 12.3449 False CHINA 78.7640 2
... ........ .. ..... ..... .... .... ...... ..
567 13/04/2017 SFD 17.8687 16.8787 False Balb 23.3232 3
我必须为该区域实施分类算法,以确定在接下来的 30 天内是否有船只经过该区域。我读过一些关于使用轨迹之间的自定义距离进行 DBSCAN 聚类的论文。但这是为了预测位置。所以我想知道是否有更简单的方法来解决这个问题?
对于典型的远洋货船,30 天基本上是一次航程,但有时是两次。
所使用的路径往往非常相似,因为它们被认为是最优的(绕过风暴的模数路由)。这些路线不仅对同一艘船是一致的,而且在所有大小大致相似的船之间也是一致的。
因此,一种方法是根据您的历史数据构建一个路线库,不是对位置而是对路径进行聚类。如果起点和目的地相同或相似,则应检查路线的相似程度。 "CHINA" 不是一个足够精确的目的地,因此如果这是您的真实输入数据,您应该丢弃该列并通过检查哪个端口靠近每个旅程的实际最后位置来生成您自己的目的地。
离开陆地后,货船的速度有些统一,所以预测的路线应该足以预测每天行程中的位置。当然,一旦开始,您就可以根据已有的数据测试预测器。
你的目标区域越小,这就越难。希望它们很大。
我有这个关于船舶位置的历史数据集
id : the id of the ship
date : the date when the position was recorded (on a daily basis)
size: the size of the ship (categorical with 3 categories)
longitude
latitude
zone : binary (the variable to predict)
destination: The port of destination
heading : a numerical variable indicating the angle of direction of the ship
所以典型的一行看起来像
id date size longitude latitude zone destination heading
123 20/04/2017 PMX 26.3565 -15.7474 True NYC 36.7654
根据一些标准,我可以意识到,对于每艘船,他们过去所制定的一组不同的轨迹。所以我创建了一个新功能,我称之为轨迹。我还创建了一个速度变量所以我的新数据框看起来像这样
id date size longitude latitude zone destination heading trajectory
123 20/04/2017 PMX 26.3565 -15.7474 True NYC 36.7654 1
123 21/04/2017 PMX 29.3556 -18.7498 True NYC 46.7654 1
123 15/05/2017 PMX 36.8760 12.3449 False CHINA 78.7640 2
... ........ .. ..... ..... .... .... ...... ..
567 13/04/2017 SFD 17.8687 16.8787 False Balb 23.3232 3
我必须为该区域实施分类算法,以确定在接下来的 30 天内是否有船只经过该区域。我读过一些关于使用轨迹之间的自定义距离进行 DBSCAN 聚类的论文。但这是为了预测位置。所以我想知道是否有更简单的方法来解决这个问题?
对于典型的远洋货船,30 天基本上是一次航程,但有时是两次。
所使用的路径往往非常相似,因为它们被认为是最优的(绕过风暴的模数路由)。这些路线不仅对同一艘船是一致的,而且在所有大小大致相似的船之间也是一致的。
因此,一种方法是根据您的历史数据构建一个路线库,不是对位置而是对路径进行聚类。如果起点和目的地相同或相似,则应检查路线的相似程度。 "CHINA" 不是一个足够精确的目的地,因此如果这是您的真实输入数据,您应该丢弃该列并通过检查哪个端口靠近每个旅程的实际最后位置来生成您自己的目的地。
离开陆地后,货船的速度有些统一,所以预测的路线应该足以预测每天行程中的位置。当然,一旦开始,您就可以根据已有的数据测试预测器。
你的目标区域越小,这就越难。希望它们很大。