新兴时空热点分析 (时空模式挖掘)

摘要

识别使用通过聚合点创建时空立方体通过已定义位置创建时空立方体通过多维栅格图层创建时空立方体工具创建的时空立方体中点密度(计数)或值聚类中的趋势。 类别包含新增的、连续的、加强的、持续的、逐渐减少的、分散的、振荡的以及历史的热点和冷点。

了解有关新兴时空热点分析工具原理的详细信息

插图

新兴热点分析工具图示

使用情况

  • 此工具接受由时空模式挖掘工具箱中的各种工具创建的 netCDF 文件。

    了解有关创建时空立方体的详细信息

  • 时空立方体中每个条柱都有 LOCATION_IDtime_step_IDCOUNT 值以及创建立方体后聚合的所有汇总字段变量。 与同一物理位置相关的条柱将共享同一位置 ID,这些条柱组合起来可表示时间序列。 与同一时间步长间隔相关的条柱将共享同一时间步长 ID,这些条柱组合起来可构成时间片。 每个条柱的计数值反映在相关时间步长间隔内出现在相关位置的事件或记录的数量。

    每个立方图格都有位置 ID、时间步长 ID 和计数

  • 此工具使用时空 Getis-Ord Gi* 统计来分析 NetCDF 输入时空立方体中的变量。

  • 输出要素将添加到内容窗格,并对所有分析位置的时空分析汇总结果进行渲染。 如果指定面分析掩膜,分析位置为落入分析掩膜范围内的位置;否则,分析位置为至少含有一个时间步长间隔的至少一个点的位置。

    含有数据或不含数据的立方体位置。

  • 除了输出要素以外,工具执行过程中还将分析汇总以消息的形式写入地理处理窗格底部。 可将鼠标悬停在进度条上、单击弹出按钮 弹出 或展开地理处理窗格中消息的详细信息部分来访问消息。 您还可以通过地理处理历史访问之前运行工具的消息。

  • 新兴时空热点分析工具可以检测八种特定热点或冷点趋势:新增的、连续的、加强的、持续的、逐渐减少的、分散的、振荡的和历史的。 有关输出类别定义和此工具所采用算法的详细信息,请参阅了解有关新兴热点分析工具原理的详细信息。

  • 为了获得要素聚类的强度测量,此工具使用了 Getis-Ord Gi* 统计的时空实现,该统计考虑了相邻条柱值的上下文内每个条柱的值。

  • 要确定每个分析邻域中将包括哪些条柱,工具首先要查找落在指定空间关系的概念化范围内的相邻条柱。 然后,对于这些立方图格中的每个立方图格,包括位于上 N 个时间步长的相同位置的立方图格,其中 N 是指定的邻域时间步长值。

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

  • 默认空间关系的概念化固定距离。 如果条柱的质心落在邻域距离范围内并且其时间间隔在指定的邻域时间步长范围内,条柱将视为邻域。 如果未提供邻域距离值,将基于点数据的空间分布来计算邻域距离值。 如果未提供邻域时间步长值,该工具将使用默认值,即 1 个时间步长间隔。

  • 邻域数参数可以覆盖固定距离选项的邻域距离,还可以扩展仅邻接边邻接边拐角选项的邻域搜索。 在这些情况下,系统会将邻域数用作最小数值。 例如,如果将固定距离邻域距离指定为 10 英里,并将邻域数参数指定为 3,所有条柱至少会接收到 3 个空间邻域(即使必须增加邻域距离才能找到它们)。 只有在未达到最小邻域数时,才增加这些条柱的距离。 同样,借助邻接选项,对于具有少于此相邻要素数目的条柱,将根据质心邻近性选择附加邻域。

  • 邻域时间步长值是分析邻域中包括的时间步长间隔的数量值。 例如,如果立方体的时间步长间隔为三个月并且指定邻域时间步长2,则分析邻域中将包括邻域距离范围内的所有条柱计数和其上两个时间步长间隔(涵盖九个月的时间段)的所有相关条柱。

  • 面分析掩膜要素图层可能包括一个或多个定义分析研究区域的面。 这些面将指出点要素可能发生的位置,还应该排除不可能存在点的区域。 例如,如果正在分析入室盗窃趋势,可以使用面分析掩膜来排除没有任何家庭的大湖、国家公园或其他区域。

  • 面分析掩码输入时空立方体的范围相交,不会扩展立方体的尺寸。

  • 如果用于设置研究区域的面分析掩膜的覆盖范围超过最初创建立方体时所使用的输入要素范围,可以使用面分析掩膜作为输出范围环境来重新创建立方体。 运行新兴热点分析工具时,这将确保包括面分析掩膜覆盖的所有区域。 创建立方体期间,将面分析掩膜用作输出范围环境设置,以确保立方体的范围与面分析掩膜的范围匹配。

  • 通过运行新兴时空热点分析可将一些分析结果添加回 netCDF 输入时空立方体中。 可执行三个分析:

    • 对相邻条柱前后环境内的每个条柱进行分析来测量高值和低值聚类的密集程度。 此分析的结果为时空立方体中每个立方图格的 z 得分、p 值和分组类别。
    • 使用 Mann-Kendall 统计来评估分析的位置的这些 z 得分的时间序列。 此分析的结果为聚类趋势 z 得分、p 值和每个位置的分组类别。
    • 最后,使用 Mann-Kendall 统计来评估分析的位置的值的时间序列。 此分析的结果为趋势 z 得分、p 值和每个位置的分组类别。

    添加到输入时空立方体的变量汇总如下:

    变量名称描述尺寸注记

    EMERGING_{ANALYSIS_VARIABLE}_HS_PVALUE

    Getis-Ord Gi* 统计 p 值可度量高值(热点)和低值(冷点)聚类的统计显著性。

    三个维度:时空立方体中每个条柱对应一个 p 值

    EMERGING_{ANALYSIS_VARIABLE}_HS_ZSCORE

    Getis-Ord Gi* 统计 z 得分可度量高值(热点)和低值(冷点)聚类的强度。

    三个维度:时空立方体中每个立方图格对应一个 z 得分

    EMERGING_{ANALYSIS_VARIABLE}_HS_BIN

    用于将每个条柱分类为统计显著性热点值或冷点值的结果类别。 立方图格基于 FDR 校正

    • -3:冷点,置信度为 99%
    • -2:冷点,置信度为 95%
    • -1:冷点,置信度为 90%
    • 0:非统计显著性热点或冷点
    • 1:热点,置信度为 90%
    • 2:热点,置信度为 95%
    • 3:热点,置信度为 99%

    三个维度:时空立方体中每个条柱对应一个分组类别。 立方图格基于 FDR 校正

    {ANALYSIS_VARIABLE}_TREND_PVALUE

    Mann-Kendall p 值可度量位置的值趋势的统计显著性。

    两个维度:每个分析的位置对应一个 p 值

    {ANALYSIS_VARIABLE}_TREND_ZSCORE

    z 得分可度量与位置的值相关的 Mann-Kendall 统计趋势(上升或下降)。 正的 z 得分表示上升趋势;负的 z 得分表示下降趋势。

    两个维度:每个分析的位置对应一个 z 得分

    {ANALYSIS_VARIABLE}_TREND_BIN

    用于将每个位置分类为具有值的统计显著性上升或下降趋势的结果类别。

    • -3:向下趋势,置信度为 99%
    • -2:向下趋势,置信度为 95%
    • -1:向下趋势,置信度为 90%
    • 0:无显著性趋势
    • 1:向上趋势,置信度为 90%
    • 2:向上趋势,置信度为 95%
    • 3:向上趋势,置信度为 99%

    两个维度:每个分析的位置对应一个分组类别。

    EMERGING_{ANALYSIS_VARIABLE}_TREND_PVALUE

    Mann-Kendall p 值可度量位置的热点/冷点 z 得分趋势的统计显著性。

    两个维度:每个分析的位置对应一个 p 值

    EMERGING_{ANALYSIS_VARIABLE}_TREND_ZSCORE

    z 得分可测量与位置的热点/冷点 z 得分趋势相关的上升或下降 Mann-Kendall 趋势。 正的 z 得分表示上升趋势;负的 z 得分表示下降趋势。

    两个维度:每个分析的位置对应一个 z 得分

    EMERGING_{ANALYSIS_VARIABLE}_TREND_BIN

    用于将每个位置分类为具有热点/冷点 z 得分的统计显著性上升或下降趋势的结果类别。

    • -3:向下趋势,置信度为 99%
    • -2:向下趋势,置信度为 95%
    • -1:向下趋势,置信度为 90%
    • 0:无显著性趋势
    • 1:向上趋势,置信度为 90%
    • 2:向上趋势,置信度为 95%
    • 3:向上趋势,置信度为 99%

    两个维度:每个分析的位置对应一个分组类别。

    EMERGING_{ANALYSIS_VARIABLE}_CATEGORY

    17 个类别中的一个,1 到 8、0 和 -1 到 -8。

    • 1,新增热点
    • 2,连续热点
    • 3,加强的热点
    • 4,持续的热点
    • 5,逐渐减少的热点
    • 6,分散热点
    • 7,振荡的热点
    • 8,历史热点
    • 0,未检测到模式
    • 1,新增冷点
    • -2,连续冷点
    • -3,加强的冷点
    • -4,持续的冷点
    • -5,逐渐减少的冷点
    • -6,分散冷点
    • -7,振荡的冷点
    • -8,历史冷点

    两个维度:每个分析的位置对应一个类别。

