空间自相关 (Global Moran's I) (空间统计)

摘要

使用 Global Moran's I 统计数据,基于要素位置和属性值测量空间自相关。

了解有关空间自相关 (Global Moran's I) 工作原理的详细信息

插图

空间自相关工具图示

使用情况

  • 空间自相关工具返回五个值:Moran's I 指数、预期指数、方差、z 得分及 p 值。 在工具运行期间,这些值以消息形式写到地理处理窗格底部,并作为派生输出值进行传递,以备用于模型或脚本。 可将鼠标悬停在进度条上、单击弹出按钮或展开地理处理窗格中消息的详细信息部分来访问消息。 您还可以通过地理处理历史访问之前运行工具的消息和详细信息。 您还可以使用此工具创建一个 HTML 报表文件,其中包含了结果的图形汇总。 报表路径将随附在汇总工具参数的消息中。 单击此路径将打开报表文件。

  • 对于一组要素及相关属性,该工具评估所表达的模式是聚类模式、离散模式还是随机模式。 使用 z 得分或 p 值指示统计显著性时,如果 Moran's I 指数值为正则指示聚类趋势,如果 Moran's I 指数值为负则指示离散趋势。

  • 此工具计算 z 得分和 p 值,以指示您是否可以拒绝零假设。 此种情况下,零假设表示这些要素值在空间上不具有相关性。

  • z 分数p 值是统计显著性的度量值。 这些值可以帮助您确定是否拒绝零假设。 对于此工具,零假设表明与要素关联的值是随机分布的。

  • 输入字段参数值应包含多种值。 此统计数学方法要求待分析的变量存在一定程度的变化;例如,如果所有输入都是 1 便无法求解。 如果要使用此工具分析事件数据的空间模式,应考虑聚合事件数据优化的热点分析工具也可以用于分析事件数据的空间模式。

    注:

    如果您重点关注各点存在与否,而不是每个点的特定测量属性,则事件数据为表示事件(犯罪、交通事故)或对象(树、店铺)的点。

  • 如果未投影输入要素类参数值(即,坐标单位为度、分和秒),或者将输出坐标系环境设置为地理坐标系,则采用弦测量方法计算距离。 使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。 弦距离是基于扁椭球体计算的。 给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。 弦距离报表将以米为单位。

    警告:

    如果您的研究区域超过 30 度,则请确保投影数据。 弦距离无法准确估算超出 30 度的测地线距离。

  • 分析时如使用弦距离距离范围或距离阈值参数(如指定)应以米为单位。

  • 对于线和面要素,距离计算中会使用要素的质心。 对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。 点要素的加权项是 1;线要素的加权项是长度;而面要素的加权项是面积。

  • 空间关系的概念化参数值应反映要分析的要素之间的固有关系。 对要素在空间中彼此交互方式构建的模型越逼真,结果就越准确。 选择空间关系的概念化:最佳做法中给出了建议。 以下是其他提示:

    • 使用固定距离范围选项时,默认的距离范围或阈值距离参数值将确保每个要素至少拥有一个相邻要素。 这一点非常重要,但通常,此默认值并不是适用于分析的最合适的距离。 在距离范围(影响范围)中描述了为分析选择适当比例(距离范围)的其他策略。

    • 使用反距离反距离平方选项时,如果在距离范围或阈值距离参数中输入零,则所有要素均被视为所有其他要素的相邻要素;如果将此参数留空,则将应用默认距离。

      如果距离权重小于 1,则对其取倒数时将变得不稳定。 因此,相隔小于 1 个单位距离的要素的权重为 1。

      对于“反距离”选项(反距离反距离平方无差别的区域),为避免产生除数为零的情况,任何重合两点的权重值均将指定为 1。 这样便可确保将要素包含在分析之内。

  • Python 中,此工具的派生输出包含 Moran's I 指数值、z 得分、p 值、HTML 报表文件以及输入要素。 例如,如果您将工具的 Result 对象分配至名为 MoranResult 的变量,则 MoranResult[0] 将存储 Moran's I 指数值,MoranResult[1] 将存储 z 得分,MoranResult[2] 将存储 p 值,MoranResult[3] 将存储 HTML 报表文件的文件路径,且 MoranResult[4] 将存储输入要素。 如果您没有使用生成报表参数来输出 HTML 报表文件,则第四个派生的输出将为空字符串。

  • 空间关系的概念化参数的附加选项(包括三维和空间-时间关系)在使用生成空间权重矩阵工具时可用。 要利用这些附加选项,请在分析前先构造空间权重矩阵文件,然后为空间关系的概念化参数使用通过文件获取空间权重选项,并为权重矩阵文件参数指定您所创建的空间权重文件的路径。

  • 地图图层可用于定义输入要素类参数值。 使用带选区的图层时,只有选定的要素才会包含在分析中。

  • 如果您提供带有 .swm 扩展名的权重矩阵文件参数值,则预计将使用生成空间权重矩阵工具创建空间权重矩阵文件;否则,需要一个 ASCII 格式的空间权重矩阵文件。 在某些情况下,根据您所使用的以下空间权重矩阵文件类型,行为会有所不同:

    • ASCII 格式的空间权重矩阵文件
      • 按原样使用权重。 将缺失的要素转要素关系视为零。
      • 如果对权重进行了行标准化,则选择集的分析结果很有可能不正确。 如果需要对选择集运行分析,则通过以下方法将 ASCII 空间权重文件转换为 .swm 文件:将 ASCII 数据读入表,然后将转换表选项与生成空间权重矩阵工具结合使用。
    • SWM 格式的空间权重矩阵文件
      • 如果对权重进行了行标准化,则会针对选择集将其重新标准化;否则按原样使用权重。

  • 使用 ASCII 格式的空间权重矩阵文件运行您的分析会占用大量内存。 如果要分析的要素超过 5,000 个,则考虑将 ASCII 格式的空间权重矩阵文件转换为 SWM 格式的文件。 首先,将 ASCII 权重置入一个带格式的表中(例如,使用 Excel)。 接下来运行生成空间权重矩阵工具,并使用空间关系的概念化参数值的转换表。 输出是 SWM 格式的空间权重矩阵文件:

  • 注:

    运行此工具时,可能会发生内存不足的情况。 当指定的空间关系概念化距离范围或距离阈值参数值导致要素具有数千个相邻要素时,就会发生这种情况。 您通常不会希望定义会使要素具有上千个相邻要素的空间关系。 所有要素都应至少有一个相邻要素,几乎所有要素都应至少有八个相邻要素。

  • 对于面要素,使用标准化参数的选项。 如果每个要素所具有的邻域数目由聚合方案或者采样过程决定,而不是反映您所分析的变量的实际空间分布,则行标准化将减少偏移。

  • 有关此工具参数的其他信息,请参阅建模空间关系帮助主题。

  • 警告:

    Shapefile 不能存储空值。 根据其他类型输入创建 shapefile 的工具或其他过程可能会将空值存储(或解释)为零。 某些情况下,空值则以极大的负值储存于 shapefile 中,这会导致意外结果。 有关详细信息,请参阅 shapefile 输出的地理处理注意事项

参数

标注说明数据类型
输入要素类

将计算空间自相关的要素类。

Feature Layer
输入字段

用于评估空间自相关的数值字段。

Field
生成报表
(可选)

指定是否将结果的图形摘要创建为 .html 文件。

  • 选中 - 不会创建图形汇总。
  • 未选中 - 不会创建图形汇总。 这是默认设置。
Boolean
空间关系的概念化

指定要素空间关系的定义方式。

  • 反距离与远处的要素相比,附近的邻近要素对目标要素的计算的影响要大一些。
  • 反距离平方反距离选项类似,但它的坡度更明显,因此影响下降得更快,并且只有目标要素的最近邻域会对要素的计算产生重大影响。
  • 固定距离范围将对邻近要素环境中的每个要素进行分析。 在指定临界距离(距离范围或距离阈值)内的邻近要素将分配有值为 1 的权重,并对目标要素的计算产生影响。 指定临界距离之外的相邻要素的权重为零,并且不会对目标要素的计算产生任何影响。
  • 无差别的区域在目标要素的指定临界距离(距离范围或距离阈值)内的要素将分配有值为 1 的权重,并且会影响目标要素的计算。 一旦超出该临界距离,权重(以及邻近要素对目标要素计算的影响)就会随距离的增加而减小。
  • K - 最近邻最近的 k 要素将包含在分析中。 分析中要包含的相邻要素数目 (k) 由相邻要素数参数指定。
  • 仅邻接边只有共享边界或重叠的相邻面要素会影响目标面要素的计算。
  • 邻接边拐角共享边界、节点或重叠的面要素会影响目标面要素的计算。
  • 通过文件获取空间权重将由指定空间权重文件定义空间关系。 指向空间权重文件的路径由权重矩阵文件参数指定。
String
距离法

指定计算每个要素与邻近要素之间的距离的方式。

  • 欧氏将使用两点间的直线距离。 这是默认设置。
  • 曼哈顿将使用沿垂直轴度量的两点间的距离(城市街区)。 计算方法是对两点的 x 和 y 坐标的差值(绝对值)求和
String
标准化

指定是否对空间权重执行标准化。 当要素的分布由于采样设计或施加的聚合方案而可能偏离时,建议使用行标准化。

  • 将不会对空间权重执行标准化。
  • 对空间权重执行标准化;每个权重都会除以行的和(所有相邻要素的权重和)。 这是默认设置。
String
距离范围或距离阈值
(可选)

各种“反距离”和“固定距离”选项的中断距离。 将在对目标要素的分析中忽略为该要素指定的中断之外的要素。 但是,对于无差别的区域,指定距离之外的要素的影响会随距离的减小而变弱,而在距离阈值之内的影响则被视为是等同的。 提供的距离值应该与输出坐标系的值匹配。

对于空间关系的反距离概念化,值为 0 表示未应用任何阈值距离;当将此参数留空时,将计算并应用默认阈值。 此默认值为确保每个要素至少具有一个邻域的欧氏距离。

当指定了面邻接(仅邻接边邻接边拐角)或通过文件获取空间权重的空间概念化时,该参数无效。

Double
权重矩阵文件
(可选)

包含权重(定义要素间的空间关系以及可能的时态关系)的文件的路径。

File
邻居数
(可选)

用于指定将包含在分析中的相邻要素数目的整数。

Long

派生输出

标注说明数据类型
指数

Moran's 指数值。

Double
Z 得分

z 得分

Double
PValue

p 值

Double
报表文件

一个 HTML 文件,其中包含结果的图形汇总。

File
派生输入数据集

该工具的输入要素。

Feature Layer

arcpy.stats.SpatialAutocorrelation(Input_Feature_Class, Input_Field, {Generate_Report}, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File}, {number_of_neighbors})
名称说明数据类型
Input_Feature_Class

将计算空间自相关的要素类。

Feature Layer
Input_Field

用于评估空间自相关的数值字段。

Field
Generate_Report
(可选)

指定是否将结果的图形摘要创建为 .html 文件。

  • NO_REPORT不会创建图形汇总。 这是默认设置。
  • GENERATE_REPORT创建图形汇总。
Boolean
Conceptualization_of_Spatial_Relationships

指定要素空间关系的定义方式。

  • INVERSE_DISTANCE与远处的要素相比,附近的邻近要素对目标要素的计算的影响要大一些。
  • INVERSE_DISTANCE_SQUAREDINVERSE_DISTANCE 选项类似,但它的坡度更明显,因此影响下降得更快,并且只有目标要素的最近邻域会对要素的计算产生重大影响。
  • FIXED_DISTANCE_BAND将对邻近要素环境中的每个要素进行分析。 在指定临界距离(Distance_Band_or_Threshold 值)内的邻近要素将分配值为 1 的权重,并对目标要素的计算产生影响。 指定临界距离之外的相邻要素的权重为零,并且不会对目标要素的计算产生任何影响。
  • ZONE_OF_INDIFFERENCE在目标要素的指定临界距离(Distance_Band_or_Threshold 值)内的要素将分配值为 1 的权重,并且会影响目标要素的计算。 一旦超出该临界距离,权重(以及邻近要素对目标要素计算的影响)就会随距离的增加而减小。
  • K_NEAREST_NEIGHBORS最近的 k 要素将包含在分析中。 分析中要包含的相邻要素数目 (k) 由 number_of_neighbors 参数指定。
  • CONTIGUITY_EDGES_ONLY只有共享边界或重叠的相邻面要素会影响目标面要素的计算。
  • CONTIGUITY_EDGES_CORNERS共享边界、节点或重叠的面要素会影响目标面要素的计算。
  • GET_SPATIAL_WEIGHTS_FROM_FILE将由指定空间权重文件定义空间关系。 指向空间权重文件的路径由 Weights_Matrix_File 参数指定。
String
Distance_Method

指定计算每个要素与邻近要素之间的距离的方式。

  • EUCLIDEAN_DISTANCE将使用两点间的直线距离。 这是默认设置。
  • MANHATTAN_DISTANCE将使用沿垂直轴度量的两点间的距离(城市街区)。 计算方法是对两点的 x 和 y 坐标的差值(绝对值)求和
String
Standardization

指定是否对空间权重执行标准化。 当要素的分布由于采样设计或施加的聚合方案而可能偏离时,建议使用行标准化。

  • NONE将不会对空间权重执行标准化。
  • ROW对空间权重执行标准化;每个权重都会除以行的和(所有相邻要素的权重和)。 这是默认设置。
String
Distance_Band_or_Threshold_Distance
(可选)

各种“反距离”和“固定距离”选项的中断距离。 将在对目标要素的分析中忽略为该要素指定的中断之外的要素。 但是,对于 ZONE_OF_INDIFFERENCE,指定距离之外的要素的影响会随距离的减小而变弱,而在距离阈值之内的影响则被视为是等同的。 提供的距离值应该与输出坐标系的值匹配。

对于空间关系的反距离概念化,值为 0 表示未应用任何阈值距离;当将此参数留空时,将计算并应用默认阈值。 默认值为确保每个要素至少具有一个邻域的欧氏距离。

当指定了面邻接(CONTIGUITY_EDGES_ONLYCONTIGUITY_EDGES_CORNERS)或 GET_SPATIAL_WEIGHTS_FROM_FILE 的空间概念化时,该参数无效。

Double
Weights_Matrix_File
(可选)

包含权重(定义要素间的空间关系以及可能的时态关系)的文件的路径。

File
number_of_neighbors
(可选)

用于指定将包含在分析中的相邻要素数目的整数。

Long

派生输出

名称说明数据类型
Index

Moran's 指数值。

Double
ZScore

z 得分

Double
PValue

p 值

Double
Report_File

一个 HTML 文件,其中包含结果的图形汇总。

File
Derived_Input_Dataset

该工具的输入要素。

Feature Layer

代码示例

SpatialAutocorrelation 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 SpatialAutocorrelation 函数。

import arcpy
arcpy.env.workspace = r"c:\data"
arcpy.stats.SpatialAutocorrelation("olsResults.shp", "Residual", "NO_REPORT", 
                                   "GET_SPATIAL_WEIGHTS_FROM_FILE", "EUCLIDEAN DISTANCE", 
                                   "NONE", "#", "euclidean6Neighs.swm")
SpatialAutocorrelation 示例 2(独立脚本)

以下独立 Python 脚本演示了如何使用 SpatialAutocorrelation 函数。

# Analyze the growth of regional per capita incomes in U.S.
# Counties from 1969 -- 2002 using Ordinary Least Squares Regression

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"C:\Data"

try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace

    # Growth as a function of {log of starting income, dummy for South
    # counties, interaction term for South counties, population density}
    # Process: Ordinary Least Squares... 
    ols = arcpy.stats.OrdinaryLeastSquares("USCounties.shp", "MYID", 
                        "olsResults.shp", "GROWTH",
                        "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                        "olsCoefTab.dbf",
                        "olsDiagTab.dbf")

    # Create Spatial Weights Matrix (can be based on input or output FC)
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.stats.GenerateSpatialWeightsMatrix("USCounties.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6) 
                        

    # Calculate Moran's I Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.stats.SpatialAutocorrelation("olsResults.shp", "Residual",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "euclidean6Neighs.swm")

except:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

环境

特殊情况

输出坐标系

在进行分析之前将要素几何投影到输出坐标系。所有数学计算都基于输出坐标系空间参考。输出坐标系基于度、分、秒时,测地线距离用弦距离估测。

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题