【问题标题】:Using a Point Process model for Prediction使用点过程模型进行预测
【发布时间】:2017-10-03 18:52:44
【问题描述】:

我正在分析救护车事故数据。该数据集涵盖三年,大约有 250000 个事件。 初步分析表明,事件分布与人口分布有关。 使用 spatstat 拟合点过程模型与此一致,在部分残差图中具有广泛的一致性。 然而,据信,在“社交时间”,即周五、周六晚上、公共假期,这一趋势与这种与人口相关的趋势背道而驰。

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

或者有没有办法直接将我的拟合模型用于大图?

由于存在隐私问题,很难提供数据,而且由于数据集的大小,很难模拟这种情况。我绝不是统计学家,因此我在这里有点犹豫。我有一份
《Spatial Point Patterns Methodology and Applications with 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 个点。我在想也许是密度表面的分位数?

【问题讨论】:

  • 这似乎不是一个适合 Stack Overflow 的特定编程问题。如果您对统计方法有一般性问题,您可能应该在Cross ValidatedData Science 询问,或者如果它特定于地理数据,也许是Geographic Information Systems
  • 我认为 OP 可能只需要添加一些示例数据和一些代码行来显示他到目前为止所做的事情,这样我们就可以理解问题并将其视为 R/ 中的编程问题斯帕特统计局。另一方面,您可能是对的,交叉验证会更合适。无论如何,使用(假/子集)数据和拟合模型的更具体示例会有所帮助。

标签: r geospatial spatstat


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-08-24
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多