插图
使用方法
此工具用于识别具有统计显著性的高值(热点)和低值(冷点)的空间聚类。此工具使用 z 得分、p 值和置信区间字段 (Gi_Bin) 为输入要素类中的每个要素创建一个输出要素类。
z 得分和 p 值都是统计显著性的度量,用于逐要素地判断是否拒绝零假设。实际上,它们可指明观测所得的高值或低值的空间聚类是否比我们在这些相同值的随机分布中预期的更加明显。z 得分和 p 值字段不体现任何类型的 FDR(错误发现率)校正。
无论是否应用 FDR 校正,Gi_Bin 字段都会识别统计显著性的热点和冷点。置信区间 +3 到 -3 中的要素反映置信度为 99% 的统计显著性;置信区间 +2 到 -2 中的要素反映置信度为 95% 的统计显著性;置信区间 +1 到 -1 中的要素反映置信度为 90% 的统计显著性;而置信区间 0 中要素的聚类则不具有统计显著性。在没有 FDR 校正的情况下,统计显著性以 p 值和 z 得分字段为基础。如果选中可选参数应用错误发现率(FDR)校正,确定置信度的关键 p 值会降低以兼顾多重测试和空间依赖性。
如果要素的 z 得分高且 p 值小,则表示有一个高值的空间聚类。如果 z 得分低并为负数且 p 值小,则表示有一个低值的空间聚类。z 得分越高(或越低),聚类密集程度就越大。如果 z 得分接近于零,则表示不存在明显的空间聚类。
-
z 得分基于随机化零假设进行计算。有关 z 得分的详细信息,请参阅什么是 z 得分? 什么是 p 值?
如果未投影输入要素类(即,坐标单位为度、分和秒),或者将输出坐标系设置为地理坐标系,则采用弦测量方法计算距离。使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。弦距离以扁椭圆体为基础。给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。弦距离以米为单位输出。
警告:
如果您的研究区域超过 30 度,则请确保投影数据。测地线距离超过 30 度时,弦距离不是理想的估测方法。
分析时如使用弦距离,距离范围或距离阈值参数(如指定)应以米为单位。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
输入字段应包含多种值。此统计数学方法要求待分析的变量存在一定程度的变化;例如,如果所有输入都是 1 便无法求解。如果要使用此工具分析事件数据的空间模式,应考虑聚合事件数据或使用优化的热点分析工具。
注:
如果您重点关注各点存在与否,而不是每个点的特定测量属性,则事件数据为表示事件(犯罪、交通事故)或对象(树、店铺)的点。
优化的热点分析工具可以对数据进行查询,以自动选择可优化热点结果的参数设置。此工具将聚合事件数据、选择合适的分析范围,并针对多重测试和空间依赖性调整结果。工具选择的参数选项将以消息形式写入,这些选项可在使用此工具时帮助您优化参数选择。此工具使您可以完全控制您的参数设置,赋予您极大的灵活性。
空间关系的概念化参数的选择应反映要分析的要素之间的固有关系。对要素在空间中彼此交互方式构建的模型越逼真,结果就越准确。选择空间关系的概念化:最佳做法中给出了建议。以下是其他提示:
- 固定距离范围
这是默认设置。距离范围或距离阈值将确保每个要素至少拥有一个相邻要素。这一点非常重要,但通常,此默认值并不是适用于分析的最合适的距离。为分析选择适合的比例(距离范围)的其他策略在选择固定距离范围值中进行了概括介绍。
- 反距离或反距离平方
如果为距离范围或阈值距离参数输入 0,则所有要素均被视为所有其他要素的相邻要素;如果将此参数留空,则将采用默认距离。
如果距离权重小于 1,则对其取倒数时将变得不稳定。因此,对于分隔距离小于 1 单位的要素权重,权重值将指定为 1。
对于“反距离”选项(反距离、反距离平方和无差别的区域),为避免产生除数为零的情况,任何重合两点的权重值均将指定为 1。这样便可确保将要素包含在分析之内。
- 固定距离范围
空间关系的概念化参数的附加选项(包括空间-时间关系)在使用生成空间权重矩阵工具时可用。要利用这些附加选项,请在分析前先构造空间权重矩阵文件;为空间关系的概念化参数选择通过文件获取空间权重;为权重矩阵文件参数指定您所创建的空间权重文件的路径。
-
有关空间-时间聚类分析的详细信息,请参阅空间-时间分析文档。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
如果提供一个带 .swm 扩展名的权重矩阵文件,则此工具需要输入的是一个由生成空间权重矩阵或生成网络空间权重工具所创建的空间权重矩阵文件;否则,此工具需要输入一个 ASCII 格式的空间权重矩阵文件。在某些情况下,根据您所使用的空间权重矩阵文件类型,行为会有所不同:
- ASCII 格式的空间权重矩阵文件:
- SWM 格式的空间权重矩阵文件:
- 如果对权重进行了行标准化,则会针对选择集将其重新标准化;否则按原样使用权重。
- 除非指定自身潜力位字段参数值,否则自身潜力的默认权重为一。
使用 ASCII 格式的空间权重矩阵文件运行您的分析会占用大量内存。如果要分析的要素超过 5,000 个,则考虑将 ASCII 格式的空间权重矩阵文件转换为 SWM 格式的文件。首先,将 ASCII 权重置入一个带格式的表中(例如,使用 Excel)。接下来运行生成空间权重矩阵工具,并使用空间关系的概念化参数的转换表。输出将是 SWM 格式的空间权重矩阵文件。
该工具的输出要素类会自动添加到内容列表中,同时对 Gi_Bin 字段应用默认渲染。由热到冷的渲染由 <ArcGIS Pro>\Resources\ArcToolBox\Templates\Layers 中的图层文件进行定义。需要时,可通过重新应用图层符号系统重新应用默认渲染。
此工具的输出包括一个直方图,用于对输入字段值进行绘制,可以通过内容窗格中的输出要素类访问该直方图。
-
空间关系建模帮助主题提供了有关此工具的参数的附加信息。
在 Python 脚本中使用此工具时,从工具执行返回的结果对象具有以下输出:
位置 描述 数据类型 0
输出要素类
要素类
1
结果字段名 (GiZScore)
字段
2
概率字段名 (GiPValue)
字段
3
源 ID 字段名 (SOURCE_ID)
字段
警告:
在使用 shapefile 时,请注意 shapefile 无法存储空值。根据非 shapefile 输入创建 shapefile 的工具或其他过程可能会将空值存储(或解释)为零。某些情况下,空值则以极大的负值储存于 shapefile 中。这会产生意外的结果。有关详细信息,请参阅 shapefile 输出的地理处理注意事项。
旧版本:
行标准化对此工具没有影响:无论是否进行行标准化,热点分析(Getis-Ord Gi* 统计)的结果都将是相同的。因此,该参数会被禁用;其仍然作为一个工具参数而保留以保持向后兼容性。
语法
arcpy.stats.HotSpots(Input_Feature_Class, Input_Field, Output_Feature_Class, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Self_Potential_Field}, {Weights_Matrix_File}, {Apply_False_Discovery_Rate__FDR__Correction}, {number_of_neighbors})
参数 | 说明 | 数据类型 |
Input_Feature_Class | 将要执行热点分析的要素类。 | Feature Layer |
Input_Field | 要计算的数值字段(受害者人数、犯罪率和测试得分等)。 | Field |
Output_Feature_Class | 接收 z 得分和 p 值结果的输出要素类。 | Feature Class |
Conceptualization_of_Spatial_Relationships | 指定要素空间关系的定义方式。
| String |
Distance_Method | 指定计算每个要素与邻近要素之间的距离的方式。
| String |
Standardization | 行标准化对此工具没有影响:无论是否进行行标准化,热点分析(Getis-Ord Gi* 统计)的结果都将是相同的。因此,该参数会被禁用;其仍将作为一个工具参数而保留以保持向后兼容性。
| String |
Distance_Band_or_Threshold_Distance (可选) | 为“反距离”和“固定距离”选项指定中断距离。将在对目标要素的分析中忽略为该要素指定的中断之外的要素。但是,对于 ZONE_OF_INDIFFERENCE,指定距离之外的要素的影响会随距离的减小而变弱,而在距离阈值之内的影响则将被视为是等同的。输入的距离值应该与输出坐标系的值匹配。 对于空间关系的“反距离”概念化,值为 0 表示未应用任何阈值距离;当将此参数留空时,将计算并应用默认阈值。默认值为确保每个要素至少具有一个邻域的欧氏距离。 当选择了面邻接(CONTIGUITY_EDGES_ONLY 或 CONTIGUITY_EDGES_CORNERS)或 GET_SPATIAL_WEIGHTS_FROM_FILE 的空间概念化时,该参数无效。 | Double |
Self_Potential_Field (可选) | 此字段表示自然电位 - 要素与其自身之间的距离或权重。 | Field |
Weights_Matrix_File (可选) | 包含权重(其定义要素间的空间关系以及可能的时态关系)的文件的路径。 | File |
Apply_False_Discovery_Rate__FDR__Correction (可选) |
| Boolean |
number_of_neighbors (可选) | 用于指定将包含在分析中的相邻要素数目的整数。 | Long |
派生输出
名称 | 说明 | 数据类型 |
Results_Field | 结果字段名 (GiZScore)。 | 字段 |
Probability_Field | 概率字段名 (GiPValue)。 | 字段 |
Source_ID | 源 ID 字段名 (SOURCE_ID)。 | 字段 |
代码示例
以下 Python 窗口脚本演示了如何使用 HotSpotAnalysis 工具。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp",
"GET_SPATIAL_WEIGHTS_FROM_FILE", "EUCLIDEAN_DISTANCE",
"NONE", "#", "#", "euclidean6Neighs.swm", "NO_FDR")
以下独立 Python 脚本演示了如何使用 HotSpotAnalysis 工具。
# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot Spot Analysis Tool (Local Gi*)
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = "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
# Copy the input feature class and integrate the points to snap
# together at 500 feet
# Process: Copy Features and Integrate
cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp",
"#", 0, 0, 0)
integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")
# Use Collect Events to count the number of calls at each location
# Process: Collect Events
ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
# Add a unique ID field to the count feature class
# Process: Add Field and Calculate Field
af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
"NON_NULLABLE", "NON_REQUIRED", "#",
"911Count.shp")
cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB")
# Create Spatial Weights Matrix for Calculations
# Process: Generate Spatial Weights Matrix...
swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
"euclidean6Neighs.swm",
"K_NEAREST_NEIGHBORS",
"#", "#", "#", 6,
"NO_STANDARDIZATION")
# Hot Spot Analysis of 911 Calls
# Process: Hot Spot Analysis (Getis-Ord Gi*)
hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp",
"GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE",
"#", "#", "euclidean6Neighs.swm","NO_FDR")
except arcpy.ExecuteError:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
环境
- 输出坐标系
在分析之前,会将要素几何投影到输出坐标系,这样,为距离范围或距离阈值参数输入的值会与输出坐标系中指定的值一致。所有数学计算都基于输出坐标系的空间参考进行。输出坐标系基于度、分、秒时,测地线距离使用弦距离(米)估测。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是