莫兰I的强大替代品


19

Moran的I(一种衡量空间自相关的指标)并不是一个特别可靠的统计数据(它可能对空间数据属性的偏斜分布敏感)。

有哪些更健壮的技术来测量空间自相关?我对像R这样的脚本语言中易于使用/可实现的解决方案特别感兴趣。如果解决方案适用于独特的情况/数据分布,请在答案中指定。


编辑:我正在用一些示例扩展问题(以回应对原始问题的评论/答案)

有人建议,置换技术(使用蒙特卡洛程序生成Moran's I采样分布)提供了一种可靠的解决方案。我的理解是,这种测试消除了对Moran's I分布进行任何假设的需要(假设测试统计量可以受数据集的空间结构影响),但是,我看不到置换技术如何正常地校正分布式属性数据。我提供两个示例:一个示例说明了偏斜数据对局部Moran I的统计影响,另一个示例对整体Moran I的影响-即使在置换测试下也是如此。

我将使用Zhang 等。(2008)分析为第一个例子。在他们的论文中,他们使用置换测试(9999个模拟)显示了属性数据分布对局部Moran I的影响。我已经使用原始数据(左图)和对相同数据的对数转换(右图)在GeoDa中重现了作者针对铅(Pb)浓度(在5%置信水平)的热点结果。还显示了原始Pb和对数转换后的Pb浓度的箱线图。在这里,转换数据时,重要热点的数量几乎翻了一番。此示例表明,即使使用蒙特卡洛技术,本地统计信息对属性数据的分布也敏感!

在此处输入图片说明

第二个示例(模拟数据)演示了偏斜数据可能会对全局Moran I产生的影响,即使使用置换测试也是如此。R中的示例如下:

library(spdep)
library(maptools)
NC <- readShapePoly(system.file("etc/shapes/sids.shp", package="spdep")[1],ID="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))
rn <- sapply(slot(NC, "polygons"), function(x) slot(x, "ID"))
NB <- read.gal(system.file("etc/weights/ncCR85.gal", package="spdep")[1], region.id=rn)
n  <- length(NB)
set.seed(4956)
x.norm <- rnorm(n) 
rho    <- 0.3          # autoregressive parameter
W      <- nb2listw(NB) # Generate spatial weights
# Generate autocorrelated datasets (one normally distributed the other skewed)
x.norm.auto <- invIrW(W, rho) %*% x.norm # Generate autocorrelated values
x.skew.auto <- exp(x.norm.auto) # Transform orginal data to create a 'skewed' version
# Run permutation tests
MCI.norm <- moran.mc(x.norm.auto, listw=W, nsim=9999)
MCI.skew <- moran.mc(x.skew.auto, listw=W, nsim=9999)
# Display p-values
MCI.norm$p.value;MCI.skew$p.value

注意P值的差异。偏斜的数据表明在5%的显着性水平上没有聚类(p = 0.167),而正态分布的数据表明存在(p = 0.013)。


张朝升,罗林,徐伟林,Valerie Ledwith,利用当地的Moran's I和GIS识别爱尔兰戈尔韦城市土壤中铅的污染热点,《整体环境科学》,第398卷,第1-3期,2008年7月15日,页212-221


1
您对偏斜分布的敏感性有参考吗?您对非随机空间分布的全局测试或确定局部异常特征感兴趣吗?感兴趣的结果(正计数变量)的分布是什么?
Andy W

1
AndyW:1)Fortin和Dale的“空间分析,生态学家指南”(第125页),其中一个提到了测试的敏感性,2)我对全局和局部测试的解决方案都感兴趣,3)我没有具体的答案记住数据分布。
MannyG

1
安迪(Andy),因为莫兰(Moran)的I基于加权方差和协方差估计,因此它对异常值的敏感性与这些估计相同,这是众所周知的。这种洞察力还为解决曼尼问题提供了许多可能的解决方案:用您最喜欢的色散和关联估计的可靠版本替换为鲁棒的加权关联,然后就可以开始运行了。
ub

1
听起来您可能在这里混淆了@Andy的几个概念。首先,Manny要测量自相关;他不一定要进行假设检验。第二,关于假设检验的问题最好用功效而非稳健性来界定。但是(第三个)概念确实有关联:强大的测试统计量将在各种违反分布假设(例如异常值的污染)的情况下趋于保持其力量,而非鲁棒的测试统计量可能会损失大部分或全部在那种情况下它的力量。
ub

1
@ FC84,去年我重新审视这一问题,并写了一个建议的解决方案。但这需要审查。我计划在某个时候提供该文章的(大大)简化版本作为答案。随时从我拥有的东西中收集您可以得到的东西。但是请谨慎使用!
MannyG

Answers:


2

(这一点太笨拙,无法发表评论)

这是关于局部和全局测试(不是特定的,与样本无关的自相关度量)。我可以理解,特定的Moran's I 度量是相关性的有偏估计(用与Pearson相关系数相同的术语来解释),我仍然看不到排列假设检验如何对变量的原始分布敏感(无论是类型1还是类型2错误)。

稍微修改您在注释中提供的代码(colqueen缺少空间权重);

library(spdep)
data(columbus)
attach(columbus)

colqueen <- nb2listw(col.gal.nb, style="W") #weights object was missing in original comment
MC1 <- moran.mc(PLUMB,colqueen,999)
MC2 <- moran.mc(log(PLUMB),colqueen,999)
par(mfrow = c(2,2))
hist(PLUMB, main = "Histogram PLUMB")
hist(log(PLUMB), main = "HISTOGRAM log(PLUMB)")
plot(MC1, main = "999 perm. PLUMB")
plot(MC2, main = "999 perm. log(PLUMB)")

当进行置换检验时(在这种情况下,我喜欢将其视为使空间杂乱无章),全局空间自相关的假设检验不应受到变量分布的影响,因为模拟的检验分布实际上会发生变化。与原始变量的分布。可能有人可能会提出一些更有趣的模拟来证明这一点,但是正如您在本示例中所看到的那样,观察到的测试统计信息远远超出了原始分布PLUMB和记录分布的生成分布PLUMB(与正态分布更接近) 。尽管您可以看到在零下记录的PLUMB测试分布接近于0左右对称。

在此处输入图片说明

无论如何,我都建议这样做,将分布更改为近似正态。我也建议在空间过滤(以及类似的Getis-Ord局部和全局统计)上查找资源,尽管我不确定这对无标度度量也有帮助(但对于假设检验可能很有用) 。我将在稍后发布,可能会涉及更多感兴趣的文献。


感谢安迪为您提供详细的帐户。如果我正确理解您的意思,则表示您在排列测试中对于最终的MC分布,测试统计量(莫兰I)不会发生变化,但这与我的观察结果不一致。例如,如果我们在同一哥伦布数据集中使用HOVAL变量,则得到的MC Moran的I测试p值将从0.029(带有原始偏斜数据)变为0.004(带有对数转换数据),表明MC之间的差距越来越大分布和检验统计信息-如果我们将阈值设置为1%,这并不重要。
MannyG

1
是的,您正确地解释了我的观点。当然,可以找到结果不同的任何特定运行。问题在于错误率在各种情况下是否相同。
安迪W
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.