空间自相关 (Global Moran's I) (空间统计)
摘要
根据要素位置和属性值使用 Global Moran's I 统计量测量空间自相关性。
You can access the results of this tool (including the optional report file) from the Results window. If you disable background processing, results will also be written to the Progress dialog box.
插图
用法
-
“空间自相关”工具将返回五个值:Moran's I 指数、预期指数、方差、z 得分及 p 值。通过结果窗口可访问这些值,也可以将这些值作为派生输出值传递,以满足模型或脚本中的潜在使用需要。或者,此工具会创建一个 HTML 文件,其中包含结果的图形汇总。双击结果 窗口中的 HTML 文件,将在默认的 Internet 浏览器中打开该 HTML 文件。右键单击结果 窗口中的消息条目并选择查看后,将在消息对话框中显示结果。如果在前景中执行此工具,还将在进度对话框中显示输出值。
注:- 当此工具是自定义模型工具的一部分时,如果在运行工具之前将 HTML 链接设置为模型参数,则 HTML 链接将仅在结果 窗口中显示。
- 为了获得 HTML 图形的最佳显示效果,请确保已将监视器设置为 96 DPI。
-
在给定一组要素及相关属性的情况下,“空间自相关”工具将评估所表达的模式是聚类模式、离散模式还是随机模式。使用 z 得分或 p 值指示统计显著性时,如果 Moran's I 指数值为正则指示聚类趋势,如果 Moran's I 指数值为负则指示离散趋势。
-
Global Moran's I 工具通过计算 z 得分和 p 值来指示您是否可以拒绝零假设。此种情况下,零假设表示要素值随机分布于研究区域中。
-
z 得分基于随机化零假设进行计算。有关 z 得分的详细信息,请参阅什么是 z 得分?什么是 p 值?
-
输入字段应包含多种值。此统计数学方法要求待分析的变量存在一定程度的变化;例如,如果所有输入都是 1 便无法求解。如果要使用此工具分析事件数据的空间模式,应考虑聚合事件数据。
-
基于欧氏距离或者曼哈顿距离的计算需要投影数据来准确测量距离。
-
在 ArcGIS 10 中,将不再自动显示任选的图形输出。而是将创建 HTML 文件汇总结果。要查看结果,请在结果窗口中双击 HTML 文件。在 ArcGIS 10 之前创建的使用此工具的自定义脚本或模型工具可能需要重新构建。要重新构建这些自定义工具,请打开这些工具,移除以图形方式显示结果参数,然后重新保存。
This tool will optionally create an HTML file summarizing results. HTML files will not automatically appear in the Catalog window. If you want HTML files to be displayed in Catalog, open the ArcCatalog application, select the Customize menu option, click ArcCatalog Options, and select the File Types tab. Click on the New Type button and specify HTML for File Extension.
-
对于线和面要素,会在距离计算中使用要素质心。对于多点、折线 (polyline) 或由多部分组成的面,使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
-
空间关系的概念化参数的选择应反映要分析的要素之间的固有关系。对要素在空间中以彼此交互方式构建的模型越逼真,结果就越准确。查看这些建议。以下是一些额外提示:
-
FIXED_DISTANCE_BAND
距离范围或距离阈值参数的默认值用于确保每个要素至少拥有一个相邻要素,这一点十分重要。但通常,此默认值并不是适用于分析的最合适的距离。
要了解有关距离范围或距离阈值参数的详细信息,请单击此处。
- INVERSE_DISTANCE 或者 INVERSE_DISTANCE_SQUARED
如果针对距离范围或距离阈值参数输入 0,则所有要素均将视为所有其他要素的相邻要素;如果将此参数留空,则将采用默认距离阈值。
如果距离权重小于 1 将会变得不稳定。对于分隔距离小于一个单位的要素的权重(常见于地理坐标系投影)为 1。
警告:如果选择使用任何基于反距离的空间概念化方法(INVERSE_DISTANCE、INVERSE_DISTANCE_SQUARED 或者 ZONE_OF_INDIFFERENCE),则不建议对具有地理坐标系投影的要素进行分析。
对于这些“反距离”选项,为避免产生除数为零的情况,任何重合两点的权重值均将指定为 1。这样便可确保将要素包含在分析之内。
-
FIXED_DISTANCE_BAND
-
空间关系的概念化参数的附加选项在使用生成空间权重矩阵或者生成网络空间权重工具时可用。要利用这些附加选项,请使用上述工具之一构造空间权重矩阵文件,然后进行分析;为空间关系的概念化参数选择 GET_SPATIAL_WEIGHTS_FROM_FILE;为权重矩阵文件参数指定到您创建的空间权重文件的路径。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
- 当此工具是自定义模型工具的一部分时,如果在运行工具之前将 HTML 链接设置为模型参数,则 HTML 链接将仅在结果 窗口中显示。
- 为了获得 HTML 图形的最佳显示效果,请确保已将监视器设置为 96 DPI。
- ASCII 格式的空间权重矩阵文件:
- 权重“按原样”使用。缺失的要素与要素之间的关系被视为零。
- 如果对权重进行了行标准化,则选择集的分析结果很有可能不正确。如果需要对选择集运行分析,则通过以下方法将 ASCII 空间权重文件转换为 .swm 文件:将 ASCII 数据读入表,然后将 CONVERT_TABLE 选项与生成空间权重矩阵工具结合使用。
- .SWM 格式的空间权重矩阵文件
- 如果对权重进行了行标准化,则会将其选择集重新标准化。否则将“按原样”使用权重。
使用 ASCII 格式的空间权重矩阵文件运行您的分析会占用大量内存。如果要分析的要素超过 5000 个,则考虑将 ASCII 格式的空间权重矩阵文件转换为 .swm 格式的文件。首先,将 ASCII 权重置入一个带格式的表中(例如,使用 Excel)。接下来运行生成空间权重矩阵工具,并使用空间关系的概念化参数的 CONVERT_TABLE。输出将是 .swm 格式化的空间权重矩阵文件。
对于面要素,几乎总是需要为标准化参数选择行。如果每个要素所具有的邻域数目由聚合方案或者采样过程决定,而不是反映您所分析的变量的实际空间分布,则行标准化将减少偏移。
-
空间关系建模帮助主题提供了有关此工具的参数的附加信息。
如果为权重矩阵文件提供 .SWM 或 .swm 扩展名,则此工具将预期通过使用生成空间权重矩阵或生成网络空间权重工具创建的空间权重矩阵文件。否则,此工具将预期 ASCII 格式的空间权重矩阵文件。在某些情况下,工具行为将根据所使用的空间矩阵文件类型的不同而有所区别:
It is possible to run out of memory when you run this tool. This generally occurs when you select Conceptualization of Spatial Relationships and/or Distance Band or Threshold Distance resulting in features having many, many neighbors. You generally do not want to define spatial relationships so that features have thousands of neighbors. You want all features to have at least one neighbor and almost all features to have at least eight neighbors.
在使用 shapefile 时,请注意 shapefile 无法存储空值。根据非 shapefile 输入创建 shapefile 的工具或其他过程可能会将空值存储(或解析)为零。这会产生意外的结果。另请参阅 shapefile 输出的地理处理注意事项。
在 ArcGIS 9.2 版本中,“全局”标准化选项已被移除。全局标准化返回的结果与不执行标准化相同。通过 ArcGIS 较早版本构建的使用全局标准化选项的模型可能需要重新进行构建。
语法
参数 | 说明 | 数据类型 |
Input_Feature_Class |
要计算空间自相关的要素类。 | Feature Layer |
Input_Field |
用于评估空间自相关的数值字段。 | Field |
Generate_Report |
| Boolean |
Conceptualization_of_Spatial_Relationships |
指定要素空间关系的概念化方式。
| String |
Distance_Method |
指定计算每个要素与邻近要素之间的距离的方式。
| String |
Standardization |
当要素的分布由于采样设计或施加的聚合方案而可能偏离时,建议使用行标准化。
| String |
Distance_Band_or_Threshold_Distance |
为“反距离”和“固定距离”选项指定中断距离。将在对目标要素的分析中忽略为该要素指定的中断之外的要素。但是,对于“无差别的区域”,指定距离之外的要素的影响会随距离的减小而变弱,而在距离阈值之内的影响则被视为是等同的。输入的值应该与输出坐标系的值匹配。 对于空间关系的“反距离”概念化,值为 0 表示未应用任何阈值距离;当将此参数留空时,将计算并应用默认阈值。此默认值为确保每个要素至少具有一个邻域的欧氏距离。 如果选择了“面邻接”或者“通过文件获取空间权重”空间概念化,则此参数不会产生任何影响。 | Double |
Weights_Matrix_File (可选) |
指向包含空间权重(其定义要素间的空间关系)的文件的路径。 | File |
代码示例
以下 Python 窗口脚本演示了如何使用空间自相关 (SpatialAutocorrelation) 工具。
import arcpy arcpy.env.workspace = r"c:\data" arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual","NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN DISTANCE", "NONE", "#","euclidean6Neighs.swm")
以下独立 Python 脚本演示了如何使用 SpatialAutocorrelation 工具。
# Analyze the growth of regional per capita incomes in US # Counties from 1969 -- 2002 using Ordinary Least Squares Regression # Import system modules import arcpy # Set the geoprocessor object property to overwrite existing outputs arcpy.gp.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.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.OrdinaryLeastSquares_stats("USCounties.shp", "MYID", "olsResults.shp", "GROWTH", "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69", "olsCoefTab.dbf", "olsDiagTab.dbf") # Create Spatial Weights Matrix (Can be based off input or output FC) # Process: Generate Spatial Weights Matrix... swm = arcpy.GenerateSpatialWeightsMatrix_stats("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.SpatialAutocorrelation_stats("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 out the error message. print arcpy.GetMessages()