聚类轨迹((x,y)点的GPS数据)并挖掘数据


14

就在人类炮弹办公室的另一天。

在分析GPS数据集时,我有2个问题。

1)提取轨迹我有一个庞大的数据库,记录着形式的GPS坐标(latitude, longitude, date-time)。根据连续记录的日期时间值,我试图提取此人遵循的所有轨迹/路径。例如; 比方说,时间到了M,结(x,y)对一直在不断变化N。之后N(x,y)成对的变化减小,此时我得出结论,从时间MN可以称为轨迹。提取轨迹时遵循的一种体面方法吗?有什么可以建议的知名方法/方法/算法吗?您是否想建议我以有效的方式维护这些观点的数据结构或格式?也许,对于每个轨迹,找出速度和加速度会有用吗?

2)挖掘轨迹一旦我遵循了所有轨迹/采取了路径,如何比较/组合它们?我想知道起点或终点是否相似,那么中间路径如何比较?

如何比较2条路径/路线,并得出结论是否相似。此外; 如何将相似的路径聚集在一起?

如果您能指出我对这件事的研究或类似内容,我将不胜感激。

开发将使用Python,但是欢迎各种库建议。

我正在打开完全相同的问题/programming/4910510/comparing-clustering-trajectories-gps-data-of-xy-points-and-mining-the-data在StackOverflow中。以为我会在这里得到更多答案...


1
一个很好的答案将注意您为什么进行此分析。您的“人员”正在做什么活动?在这种情况下,“轨迹”是什么意思?您为什么对这些轨迹感兴趣?轨迹“相似” 什么意思?您的澄清将提出适当的答案;没有澄清,获得合适的答案将是运气和猜测的问题。
ub

好吧,我有兴趣弄清楚这个人的日常生活;她每天/每周/每月去哪里?去那里时通常遵循什么路径/路线?她很少走哪条路?
Murat

该数据库包含一个月内人们记录的GPS点,频率为1-2秒。我不知道他们在做什么。实际上,这就是我感兴趣的发现。
Murat

1
@Murat好,很好。让我们更加精确。当一个人在家里或办公室里走动时,您会认为它静止不动还是在试图追踪这些轨迹?当您说两条轨迹“相似”时,您是说它们似乎在点A和点B之间遵循相同的路径,还是都从点A到达点B(也许通过不同的路线,但没有停止),或者其他?顺便说一句,您的数据是完整的还是(正如人们所期望的那样)在某些时期丢失或已知数据有误?
ub

1
@ user5013-看一下Microsoft Research已发表的内容。它“包含17621条轨迹,总距离约为120万公里,总持续时间为48000多个小时。” research.microsoft.com/en-us/downloads/…–
Murat

Answers:


2

您可能会感兴趣的两篇文章,因为它们与您的动机相似:

可预测性局限性:宋朝明,Ze泽辉,尼古拉斯·布鲁姆,阿尔伯特·拉斯洛·巴拉巴西。 科学,卷 327号,第5968号。(2010年2月19日),第1018-1021页。

了解个人的移动方式 ,方法如下:玛塔·冈萨雷斯(Marta C. Gonzalez),塞萨尔·希达戈(Cesar A. Hidalgo),阿尔伯特·拉斯洛·巴拉巴西(Albert-Laszlo Barabasi)。 自然卷 453,第7196号。(2008年6月5日),第779-782页。

请注意,这两个研究使用相同的数据,这与您的数据相似,但不是在空间或时间的精确度上。我不认为我会形容您想要找到的轨迹,但是我也不知道该如何称呼它。为什么要精确地对“轨迹”的开始/结束节点进行聚类。


2

PySAL-Python空间分析库可能是一个不错的开始-http: //code.google.com/p/pysal/

特别是自相关部分:

空间自相关与一组空间单位上的属性值的非随机模式有关。这可以采用两种一般形式:正自相关反映空间中的值相似性,以及负自相关或空间中的值不相似。在这两种情况下,当观察到的空间模式与在空间中运行的随机过程所期望的空间模式不同时,就会出现自相关。