参数

标注说明数据类型
输入时空立方体

包含要分析的变量的时空立方体。 时空立方体具有 .nc 文件扩展名,是使用时空模式挖掘工具箱中的各种工具创建的。

File
分析变量

要分析的 netCDF 文件中的数值变量。

String
输出要素

输出要素类结果。 此要素类为数据中热点和冷点趋势的二维地图表达。 例如,将显示任何新热点或加强的热点。

Feature Class
邻域距离
(可选)

分析邻域的空间范围。 该值用于确定应将哪些要素一起分析以便访问本地时空聚类。

Linear Unit
邻域时间步长
(可选)

包含在分析邻域中的时间步长间隔数。 该值用于确定应将哪些要素一起分析以便访问本地时空聚类。

Long
面分析掩膜
(可选)

具有用于定义分析研究区域的一个或多个面的面要素图层。 例如,可使用面分析掩膜将大湖从分析中排除。 在输入时空立方体中定义并落在掩膜外的立方图格将不包括在分析中。

此参数仅适用于格网立方体。

Feature Layer
空间关系的概念化
(可选)

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

  • 固定距离对邻近条柱环境内的每个条柱进行分析。 在指定临界距离(邻域距离)内的邻近条柱将分配值为 1 的权重,并对目标条柱的计算产生影响。 在指定临界距离外的邻近条柱将分配值为零的权重,并且不会对目标条柱的计算产生任何影响。
  • K - 最近邻将最近的 k 条柱包含在目标条柱的分析中;k 是指定的数字参数。
  • 仅邻接边只有共用边的邻近条柱会影响目标面条柱的计算。
  • 邻接边拐角共用边或节点的条柱会影响目标面条柱的计算。
