局部二元关系 (空间统计)

摘要

使用局部熵分析两个变量以获得统计学显著关系。 根据关系的类型,每个要素被划分为六个类别之一。 输出可用于可视化变量相关的区域,并探索它们在整个研究区域内的关系如何变化。

了解有关局部二元关系工作原理的详细信息

插图

局部二元关系工具图示
检测并可视化两个变量之间的局部关系。

使用情况

  • 此工具接受点和面作为输入,且应与连续变量一起使用。 此工具不适用于二进制或分类数据。

  • 建议您将输出要素存储在地理数据库中,而不要将其存储为 shapefile (.shp)。 Shapefile 无法在属性中存储空值,也无法在弹出对话框中存储图表。

  • 每个输入要素将根据解释变量参数可以预测因变量参数值的可靠程度分类为以下关系类别之一:

    • 不显著 - 变量之间的关系不具有统计显著性。
    • 正线性 - 随着解释变量的增加,因变量线性增加。
    • 负线性 - 随着解释变量的增加,因变量线性减小。
    • - 当解释变量增加时,因变量呈凹曲线变化。
    • - 当解释变量增加时,因变量呈凸曲线变化。
    • 未定义复杂项 - 变量显著相关,但任何其他类别都不能可靠地描述关系类型。

  • 两个变量之间是否相关不依赖于哪个变量标记为解释变量或因变量。 例如,如果糖尿病与肥胖有关,肥胖与糖尿病同样相关。 然而,关系类型的分类可能基于哪个变量被标记为解释变量或因变量而改变。 一个变量可以准确地预测第二个变量,但第二个变量不能准确预测第一个变量。 如果您不确定哪个变量应标记为解释变量和因变量,请运行该工具两次并尝试两种标记方法。

  • 此工具支持并行处理,默认情况下使用 50% 的可用处理器。 处理器数目可以通过使用并行处理因子环境增加或减少。

参数

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

包含表示因变量解释变量值的字段的要素类。

Feature Layer
因变量

表示因变量值的数字字段。 在对关系进行分类时,解释变量值用于预测因变量值。

Field
解释变量

表示解释变量值的数字字段。 在对关系进行分类时,解释变量值用于预测因变量值。

Field
输出要素

输出要素类,包含所有输入要素,输入要素中的字段表示因变量值、解释变量值、熵得分、伪 p 值,显著性级别、分类关系的类型以及与分类相关的诊断。

Feature Class
相邻要素的数目
(可选)

每个要素周围的邻域数(包括该要素在内),用于测试变量之间的局部关系。 邻域数量必须介于 30 和 1000 之间,默认值为 30。 提供的值应足够大,以检测要素之间的关系,但同时要小到足以识别局部模式。

Long
置换检验次数
(可选)

指定将用于计算每个要素的伪 p 值的置换次数。 选择置换次数时需要兼顾伪 p 值的精度和所需增加的处理时间。

  • 99 次置换检验如果置换检验次数为 99,则可能的最小伪 p 值为 0.01,其他所有伪 p 值将是该值的倍数。
  • 199 次置换检验如果置换检验次数为 199,则可能的最小伪 p 值为 0.005,其他所有伪 p 值将是该值的数倍。 这是默认设置。
  • 499 次置换检验如果置换检验次数为 499,则可能的最小伪 p 值为 0.002,其他所有伪 p 值将是该值的数倍。
  • 999 次置换检验如果置换检验次数为 999,则可能的最小伪 p 值为 0.001,其他所有伪 p 值将是该值的数倍。
Long
启用局部散点图弹出窗口
(可选)

指定是否为每个输出要素生成散点图弹出窗口。 每个散点图显示局部邻域中的解释变量(水平轴)和因变量(垂直轴)的值以及可视化关系形式的拟合线或曲线。 shapefile 输出不支持散点图。

  • 选中 - 将为数据集中的每个要素生成局部散点图弹出窗口。 这是默认设置。
  • 未选中 - 将不会生成局部散点图弹出窗口。
Boolean
置信度级别
(可选)

指定显著关系的假设检验的置信度级别。

  • 90%置信度为 90%。 这是默认设置。
  • 95%置信度为 95%。
  • 99%置信度为 99%。
String
应用错误发现率 (FDR) 校正
(可选)

指定是否将错误发现率 (FDR) 校正应用于伪 p 值。

  • 选中 - 统计显著性将以 FDR 校正为基础。 这是默认设置。
  • 未选中 - 统计显著性将基于伪 p 值。
Boolean
比例因子 (Alpha)
(可选)

变量之间微妙关系的灵敏度级别。 较大的值(更接近于 1)可以检测到相对较弱的关系,而较小的值(接近于 0)将仅检测到强关系。 较小的值对异常值也更稳健。 该值必须介于 0.01 和 1 之间,默认值为 0.5。

Double