http://pysal.org/1.2/users/tutorials/autocorrelation.html

您也可以考虑使用R库http://cran.r-project.org/web/views/Spatial.html进行点模式分析

其他R软件包:

用于访问和处理空间数据以进行动物跟踪的功能。筛选速度并根据动物轨迹数据创建花费时间的图。

如果将点捕捉到OSM可用的现有线性运输网络(公路/铁路),则也可以简化分析。然后,您可以根据这些线以及一天中的特定时间使用多少人来进行符号化。


给定问题的上下文,建议检查自相关没有任何意义。自相关有哪些属性?
安迪W

GPS读数的时间戳可用于查看一天中不同时间使用城镇或城市的哪些区域。尽管目前尚不清楚主要研究是否是寻找人们的工作或人们如何到达那里的方法。
geographika

还可以分析派生的点数据集,这些数据点具有与分组并给出“持续时间”参数的个人密切相关的点
geographika,

您的第一条评论将分析单位从人转移到地方。虽然我同意这个问题有些模棱两可,但其中没有任何内容可以暗示OP想要聚集位置。我可以看到第二个注释的论点(一个点具有速度属性)。尽管这是一个有趣的概念,但是它非常抽象和新颖,因此我认为建议检查空间自相关并没有多大意义,并且可能会造成混淆(您可以在该框架中聚集点,而不是整个路径)。我同意,虽然pysal和R库很有趣。
安迪W

2

尽管我无法对您的人员的轨迹或道路发表过多评论,但我认为您在集群和时间方法上走了正确的路。

去年,我与Snow Leopard Conservancy的一些人员一起为Esri UC编写了一个演示,该演示可从以下网站获取:http : //resources.arcgis.com/gallery/file/geoprocessing/details? entryID=1F9F376F-1422-2418 -7FBC-C359E9644702

它根据给定的标准查看“雪豹”的“觅食地点”(集群):

  • 这些点的分组方式(彼此之间的距离)
  • 最低分数点(我的分析要求每12小时读取4点以上)
  • 点必须是连续的(分析的容易部分,因为它们应以线性顺序收集)

当它使用Esri工具进行距离分析时,一旦知道哪些点彼此靠近,内部的python脚本可能会帮助您实现聚类的想法。(它使用图论:http : //en.wikipedia.org/wiki/Graph_theory

就像其他答案中提到的那样,那里有论文来确定您需要做出决策的属性。

分析大致基于以下概念:Knopff,KH,ARA Knopff,MB Warren和MS Boyce。2009年。评估全球定位系统遥测技术以估计美洲狮的掠食参数。野生动物管理杂志73:586-597。


2

要在一组轨迹上运行任何类型的聚类,您需要一种方法来计算轨迹对的相似性或距离。有几种现有的方法,针对特殊情况或解决传统方法的缺点,正在开发新方法(我正在为我的博士学位论文开发一种新方法)。众所周知的算法如下:

  • 最接近的点对距离:只需通过彼此最接近的点对的距离来定义2条轨迹的距离。轨迹必须包含相同数量的点。
  • 成对距离之和:计算每个点对的距离并将其相加。仅在轨迹长度相同时也适用
  • 动态时间规整(DTW)距离:开发此算法以处理不同数量的测量点的轨迹。它适用于点对,并允许在一对距离计算中多次使用一条轨迹的点(如果另一点移动得太快)。DTW图(图片来自维基百科
  • 最长公共子序列:顾名思义,它通过原始路径彼此靠近的最长子轨迹的长度来定义两个轨迹的相似性。
  • 实序列编辑距离(EDR)和实罚编辑距离(ERP)通过将一条轨迹转换为另一条轨迹所需的编辑操作(添加,删除或替换)的数量来定义相似性。

如果您是这一领域的人,我强烈推荐来自Microsoft Asia的许多经销商的书《用空间轨迹进行计算》。


0

这可能对您也有帮助:

Orellana D,Wachowicz M.探索行人移动中的运动悬挂模式。Geogr肛门。2011; 43(3):241-60。PubMed PMID:22073410。

也看一下这个博客:

ideaonmovement.wordpress.com/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.