String
空间邻域数
(可选)

用于指定邻域的最小数目或精确数目以包括在目标条柱的计算中的整数。 对于 K 最近邻,每个条柱的相邻要素数正好等于这个指定数目。 对于固定距离,每个条柱将至少具有这么多的相邻要素(如有必要,阈值距离将临时增大以确保达到这么多的相邻要素)。 选中一个邻接概念化后,将向每个条柱分配至少该最小数目的相邻要素。 对于具有少于此相邻要素数目的条柱,将根据要素质心邻近性获得附加相邻要素。

Long
定义全局窗口
(可选)

统计数据工作原理为对根据每个条柱的邻域计算的局部统计数据与全局值进行比较。 可以使用此参数来控制用于计算全局值的条柱。

  • 整个立方体将对每个邻域进行分析,与整个立方体进行比较。 这是默认设置。
  • 邻域时间步长将对每个邻域进行分析,与指定邻域时间步长内包含的条柱进行比较。
  • 单一时间步长将每个邻域进行分析,与相同时间步长内的条柱进行比较。
String

arcpy.stpm.EmergingHotSpotAnalysis(in_cube, analysis_variable, output_features, {neighborhood_distance}, {neighborhood_time_step}, {polygon_mask}, {conceptualization_of_spatial_relationships}, {number_of_neighbors}, {define_global_window})
名称说明数据类型
in_cube

包含要分析的变量的时空立方体。 时空立方体具有 .nc 文件扩展名,是使用时空模式挖掘工具箱中的各种工具创建的。

File
analysis_variable

要分析的 netCDF 文件中的数值变量。

String
output_features

输出要素类结果。 此要素类为数据中热点和冷点趋势的二维地图表达。 例如,将显示任何新热点或加强的热点。

Feature Class
neighborhood_distance
(可选)

