描述
使用局部熵分析两个变量以获得统计学显著关系。根据关系的类型,每个要素被划分为六个类别之一。输出可用于可视化变量相关的区域,并探索它们在整个研究区域内的关系如何变化。
插图
使用方法
此工具接受点和面作为输入,且应与连续变量一起使用。此工具不适用于二进制或分类数据。
建议您将输出要素存储在地理数据库中,而不要将其存储为 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_variable和explanatory_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 值的精度和所需增加的处理时间。
| Long |
enable_local_scatterplot_popups (可选) | 指定是否为每个输出要素生成散点图弹出窗口。每个散点图显示局部邻域中的解释变量(水平轴)和因变量(垂直轴)的值以及可视化关系形式的拟合线或曲线。shapefile 输出不支持散点图。
| Boolean |
level_of_confidence (可选) | 指定显著关系的假设检验的置信度级别。
| String |
apply_false_discovery_rate_fdr_correction (可选) | 指定是否将错误发现率 (FDR) 校正应用于伪 p 值。
| Boolean |
scaling_factor (可选) | 控制对变量之间微妙关系的灵敏度。较大的值(更接近于 1)可以检测到相对较弱的关系,而较小的值(接近于 0)将仅检测到强关系。较小的值对异常值也更稳健。该值必须介于 0.01 和 1 之间,默认值为 0.5。 | Double |
代码示例
以下 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)
以下独立 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: 是