使用点过程模型进行预测

时间:2017-10-03 18:52:44

标签: r geospatial spatstat

我正在分析救护车事故数据。该数据集涵盖三年,大约有250000起事件。 初步分析表明,事件分布与人口分布有关。 使用spatstat拟合点过程模型与此一致,在部分残差图中具有广泛的一致性。 然而,人们认为这个趋势与社会时间周期中的人口相关趋势不同,即周五,周六晚,公众假期。

我想获取数据的子集,看看它们与总体情况有何不同。如何解释由于数据子集中固有的点数较少而导致的强度差异?

或者有没有办法直接使用我的拟合模型进行总体情况?

由于存在隐私问题而难以提供数据,并且由于数据集的大小,很难模拟情况。我绝不是统计学家,所以我在这里徘徊了一下。我有一份副本 "空间点模式方法和应用与R"这非常有用。

到目前为止,我将使用伪代码来解释我的方法。

250k_pts.ppp <- ppp(the_ambulance_data x and y, the_window)
1.3m_census_pts <- ppp(census_data x and y, the_window)

通过目视检查,密度表面的最佳带宽似乎为bw.scott。这用于拟合点的密度表面。

inc_density <- density(250k_pts.ppp, bw.scott)
pop_density <- density(1.3m_census_pts, bw.scott)

fit0 <- ppm(inc_density ~ 1)
fit_pop <- ppm(inc_density ~ pop_density)

partials <- parres(fit_pop, "pop_density")

绘制部分残差表明,线性拟合的一致性是广泛可接受的,有些区域是“摆动”。

我正在考虑做下一步:

the_ambulance_data %>% group_by(day_of_week, hour_of_day) %>% 
select(x_coord, y_coord) %>% nest() -> nested_day_hour_pts

选择其中一个列表项并创建一个ppp,比如说fri_2300hr_ppp;

fri23.den <- density(fri_2300hr_ppp, bw.scott)
fit_fri23 <- fit(fri_2300hr_ppp ~ pop_density)

如何将此ppp或密度与更广泛的模型进行比较?我可以进行色散,聚类等特征测试。我可以比较fit_popfit_fri23的部分残差吗?

我如何控制密度点数的影响 - 即我有250k点而不是子集中的8000点。我想的可能是密度表面的分位数?

1 个答案:

答案 0 :(得分:2)

在代表感兴趣的子集/类别的救护车数据上附加标记(例如“忙碌”与“非忙碌”)。对于非正式或非参数分析,请使用relrisk之类的工具,或在使用density.splitppp分隔不同类型的点后使用split.ppp。对于正式分析(考虑样本大小等),您应该将几个候选模型拟合到相同的数据,一个模型具有繁忙/非繁忙效果,另一个模型没有这样的效果,然后使用anova.ppm来测试正式是否有繁忙/不忙的效果。参见上述书的第14章。