我正在分析 STATS19 道路事故数据,值得称道的是由英国政府向公众提供。我想看看不同类型的事故是如何聚集在一起的。“G 函数”(此处描述)可用于测量点模式与完全空间随机性“CSR”情况的差异。
spatstat 很好地处理了这类问题,该envelope
函数提供了一个可视化,显示模式与 CSR 不同距离的偏离程度。
然而,正如我的同事 Dan Olner 所指出的那样,结果(如下所示,与 CSR 存在很大差异)并不一定显示出聚类 - 可能只是我们正在检测道路网络的自然聚类,大多数道路发生事故。可以通过克隆我的GitHub存储库并运行以下命令(在运行 WY.R 的部分内容之后)来复制下图:
r <- seq(0, sqrt(2)/6, by = 0.005)
acB1 <- elide(acB, scale = TRUE)
# acB1 <- acB1[1:50,] # for tiny subset
acB1 <- SpatialPoints(acB1)
# Calculate the G function for the points
envacB <- envelope(as(acB1, "ppp"), fun = Gest)
# Calculate the G function for the points
plot(envacB)
这个问题实际上是由 Adrian Baddeley(spatstat 的开发者)自己在包的文档中描述的:
点可以是一维的位置(例如道路网络上记录的道路事故)
这正是我面临的情况,但我不知道如何修改上述分析以将 CSR 限制在(或者更好的是,靠近 - 因为并非所有事故都恰好在道路上 - 见下文)道路网络。(请参阅此处的数据)。
一个建议是从道路网络中获取随机点并为此计算 G 函数并将其与我的事故数据进行比较,但这不会创建一个清晰的(具有统计意义的)边界框。有什么建议么?