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

描述

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

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

插图

两个变量之间的局部关系
检测并可视化两个变量之间的局部关系。

使用方法

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

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

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

    • 不具有显著性 - 变量间的关系在统计学上不具有显著性。
    • 正线性 - 因变量随着解释变量的增大而线性增大。
    • 负线性 - 因变量随着解释变量的增大而线性减小。
    • 凹函数 - 因变量随着解释变量的增大呈凹曲线变化。
    • 凸函数 - 因变量随着解释变量的增大呈凸曲线变化。
    • 未定义的复杂相关 - 变量显著相关,但关系类型无法可靠地界定为以上类别。

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

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

语法

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_variableexplanatory_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.LocalBivariateRelationships_stats('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 popups.
    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 Regression.
    arcpy.LocalBivariateRelationships_stats(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 out the error message.
    print(arcpy.GetMessages())

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题