考虑模型中的空间自相关
Posted
技术标签:
【中文标题】考虑模型中的空间自相关【英文标题】:Accounting for Spatial Autocorrelation in Model 【发布时间】:2021-06-30 21:10:57 【问题描述】:我正在尝试在 R 中的模型中考虑空间自相关。每个观测值都是我拥有平均纬度和经度的国家/地区。以下是一些示例数据:
country <- c("IQ", "MX", "IN", "PY")
long <- c(43.94511, -94.87018, 78.10349, -59.15377)
lat <- c(33.9415073, 18.2283975, 23.8462264, -23.3900255)
Pathogen <- c(10.937891, 13.326284, 12.472374, 12.541716)
Answer.values <- c(0, 0, 1, 0)
data <- data.frame(country, long, lat, Pathogen, Answer.values)
我知道空间自相关是一个问题(Moran 的 i 在整个数据集中很重要)。这是我正在测试的模型(答案值(0/1 变量)~病原体流行率(连续变量))。
model <- glm(Answer.values ~ Pathogen,
na.action = na.omit,
data = data,
family = "binomial")
我如何解释与这样的数据结构的空间自相关?
【问题讨论】:
【参考方案1】:对此有很多可能的答案。一种简单(ish)的方法是使用mgcv::gam()
添加空间平滑器。您的大部分模型将保持不变:
library(mgcv)
gam(Answer.values ~ Pathogen +s([something]),
family="binomial",
data=data)
其中s([something])
是某种形式的平滑空间项。三种可能/合理的选择是:
?mgcv::smooth.construct.sos.smooth.spec
),它以 lat/long 作为输入;如果 (1) 您拥有地球表面大部分区域的数据(因此构建 2D 平面 空间平滑的平滑器不太合理),这将很有用; (2) 您想以连续的方式计算位置之间的距离
马尔可夫随机场 (?mgcv::smooth.construct.mrf.smooth.spec
)。这本质上是离散的 1 阶自回归结构的空间模拟(即,国家直接仅与其直接邻国相关,但您可以选择对其进行定义)。为了做到这一点,您必须以某种方式提出一个 neighbourhood list(即国家列表,其中元素是与原始国家相邻的国家列表)。您可以随心所欲地执行此操作,例如通过在地理上找到最近的邻居。 (查看 R 中空间统计/空间数据分析的一些介绍。)(另一方面,如果您正在测试 Moran's I,那么您可能已经想出了一些方法来识别一阶邻居......)
如果您愿意将 lat/long 视为 2D 平面中的坐标,那么您有很多平滑基础的选择,例如?mgcv::smooth.construct.gp.smooth.spec
(高斯过程平滑器,其中包括大多数标准空间自相关模型作为特例)
helpful link 用于快速了解 R 中的 GAM ...
【讨论】:
这很有帮助!我还需要这门 GAM 课程的帮助来了解 GAM 的基础知识:noamross.github.io/gams-in-r-course以上是关于考虑模型中的空间自相关的主要内容,如果未能解决你的问题,请参考以下文章