标注 | 说明 | 数据类型 |
输入要素 | 包含因变量和解释变量的输入要素。 | Feature Layer |
因变量 | 回归模型中需要预测的数值字段。 | Field |
解释变量 | 用于预测回归模型中因变量的字段列表。 | Field |
输出要素 | 包含因变量预测值和残差的输出要素数据集。 | Feature Class |
模型类型 | 用于进行估计的模型类型。 默认情况下,工具将使用 LM 诊断测试来自动选择最适合输入数据的模型。
| String |
邻域类型 (可选) | 指定如何为每个输入要素选择相邻要素。 为了识别局部空间模式,必须为每个输入要素确定其相邻要素。
| String |
距离范围 (可选) | 此距离内的要素都将作为相邻要素包含在内。 如果未提供任何值,则将在处理过程中估算一个值,并将其作为地理处理消息包含在内。 | Linear Unit |
相邻要素数 (可选) | 要包含的相邻要素的数量。 该数值不包含焦点要素。 默认值为 8。 | Long |
权重矩阵文件 (可选) | 定义要素间空间关系的空间权重矩阵文件的路径和文件名。 | File |
局部权重方案 (可选) | 指定将应用于相邻要素的加权方案。 除非提供空间权重矩阵文件,否则始终对权重进行行标准化处理。
| String |
核带宽 (可选) | 加权核的带宽。 如果未提供值,则将采用自适应核函数。 自适应核函数使用相邻要素到焦点要素的最大距离作为带宽。 | Linear Unit |
摘要
估计点或面要素类的全局空间回归模型。
使用空间数据时,传统线性回归模型的假设通常会被违反。 当数据集中存在空间自相关时,系数估计值可能会有偏差,导致推论过于自信。 本工具旨在构建一个在存在空间依赖性和异方差性的情况下依然稳健的回归模型,并能用于衡量空间溢出效应。 该工具借助拉格朗日乘数 (LM) 诊断(也称为 Rao 得分)来确定最适合数据的模型。 基于 LM 诊断的结果,可以选择估计普通最小二乘法 (OLS) 模型、空间滞后模型 (SLM)、空间误差模型 (SEM) 或空间自回归组合模型 (SAC)。
插图

使用情况
该工具仅接受点和面类型的输入要素。
因变量必须为连续变量(非二元变量或类别变量)。
解释变量必须为连续变量(非二元变量或类别变量)。 切勿使用二元变量(仅包含 0 和 1 两种取值),因为它们可能违反模型假设,导致错误发生。
工具的输出结果包含残差的莫兰散点图,可用于评估模型残差中是否存在空间自相关。
所使用的空间权重矩阵的连通性不应超过 30%。 如果达到这一阈值,工具会报错,避免产生存在偏差的估计结果。
在使用 K 近邻方法进行局部加权时,如果未指定带宽,系统将自动计算自适应带宽。
可以通过拟合 SLM 模型,并包含每个解释变量及其空间滞后项,来估计空间杜宾模型。 可以使用邻域汇总统计工具计算空间滞后项。
模型估计采用以下与异方差性和正态性相关的特定方法:
- SLM 模型采用空间二阶段最小二乘回归 (S2SLS) 方法。
- SEM 模型采用广义矩方法 (GMM)。
- SAC 模型采用广义 S2SLS (GS2SLS) 方法。
参数
arcpy.stats.SAR(in_features, dependent_variable, explanatory_variables, out_features, model_type, {neighborhood_type}, {distance_band}, {number_of_neighbors}, {weights_matrix_file}, {local_weighting_scheme}, {kernel_bandwidth})
名称 | 说明 | 数据类型 |
in_features | 包含因变量和解释变量的输入要素。 | Feature Layer |
dependent_variable | 回归模型中需要预测的数值字段。 | Field |
explanatory_variables [explanatory_variables,...] | 用于预测回归模型中因变量的字段列表。 | Field |
out_features | 包含因变量预测值和残差的输出要素数据集。 | Feature Class |
model_type | 用于进行估计的模型类型。 默认情况下,工具将使用 LM 诊断测试来自动选择最适合输入数据的模型。
| String |
neighborhood_type (可选) | 指定如何为每个输入要素选择相邻要素。 为了识别局部空间模式,必须为每个输入要素确定其相邻要素。
| String |
distance_band (可选) | 此距离内的要素都将作为相邻要素包含在内。 如果未提供任何值,则将在处理过程中估算一个值,并将其作为地理处理消息包含在内。 | Linear Unit |
number_of_neighbors (可选) | 要包含的相邻要素的数量。 该数值不包含焦点要素。 默认值为 8。 | Long |
weights_matrix_file (可选) | 定义要素间空间关系的空间权重矩阵文件的路径和文件名。 | File |
local_weighting_scheme (可选) | 指定将应用于相邻要素的加权方案。 除非提供空间权重矩阵文件,否则始终对权重进行行标准化处理。
| String |
kernel_bandwidth (可选) | 加权核的带宽。 如果未提供值,则将采用自适应核函数。 自适应核函数使用相邻要素到焦点要素的最大距离作为带宽。 | Linear Unit |
代码示例
以下 Python 窗口脚本演示了如何使用 SAR 函数。
# Fit SAR model and auto-detect the regression model.
arcpy.stats.SAR(
in_features=r"C:\data\data.gdb\house_price",
dependent_variable="price",
explanatory_variables=["crime", "income", "school_rate"],
out_features=r"C:\data\data.gdb\house_price_SAR",
model_type="AUTO",
neighborhood_type="DELAUNAY_TRIANGULATION",
distance_band=None,
number_of_neighbors=None,
weights_matrix_file=None,
local_weighting_scheme="UNWEIGHTED",
kernel_bandwidth=None
)
以下独立脚本演示了如何使用 SAR 函数。
# Fit SAR model using SLM.
# Import modules
import arcpy
# Set the current workspace
arcpy.env.workspace = r"C:\data\data.gdb"
# Run SAR tool with Spatial Lag model
arcpy.stats.SAR(
in_features=r"health_factors_CA",
dependent_variable="Diabetes",
explanatory_variables=["Drink", "Inactivity"],
out_features=r"Diabetes_SAR",
model_type="LAG",
neighborhood_type="CONTIGUITY_EDGES_CORNERS",
distance_band=None,
number_of_neighbors=None,
weights_matrix_file=None,
local_weighting_scheme="UNWEIGHTED",
kernel_bandwidth=None
)