描述
假设存在事件点或加权要素(点或面),可以使用 Getis-Ord Gi* 统计数据创建具有统计显著性的热点和冷点的地图。它通过评估输入要素类的特征来生成可优化结果。
插图
使用方法
此工具用于识别具有统计显著性的高值(热点)和低值(冷点)的空间聚类。它自动聚合事件数据,识别适当的分析范围,并纠正多重测试和空间依赖性。该工具对数据进行查询,以确定可优化热点分析结果的设置。如果要完全控制这些设置,可以改用热点分析工具。
用于生成可优化热点分析结果的计算设置报告在结果窗口中。相关工作流和算法在优化的热点分析工作原理中进行了详细说明。
此工具使用 z 得分、p 值和置信区间 (Gi_Bin) 为输入要素类中的每个要素创建一个新的输出要素类。还包括具有每个要素在计算过程中都会涉及到的相邻要素数的字段 (NNeighbors)。
Gi_Bin 字段识别统计显著性热点和冷点,使用错误发现率 (FDR) 校正方法纠正了多重测试与空间依赖性。置信区间 +3 到 -3 中的要素(含 +3 或 -3 Gi_Bin 值的要素)具有置信度为 99% 的统计显著性;置信区间 +2 到 -2 中的要素反映置信度为 95% 的统计显著性;置信区间 +1 到 -1 中的要素反映置信度为 90% 的统计显著性;而 Gi_Bin 字段的要素聚类为 0 时,则没有统计学意义。
z 得分和 p 值字段不体现任何类型的 FDR(错误发现率)校正。有关 z 得分和 p 值的详细信息,请参阅什么是 z 得分? 什么是 p 值?
如果未投影输入要素类(即,坐标单位为度、分和秒),或者将输出坐标系设置为地理坐标系,则采用弦测量方法计算距离。使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。弦距离以扁椭圆体为基础。给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。弦距离以米为单位输出。
输入要素可以是点或面。对于面要素,则需要分析字段。
如果具有分析字段,则应包含不同值。此统计数学方法要求待分析的变量存在一定程度的变化;例如,如果所有输入都是 1 便无法求解。
借助分析字段,该工具适合包括采样数据在内的所有数据(点或面)。实际上,即使存在过采样,该工具依然有效、可靠。存在很多要素(过采样)时,该工具拥有更多信息用以计算准确、可靠的结果。存在很少要素(欠采样)时,该工具依然尽可能生成准确、可靠的结果,但可用信息大大减少。
由于该工具采用的基础 Getis-Ord Gi* 统计值具有渐进正态性,所以即使分析字段含偏斜数据,结果将依然可靠。
对于点数据,您可能对分析每个点要素相关的数据值感兴趣,因此将提供一个分析字段。其他情况下,您会对评估点位置或点事件的空间模式(聚类)感兴趣。是否提供分析字段取决于您提出的问题。
- 通过分析字段分析点要素时,您可以回答诸如“高值和低值会聚集在哪里”一类的问题。
- 所选的分析字段可代表下列各项:
- 计数(如街道十字路口处发生的交通事故数)
- 比率(如城市失业率,各城市以点要素表示)
- 平均值(如学校间数学测验的平均得分)
- 指数(如国家汽车经销商的消费者满意度得分)
- 在无分析字段的情况下分析点要素时,您可以识别点聚类异常(统计显著性)强烈或稀疏之处。可通过此类分析回答诸如“何处存在很多点”一类的问题。何处存在很少点?
如果没有提供分析字段,工具将聚合所有点以获得点计数,从而用作分析字段。存在三种可能的聚合方案:
- 对于 COUNT_INCIDENTS_WITHIN_FISHNET_POLYGONS 和 COUNT_INCIDENTS_WITHIN_HEXAGON_POLYGONS,计算合适的面像元大小,并利用所得结果创建渔网面网格或六边形面网格,该网格将固定在事件点上方,并将计算每个面像元内的点数。如果未提供定义事件潜在发生位置的边界面要素图层,则会删除不含点的像元,而仅分析剩余像元。如果提供边界面要素图层,则保留并分析边界面范围内的所有像元。每个面像元的点计数都将用作分析字段。
- 对于 COUNT_INCIDENTS_WITHIN_AGGREGATION_POLYGONS 和 COUNT_INCIDENTS_WITHIN_HEXAGON_POLYGONS,您需要提供 用于将事件聚合到计数的面要素图层。将计算每个面内的点事件数,然后对这些面及其相关计数进行分析。当点与行政单位(如普查区、县或学区)相关联时,COUNT_INCIDENTS_WITHIN_AGGREGATION_POLYGONS 是一项合适的聚合策略。如果要保持研究区域在多项分析中固定以增强比较,也可以使用该选项。
- 对于 SNAP_NEARBY_INCIDENTS_TO_CREATE_WEIGHTED_POINTS,将计算捕捉距离并使用该距离聚合附近的事件点。将为每个聚合点提供一个计数,该计数反映捕捉到一起的事件数量。然后将此事件计数用作分析字段来分析这些聚合点。如果您有许多重合点或接近重合的点,并且希望维护原始点数据空间模式的各个方面,则 SNAP_NEARBY_INCIDENTS_TO_CREATE_WEIGHTED_POINTS 选项是一项合适的聚合策略。在很多情况下,您可能需要尝试 SNAP_NEARBY_INCIDENTS_TO_CREATE_WEIGHTED_POINTS、COUNT_INCIDENTS_WITHIN_FISHNET_POLYGONS 和 COUNT_INCIDENTS_WITHIN_HEXAGON_POLYGONS 的策略,来比较哪种方法更能反映原始点数据的空间模式。渔网和六边形解决方案均可以人工分离点事件聚类,但对于有些人而言,其输出比加权点输出更容易解释。
如果为事件数据聚合方法选择 COUNT_INCIDENTS_WITHIN_FISHNET_POLYGONS 或 COUNT_INCIDENTS_WITHIN_HEXAGON_POLYGONS,则可以选择性地提供定义事件潜在发生位置的边界面要素图层。如果未提供任何边界面,工具将无法确定不含事件的位置是否应当为零,进而无法指示该位置是否可能存在事件但事件未发生;也无法确定因该位置不可能发生事件,是否应从分析中将其移除。因此,如果未提供边界面,则仅保留至少含一个事件的像元进行分析。如果这不是您需要的行为,您可以提供定义事件潜在发生位置的边界面要素图层,以确保保留边界面内的所有位置。不含基础事件的渔网或六边形像元的事件计数将为零。
将从分析中排除定义事件潜在发生位置的边界面或用于将事件聚合到计数的面范围之外的所有事件。
如果不使用工具选择最佳的格网像元大小和分析比例的默认设置,可以使用覆盖设置用于分析的像元大小或距离范围。
像元大小选项可以使您能够设置用于聚合点数据的格网的大小。例如,您可决定使每个渔网格网中的像元大小为 50 米乘 50 米。如果聚合到六边形,则像元大小为每个六边形的高度,而所生成六边形的宽度为高度除以根号 3 再乘以 2。
如果要识别空间-时间热点,则应使用生成空间权重矩阵、热点分析 (Getis-Ord Gi*) 或时空模式挖掘工具。有关空间-时间聚类分析的详细信息,请参阅空间-时间聚类分析主题和时空模式挖掘文档。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
-
输出要素图层会自动添加到内容列表中,同时对 Gi_Bin 字段应用默认渲染。由热到冷的渲染由 <ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers 路径下的图层文件进行定义。如有必要,可通过导入模板图层符号系统重新应用默认渲染。
语法
arcpy.stats.OptimizedHotSpotAnalysis(Input_Features, Output_Features, {Analysis_Field}, {Incident_Data_Aggregation_Method}, {Bounding_Polygons_Defining_Where_Incidents_Are_Possible}, {Polygons_For_Aggregating_Incidents_Into_Counts}, {Density_Surface}, {Cell_Size}, {Distance_Band})
参数 | 说明 | 数据类型 |
Input_Features | 将要执行热点分析的点或面要素类。 | Feature Layer |
Output_Features | 接收 z 得分、p 值和 Gi_Bin 结果的输出要素类。 | Feature Class |
Analysis_Field (可选) | 要评估的数值字段(事件数、犯罪率和测试得分等)。 | Field |
Incident_Data_Aggregation_Method (可选) | 用于创建加权要素以通过事件点数据进行分析的聚合方法。
| String |
Bounding_Polygons_Defining_Where_Incidents_Are_Possible (可选) | 面要素类定义可能会发生 Input_Features 事件的区域。 | Feature Layer |
Polygons_For_Aggregating_Incidents_Into_Counts (可选) | 用于聚合 Input_Features 事件以获得各面要素的事件计数的面。 | Feature Layer |
Density_Surface (可选) | 因此,Density_Surface 参数会被禁用;其仍将作为一个工具参数而保留以保持向后兼容性。核密度工具可用于将您的加权点的密度表面可视化。 | Raster Dataset |
Cell_Size (可选) | 用于聚合 Input_Features 的格网像元的大小。当聚合到六边形格网时,该距离用作构建六边形面的高度。 该工具仅支持千米、米、英里和英尺。 | Linear Unit |
Distance_Band (可选) | 分析邻域的空间范围。该值用于确定应将哪些要素一起分析以便访问本地聚类。 该工具仅支持千米、米、英里和英尺。 | Linear Unit |
代码示例
OptimizedHotSpotAnalysis 示例 1(Python 窗口)
下面的 Python 窗口脚本演示了如何使用 OptimizedHotSpotAnalysis 工具。
import arcpy
arcpy.env.workspace = r"C:\OHSA"
arcpy.OptimizedHotSpotAnalysis_stats("911Count.shp", "911OptimizedHotSpots.shp", "#", "SNAP_NEARBY_INCIDENTS_TO_CREATE_WEIGHTED_POINTS", "#", "#", "#", "#", "#")
OptimizedHotSpotAnalysis 示例 2(独立 Python 脚本)
以下独立 Python 脚本演示了如何使用 OptimizedHotSpotAnalysis 工具。
# Analyze the spatial distribution of 911 calls in a metropolitan area
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\OHSA\data.gdb"
try:
# Set the current workspace (to avoid having to specify the full path to the feature classes each time)
arcpy.env.workspace = workspace
# Create a polygon that defines where incidents are possible
# Process: Minimum Bounding Geometry of 911 call data
arcpy.MinimumBoundingGeometry_management("Calls911", "Calls911_MBG", "CONVEX_HULL", "ALL",
"#", "NO_MBG_FIELDS")
# Optimized Hot Spot Analysis of 911 call data using fishnet aggregation method with a bounding polygon of 911 call data
# Process: Optimized Hot Spot Analysis
ohsa = arcpy.OptimizedHotSpotAnalysis_stats("Calls911", "Calls911_ohsaFishnet", "#", "COUNT_INCIDENTS_WITHIN_FISHNET_POLYGONS",
"Calls911_MBG", "#", "#", "#", "#")
except arcpy.ExecuteError:
# If any error occurred when running the tool, print the messages
print(arcpy.GetMessages())
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是