【问题标题】:Correlation between 2 rasters accounting for spatial autocorrelation考虑空间自相关的 2 个栅格之间的相关性
【发布时间】:2026-01-20 09:35:01
【问题描述】:

我想测试 2 个空间栅格数据集(完全重叠)之间值的相关性。

我可以这样做:

correlation(getValues(raster1), getValues(raster2))

但两个栅格数据集都是空间自相关的。

相反,我使用的是:

modified.ttest(getValues(raster1), getValues(raster2), coordinates) 

来自SpatialPack 库。 这是基于 Dutilleul 的检验,该检验根据自相关程度修改有效样本量。

但是,修改后的检验不会改变估计的相关系数,只会改变 p 值。

我如何也校正自相关程度的估计相关系数?

【问题讨论】:

    标签: r geospatial correlation raster spatialpack


    【解决方案1】:

    这更像是一个统计问题,而不是一个编程问题。

    我认为您不能“纠正自相关的相关系数”。相关系数就是这样。它不受“过采样”的影响。

    a <- 1:10
    b <- c(1:5,1:5)
    cor(a,b)
    #[1] 0.492366
    

    两次使用相同值时不会“膨胀”

    cor(c(a,a),c(b,b))
    #[1] 0.492366
    

    p值受到影响

    t.test(a,b)$p.value
    #[1] 0.03554967
    t.test(c(a,a), c(b,b))$p.value
    #[1] 0.002042504
    

    您可以调整过采样的 p 值。但是,栅格数据的一个问题是您是否确实应该将这些数据视为样本。这取决于上下文,但栅格数据通常代表整个人口(考虑到单元格是离散的,有一些局部平均值)。如果由于(小)样本量而没有不确定性,则呈现 p 值是没有意义的。

    【讨论】:

    • 非常感谢您的周到回复!