arcpy.stats.LocalBivariateRelationships(in_features, dependent_variable, explanatory_variable, output_features, {number_of_neighbors}, {number_of_permutations}, {enable_local_scatterplot_popups}, {level_of_confidence}, {apply_false_discovery_rate_fdr_correction}, {scaling_factor})
名称说明数据类型
in_features

包含表示 dependent_variableexplanatory_variable 值的字段的要素类。

Feature Layer
dependent_variable

表示因变量值的数字字段。 在对关系进行分类时,explanatory_variable 值用于预测 dependent_variable 值。

Field
explanatory_variable

表示解释变量值的数字字段。 在对关系进行分类时,explanatory_variable 值用于预测 dependent_variable 值。

Field
output_features

输出要素类,包含所有输入要素,输入要素中的字段表示 dependent_variable 值、explanatory_variable 值、熵得分、伪 p 值、显著性级别、分类关系的类型以及与分类相关的诊断。

Feature Class
number_of_neighbors
(可选)

每个要素周围的邻域数(包括该要素在内),用于测试变量之间的局部关系。 邻域数量必须介于 30 和 1000 之间,默认值为 30。 提供的值应足够大,以检测要素之间的关系,但同时要小到足以识别局部模式。

Long
number_of_permutations
(可选)

指定将用于计算每个要素的伪 p 值的置换次数。 选择置换次数时需要兼顾伪 p 值的精度和所需增加的处理时间。

  • 99如果置换检验次数为 99,则可能的最小伪 p 值为 0.01,其他所有伪 p 值将是该值的倍数。
  • 199如果置换检验次数为 199,则可能的最小伪 p 值为 0.005,其他所有伪 p 值将是该值的数倍。 这是默认设置。
  • 499如果置换检验次数为 499,则可能的最小伪 p 值为 0.002,其他所有伪 p 值将是该值的数倍。
  • 999如果置换检验次数为 999,则可能的最小伪 p 值为 0.001,其他所有伪 p 值将是该值的数倍。
Long
enable_local_scatterplot_popups
(可选)

指定是否为每个输出要素生成散点图弹出窗口。 每个散点图显示局部邻域中的解释变量(水平轴)和因变量(垂直轴)的值以及可视化关系形式的拟合线或曲线。 shapefile 输出不支持散点图。

  • CREATE_POPUP将为数据集中的每个要素生成局部散点图弹出窗口。 这是默认设置。
  • NO_POPUP将不会生成局部散点图弹出窗口。
Boolean
level_of_confidence
(可选)

指定显著关系的假设检验的置信度级别。

  • 90%置信度为 90%。 这是默认设置。
  • 95%置信度为 95%。
  • 99%置信度为 99%。
String
apply_false_discovery_rate_fdr_correction
(可选)

指定是否将错误发现率 (FDR) 校正应用于伪 p 值。

  • APPLY_FDR统计显著性将以 FDR 校正为基础。 这是默认设置。
  • NO_FDR统计显著性将基于伪 p 值。
Boolean
scaling_factor
(可选)

变量之间微妙关系的灵敏度级别。 较大的值(更接近于 1)可以检测到相对较弱的关系,而较小的值(接近于 0)将仅检测到强关系。 较小的值对异常值也更稳健。 该值必须介于 0.01 和 1 之间,默认值为 0.5。

Double

代码示例

LocalBivariateRelationships 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = 'C:\\LBR\\MyData.gdb'
arcpy.stats.LocalBivariateRelationships('ObesityDiabetes', 'ObesityRate', 
                   'DiabetesRate','LBR_Results', 30, '199', 'CREATE_POPUP', 
                   '95%', 'APPLY_FDR', 0.5)
LocalBivariateRelationships 示例 2(独立脚本)

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

# Use the Local Bivariate Relationships tool to study the relationship between
# obesity and diabetes.

# Import system modules.
import arcpy
import os

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

try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\LBR\\MyData.gdb"
    inputFeatures = 'ObesityDiabetes'

    # Set the output workspace and output name.
    outws = 'C:\\LBR\\outputs.gdb'
    outputName = 'LBR_Results'

    # Set input features, dependent variable, and explanatory variable.
    depVar = 'DiabetesRate'
    explVar = 'ObesityRate'

    # Set number of neighbors and permutations.
    numNeighbors = 50
    numPerms = '999'

    # Choose to create pop-ups.
    popUps = 'CREATE_POPUP'

    # Choose confidence level and apply False Discovery Rate correction.
    confLevel = '95%'
    fdr = 'APPLY_FDR'

    # Set the scaling factor.
    scaleFactor = 0.5

    # Run Local Bivariate Relationships.
    arcpy.stats.LocalBivariateRelationships(inputFeatures, depVar, explVar, 
                                            os.path.join(outws, outputName), 
                                            numNeighbors, numPerms, popUps, 
                                            confLevel, fdr, scaleFactor)

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