花了很多篇幅来写Moran's I,所以对于全局空间自相关大家应该不陌生了(啥?你还不知道,去看以前的文章!),今天再给大家介绍一种比较小众的全局空间自相关指数:Geary's C。
说老实话,这个东东就是冷门到了北极熊都觉得冷的东西……
对于经常做矢量数据分析的同学,估计一辈子都不会用到,但是做栅格数据分析的同学,估计遇到的机会会大很多,因为我在一些论文里面看到栅格数据的空间自相关计算中,经常使用这个算法。(为什么会这样,我在后面会说)
那么下面就来介绍一下这个冷门的东东。
Geary’s C是Geary's contiguity ratio(Geary 邻接比)的简写,所谓的邻接比,指的就是指同一个现象的相邻观测值是否相关。实际上依然是空间自相关的意思,只是Moran's I 中的I,是index,指数的意思,而C是邻接的意思。
简单来说,他们有如下几个不同的地方:
1、计算原理不一样。
Moran's I关注的是观测位置的数据值和相邻数据的平均值之间关系的比较,而Geary's C关注的是数据值本身与相邻数据之间的比较。
举个栗子:
计算北京以及周边城市GDP的全局自相关,如果用莫兰指数来计算,是先把北京周边的区域如河北、天津、山东、山西(以华北区为空间关系,设定山东山西也是北京的邻接单元)这四个区域的GDP累加起来猴求出平均值,接下去用北京的GDP和这个邻接平均值求差值,无非就得到两种情况:正、负。
然后以此用河北、天津、山东、山西都与自己的邻居的平均值做一次差值,就得到了5个数值,接下去把这个五个数值两两对应计算,就可以得到最后的莫兰指数了。
(具体莫兰指数的计算法方法,见:
)
而Geary's C的算法,则是用北京依次与天津、河北、山东、山西去计算,算完之后在进行处理,如下所示:
当然,最后算出来都能够对数据的全局相关性进行判断,只是细节上略有不同。
2、取值范围不一样。
莫兰指数的取值是在-1到1之间,0表示随机,而Geary's C则是在0-2之间,0表示聚集,2表示离散,1表示随机。
为什么他们之间的取值完全不同呢?我们扫一眼二者的数学公式就可以很清晰的看出来:
上面的C公式就是就是Gerary’s C,下面的I公式是莫兰指数,二者间最大的不同就是被标成黄色和绿色的部分,可以看见莫兰指数(绿色部分)计算的是观测值与相邻值平均值的差值,而gerary' c计算的是观测值与相邻观测值的差值。
所以在Geray's C的计算里面,差距越大,表示相异性越大,差距越小,则表示相似性越大(0表示完全相同)。
第三个不同点在于空间关系概念的定义上。
也就是上面公式中标红的部分,莫兰指数中的Wij通常指的是行标准化的空间权重矩阵,而Geary's C是不计算行标准化空间权重矩阵的,这里的Cij指的是二元邻接矩阵。
Moran’s I在大多数情况下,会在进行计算之前就空间权重矩阵进行行标准化
(什么?你问如果没有进行行标准化会怎么样?请复习以前的内容:
)
而Geary's C仅支持二元邻接矩阵(yes or no,也就是邻接或者不邻接,无法调控权重),所以Geary's C被视为不支持空间权重调整,仅仅考虑是否是邻接关系。
所以这点被视为Moran’s I对于Gearys's C的一个重大优势。
如上所示,Geary's C的权重矩阵仅支持二元结构,我们从左面的图可以看出来,如果以接壤边界长度为邻接权重修正关系的话,E与A明显要大于其他两边,但是在Geary's C中是提现不出来的。
好了,看到这里,有同学可能已经有体会了——这个东西在啥时候适用呢?
答案自然就是:栅格数据的空间自相关应用中。
栅格数据因为其数据组织的特殊性,所以不会出现上图那种情况,所以很多栅格分析软件里面,都默认内置了Geary's C为全局空间自相关分析工具。
最后,我们来看看Geary’s C如何通过软件来计算实现。
首先在ArcGIS里面,没有内置这种算法,所以一般要实现Geary's C,都用以下几种工具:
1、Python里面的PySAL包里面的pysal.explore.esda.geary方法
示例如下:
2、R语言里面的spdep包中的geary方法:
示例我就不写了……(不要问,问就是懒……)
打完收工。
联系客服