分析邻域的空间范围。 该值用于确定应将哪些要素一起分析以便访问本地时空聚类。

Linear Unit
neighborhood_time_step
(可选)

包含在分析邻域中的时间步长间隔数。 该值用于确定应将哪些要素一起分析以便访问本地时空聚类。

Long
polygon_mask
(可选)

具有用于定义分析研究区域的一个或多个面的面要素图层。 例如,可使用面分析掩膜将大湖从分析中排除。 在 in_cube 中定义并落在掩膜外的条柱将不包括在分析中。

此参数仅适用于格网立方体。

Feature Layer
conceptualization_of_spatial_relationships
(可选)

指定条柱空间关系的定义方式。

  • FIXED_DISTANCE对邻近条柱环境内的每个条柱进行分析。 在指定临界距离 (neighborhood_distance) 内的邻近条柱将分配值为 1 的权重,并对目标条柱的计算产生影响。 在指定临界距离外的邻近条柱将分配值为零的权重,并且不会对目标条柱的计算产生任何影响。
  • K_NEAREST_NEIGHBORS将最近的 k 条柱包含在目标条柱的分析中;k 是指定的数字参数。
  • CONTIGUITY_EDGES_ONLY只有共用边的邻近条柱会影响目标面条柱的计算。
  • CONTIGUITY_EDGES_CORNERS共用边或节点的条柱会影响目标面条柱的计算。
String
number_of_neighbors
(可选)

用于指定邻域的最小数目或精确数目以包括在目标条柱的计算中的整数。 对于 K_NEAREST_NEIGHBORS,每个条柱的相邻要素数目正好等于这个指定数目。 对于 FIXED_DISTANCE_BAND,每个条柱将至少具有这些数目的相邻要素(如有必要,距离阈值将临时增大以确保达到这个相邻要素数目)。 选中一个邻接概念化后,将向每个条柱分配至少该最小数目的相邻要素。 对于具有少于此相邻要素数目的条柱,将根据要素质心邻近性获得附加相邻要素。

Long
define_global_window
(可选)

统计数据工作原理为对根据每个条柱的邻域计算的局部统计数据与全局值进行比较。 可以使用此参数来控制用于计算全局值的条柱。

  • ENTIRE_CUBE将对每个邻域进行分析,与整个立方体进行比较。 这是默认设置。
  • NEIGHBORHOOD_TIME_STEP将对每个邻域进行分析,与指定邻域时间步长内包含的条柱进行比较。
  • INDIVIDUAL_TIME_STEP将每个邻域进行分析,与相同时间步长内的条柱进行比较。
String

代码示例

EmergingHotSpotAnalysis 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = r"C:\STPM"
arcpy.stpm.EmergingHotSpotAnalysis("Homicides.nc", "COUNT", "EHS_Homicides.shp", "5 Miles", 2, "#", "FIXED_DISTANCE", "3")
EmergingHotSpotAnalysis 示例 2(独立脚本)

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

# Create Space Time Cube of homicide incidents in a metropolitan area

# Import system modules
import arcpy

# Set overwriteOutput property to overwrite existing output, by default
arcpy.env.overwriteOutput = True

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

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

    # Create Space Time Cube of homicide incident data with 3 months and 3 miles settings
    # Process: Create Space Time Cube 
    cube = arcpy.stpm.CreateSpaceTimeCube("Homicides.shp", "Homicides.nc", "MyDate", "#", 
                                          "3 Months", "End time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS",
																																										"HEXAGON_GRID")

    # Create a polygon that defines where incidents are possible  
    # Process: Minimum Bounding Geometry of homicide incident data
    arcpy.management.MinimumBoundingGeometry("Homicides.shp", "bounding.shp", "CONVEX_HULL",
                                             "ALL", "#", "NO_MBG_FIELDS")

    # Emerging Hot Spot Analysis of homicide incident cube using 5 Miles neighborhood 
    # distance and 2 neighborhood time step to detect hot spots
    # Process: Emerging Hot Spot Analysis 
    cube = arcpy.stpm.EmergingHotSpotAnalysis("Homicides.nc", "COUNT", "EHS_Homicides.shp", 
                                              "5 Miles", 2, "bounding.shp", "FIXED_DISTANCE", "3")

except arcpy.ExecuteError:
    # If any error occurred when running the tool, print the messages
    print(arcpy.GetMessages())