我正在分析救护车事故数据。该数据集为期三年,大约有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_pop和fit_fri23的部分残差吗?
如何控制点数对密度的影响--即我有250 K点,而子集中可能有8000点。我在想也许密度表面的分位数?
发布于 2017-10-04 06:38:43
在救护车数据上附加标记,表示感兴趣的子集/类别(如“忙碌”与“不忙”)。对于非正式或非参数分析,可以使用像relrisk这样的工具,或者在使用split.ppp分离不同类型的点之后使用density.splitppp。对于一个正式的分析(考虑到样本大小等),您应该对相同的数据进行多个候选模型的拟合,其中一个模型具有忙碌/非繁忙效应,另一个模型没有这样的效果,然后使用anova.ppm正式测试是否存在忙碌/非繁忙效应。见书中提到的第14章。
https://stackoverflow.com/questions/46551492
复制相似问题