【发布时间】:2012-06-10 02:32:45
【问题描述】:
我有一个数据集,其中包含由个人手机记录的每分钟 GPS 坐标。 IE。该数据集有 1440 行具有 LON/LAT 值。根据数据,我想对参与者家的位置进行点估计(经度/纬度值)。让我们假设家是他们在给定的 24 小时间隔内花费大部分时间的单一位置。此外,GPS 传感器在大多数情况下具有很高的精度,但有时它会完全关闭,从而导致巨大的异常值。
我认为解决此问题的最佳方法是将其视为点过程并使用 2D 密度估计来找到峰值。在 R 中是否有本地方法可以做到这一点?我查看了 kde2d (MASS) 但这似乎并没有真正起到作用。 Kde2d 使用密度值创建数据范围的 25x25 网格。然而,在我的数据中,这个人每天可以轻松地旅行 100 英里或更多,所以这些街区通常是一个太大的估计值。我可以缩小范围并使用更大的网格,但我确信必须有更好的方法来获得点估计。
【问题讨论】:
-
如果您正在寻找坐标的质心,那么坐标上的聚类算法可能是一种合理的方法,
kmeans有一个中心?包flexclust有kmedians选项,这将缓解一些与异常值有关的问题 -
嗯,我有点担心 kmeans 会将太多的点聚集在一起(例如,找到一个与家在一起的集群,还有附近的超市和咖啡店),然后这个集群的中心实际上会是离开。最好直接找到高密度位置而不将点分组。
-
是的。这可能是一个过于简单的解决方案。您可以通过查看访问过的位置范围来定义边界,然后在 kde2d 中定义网格点的数量以反映合理的空间分辨率。
-
您可以对数据进行四舍五入(例如,以数百米为单位,假设房屋宽度小于 100 米),并使用
table查找得分最多的位置。 -
查看 adehabitatLT 中的居住时间以获取其他选项
标签: r geospatial spatial cran