【问题标题】: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")

我如何解释与这样的数据结构的空间自相关?

【问题讨论】:

    标签: r regression logistic-regression spatial autocorrelation


    【解决方案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 ...

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-18
    • 2011-05-11
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多