gpt4 book ai didi

python - 轨迹聚类

转载 作者:太空狗 更新时间:2023-10-29 23:55:07 24 4
gpt4 key购买 nike

我有大量的时间纬度/经度。

我正在尝试从这些数据中找到轨迹的 k 个簇。最好的方法是什么?

谢谢。

编辑:

我应该如何为我的数据(纬度/经度 + 时间)生成特征以便使用 kmeans/层次聚类?

编辑:

希望这会让它更清晰

这是我的数据的示例:

Trajectory 1:lat1,lon1 at time1lat2,lon2 at time2...lat55,lon55 at time55
Trajectory 2:lat343,lon343 at time343lat344,lon344 at time344...lat376,lon376 at time376

继续(结合更多轨迹)。

假设我有 200 条这样的轨迹,我想将它们分成 2 组。我应该如何处理这个问题?

我应该为此使用 kmeans/HAC 还是应该考虑其他方法?

编辑:

这样做的目的是将轨迹分类为 k 个簇,代表轨迹的 k 个不同方向。

简单地说,我只是想将轨迹聚类到不同方向的组中。我不担心它们的距离相似性。

那么说完我想找这样的东西:

Direction 1:Trajectory 4Trajectory 5Trajectory 7
Direction 2:Trajectory 44Trajectory 2Trajectory 27

...

Direction 10:Trajectory 17Trajectory 8

注:轨迹的形状多为直线(非直线),部分为环状。
注意:纬度/经度对于一个区域来说是 super 局部的,所以我可以使用平面地球近似值。

方向是非常粗略的。我如何计算轨迹之间的相似性以将它们聚类以实现此目的?

编辑:

这是一个例子(尽我所能):

Trajectories and End result

我想将轨迹分成这样的方向。

最佳答案

K-means 是围绕最小化方差而设计的。

将其应用于经度数据时,除非始终靠近赤道并远离 180 度子午线,否则会出现一些错误。因为地球近似于一个球面,而不是一个无穷大的欧氏向量空间。

例如,尝试使用基于距离或密度的聚类算法,该算法可以使用大圆距离。分层聚类也可能是比 k-means 更好的选择。

大圆距离就是两点之间的距离。因此,接下来要做的就是弄清楚如何将这些距离和时间分量组合成适合您的轨迹的相似性度量。这完全取决于使用情况,我们没有可以与您分享的通用解决方案。 相似度函数越好,聚类结果就越好!

关于python - 轨迹聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com