【问题标题】:Choosing eps and minPts from DBSCAN with spatial data (lon, lat) in R?使用 R 中的空间数据(经度、纬度)从 DBSCAN 中选择 eps 和 minPts?
【发布时间】:2019-08-01 04:16:31
【问题描述】:

我知道以前的帖子已经讨论过这个主题,但我找不到任何专门针对空间点数据的帖子。我有一个数据集,其中包含 2013 年在纽约市发生的所有停靠站和搜身站。我正在尝试确定停靠站的“热点”。数据格式如下:

stops <- data.frame(lon=c(-74.00478, -74.01046, -74.00521),
                    lat=c(40.71641, 40.71153, 40.72063),
                    precinct = c(1,1,1))

还有其他特征(总数 = 89),例如停止时间、嫌疑人种族、停止原因等。此外,共有 173,671 个观察值。

我的问题是使用 knn 方法来查找 eps 我必须转换 lat 和 lon 还是可以按原样使用它们?

我的另一个问题是如何选择 minPts?我看过其他教程,其中包含 Python 和 R 与 Tableau 集成的犯罪数据,似乎他们是根据一些事件计数来选择它的。我使用此代码获取与一天中发生的平均停止次数相关的 minPts,但我不确定这是否可靠。

stops2013clean %>%
group_by(precinct, lubridate::hour(stops2013clean$time)) %>%
summarise(n_stops=n()) %>%
summarise(mean(n_stops)) %>%
summarise(mean(`mean(n_stops)`))

感谢您的帮助和指导。

【问题讨论】:

    标签: r spatial dbscan


    【解决方案1】:

    没有算法可以选择它们。这是想要做什么的问题。

    对于纬度和经度,您应该使用Haversine 距离来获得米、码、英尺,随心所欲(只要确保您知道所获得的单位)。

    然后必须决定什么是“热点”。哪个半径有多少犯罪? 100米范围内犯罪?然后你就有了你的参数。

    【讨论】:

      猜你喜欢
      • 2012-10-05
      • 2021-08-18
      • 2020-09-10
      • 2013-05-03
      • 1970-01-01
      • 2017-03-21
      • 2018-05-30
      • 2020-08-05
      • 1970-01-01
      相关资源
      最近更新 更多