多比例地理加权回归 (MGWR) (空间统计)

摘要

用于执行多比例地理加权回归 (MGWR),这是一种用于对空间变化关系进行建模的线性回归的局部形式。

MGWR 是一种局部回归模型,其中的系数值可以跨空间变化。 用于定义每个要素周围邻域的带宽也可在不同的解释变量之间变化。 这使得模型能够捕获解释变量与因变量之间关系的不同比例。 这些邻域将与地理加权核搭配使用,以估计回归模型中每个解释变量的系数。

了解有关多比例地理加权回归 (MGWR) 工作原理的详细信息

插图

“多比例地理加权回归”工具图示
双平方核将应用于每个解释变量的邻域。 每个解释变量都将使用不同的带宽来捕获不断变化的空间关系。

使用情况

  • 当前模型仅接受表示连续值的因变量。 请勿将此工具与计数、比率或二进制(指示)因变量搭配使用。 目前,模型类型参数的连续选项是唯一受支持的选项。 后续版本中可能会添加其他选项。

    如果提供了不连续的因变量,则结果可能缺乏意义,就像对负计数或大于一的概率展开预测一样。

    警告:

    解释变量(非因变量)可以是任何类型,但在使用计数、比率或二进制解释变量时请务必谨慎。 使用不连续解释变量的局部回归模型时经常会遇到局部多重共线性问题。 如果任何解释变量在全局或局部范围内高度相关,则该工具可能会因多重共线性的缘故而运行失败并出现错误 110222。

    了解有关多重共线性的详细信息。

  • 因变量 解释变量参数中提供的字段应该同时存在全局和局部变化。 请勿使用包含单个常量值的字段、表示不同空间组织的指示解释变量或采用空间聚类的分类变量。

  • 要使用分类解释变量,必须使用编码字段工具将类别转换为指示(0 或 1)变量。 这些指示变量随后可用作多比例地理加权回归 (MGWR) 工具中的解释变量。

  • 邻域选择方法参数存在以下三个选项,可用于分别估计每个解释变量的最佳空间比例:

    • 黄金搜索 - 使用黄金搜索算法来确定每个解释变量的相邻要素数目或距离范围。 此方法将测试指定的最小值和最大值之间的每个解释变量的多个值组合。 该过程为迭代过程,并且将使用先前值的结果来选择要测试的每个新组合。 所选择的最终值将具有最小的 AICc。 对于相邻要素数目选项,将使用最小相邻要素数最大相邻要素数参数来指定最小值和最大值。 对于距离范围选项,将使用最小搜索距离最大搜索距离参数来指定最小值和最大值。 所有解释变量将共享最小值和最大值,但每个解释变量的估计相邻要素数目或距离范围将有所不同(除非有两个或更多解释变量具有相同的空间比例)。 此选项所花费的计算时间最长,对于大型或高维数据集而言尤其如此。
    • 手动间隔 - 通过从最小值增加相邻要素数目或距离范围来确定每个解释的相邻要素数目或距离范围。 对于相邻要素数目选项,该方法将从最小相邻要素数参数的值开始。 随后,相邻要素的数目会按照相邻要素的数目增量参数的值进行增加。 此增量将重复一定次数,并需要使用增量数参数进行指定。 对于距离范围选项,该方法将使用最小搜索距离搜索距离增量增量数参数。 每个解释变量所使用的相邻要素数目或距离范围都将是一个已测试值,但每个解释变量的值可能不同。 此选项要比黄金搜索的速度更快,并且会经常估计可比较的邻域。
    • 用户定义 - 所有解释变量所使用的相邻要素数目或距离范围。 该值将使用相邻要素的数目距离范围参数进行指定。 如果您清楚最佳值,则此选项可帮助您实现最大程度的控制。

    默认情况下,每个邻域选择方法的依存参数适用于所有解释变量。 但是,只能为针对邻域类型和选择方法使用相应覆盖参数的特定解释变量提供自定义邻域选择参数:黄金搜索的相邻要素数目手动间隔的相邻要素数目用户定义的相邻要素数目黄金搜索的搜索距离手动间隔的搜索距离用户定义的搜索距离。 要将自定义邻域用于特定解释变量,请在相应覆盖参数的第一列中提供解释变量,并在其他列中提供邻域的自定义选项。 这些列与它们所覆盖的参数名称相同;例如,如果您要将手动间隔与距离范围搭配使用,则搜索距离增量列将指定搜索距离增量参数的自定义值。 在工具对话框中,自定义邻域参数将位于自定义邻域选项参数类别下拉菜单中。

    例如,假设您要将三个具有黄金搜索邻域类型的解释变量与最小相邻要素数 30 和最大相邻要素数 40 搭配使用。 如果使用这些参数来运行该工具,则三个解释变量中的每一个都将使用 30 到 40 个相邻要素。 如果您改为仅希望为第二个解释变量使用 45 到 55 个相邻要素,则可以在黄金搜索的相邻要素数目参数值的列中提供第二个解释变量、自定义最小值和自定义最大值。 有了这些参数,第一个和第三个解释变量将使用 30 到 40 个相邻要素,而第二个解释变量将使用 45 到 55 个相邻要素。

  • 地理处理消息中将显示多个模型诊断,可用于确定 MGWR 模型的可靠性。 请在查看任何其他工具输出之前查看这些诊断。 如果模型诊断可接受,则请查看输出要素的图表和符号系统以更好地了解结果。

    了解有关模型诊断和工具输出的详细信息

  • 每个 MGWR 局部模型都将遵循与广义线性回归工具相同的要求。 回归分析基础知识主题中的回归模型失效方式部分将包含确保模型准确的提示。 有关回归分析的详细信息,请参阅您所不了解的回归分析内容

  • 为了获得最准确的结果,请在坐标存储为纬度和经度的情况下,将数据投影到投影坐标系。 这在使用邻域类型参数的距离范围选项时尤其重要,原因是优化需要精确的距离测量值。

  • 如果您选中调整数据比例参数,则系统将为每个已调整比例的系数创建一个图层。 已将比例调整为原始数据单位的系数将作为字段存储在输出要素类中。 如果已使用系数栅格工作空间参数创建了系数栅格,则系统将使用已调整比例的系数栅格来创建图层,并将已调整比例的栅格保存在工作空间中。

    建议您调整解释变量和因变量的比例。 当变量值的范围变化很大时,这一点尤其重要,原因是调整比例将使解释变量值的方差相等。 在对每个局部模型的带宽和系数进行数值估计时,一旦每个变量对数据总方差的贡献量相等,则通常估计的收敛速度更快并且值更准确。 如果解释变量具有不同的方差,则方差较大的变量对迭代估计每一步骤的影响更大。 在大多数情况下,这种影响会对模型的最终带宽和系数产生负面影响。

  • 在某些情况下,即使在搜索相同的距离范围或相邻要素时,邻域选择方法参数的手动间隔选项所估计的 AICc 值也可能低于黄金搜索选项。 同样,如果您执行黄金搜索或手动间隔,然后使用用户定义选项提供估计的带宽或相邻要素数目,则输出将不会完全相同。 这两种行为都是用于估计 MGWR 模型参数的黄金搜索和反向拟合算法的路径依赖造成的。 要重现相同的 MGWR 结果,您必须使用所有相同的参数设置来运行该工具。

参数

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

包含因变量和解释变量的要素类。

Feature Layer
因变量

包含将进行建模的观测值的数值字段。

Field
模型类型

根据因变量的值来指定回归模型。 目前,系统仅支持连续数据,并且该参数隐藏在地理处理窗格中。 请勿使用分类、计数或二进制因变量。

  • 连续该因变量表示连续值。 这是默认设置。
String
解释变量

将在回归模型中用作独立解释变量的字段列表。

Field
输出要素

包含 MGWR 模型的系数、残差和显著性水平的新要素类。

Feature Class
邻域类型

指定邻域是固定距离,还是允许根据要素的密度在空间范围内变化。

  • 相邻要素的数目邻域大小将是每个要素的最近相邻要素的指定数量。 在要素密集的位置,邻域的空间范围将会较小;在要素稀疏的位置,邻域的空间范围将会较大。
  • 距离范围邻域大小将是每个要素的恒定或固定距离。
String
邻域选择方法

指定将如何确定邻域大小。

  • 黄金搜索最佳距离或相邻要素数目将通过使用黄金搜索算法来最小化 AICc 值进行确定。
  • 手动间隔系统将通过测试值范围和选择具有最小 AICc 的值来确定距离或相邻要素数目。 如果邻域类型参数设置为距离范围,则此范围的最小值将由最小搜索距离参数提供。 随后系统会为最小值增加搜索距离增量参数中指定的值。 该操作将重复增量数参数所指定的次数。 如果邻域类型参数设置为相邻要素的数目,则最小值、增量大小和增量数将分别由最小相邻要素数相邻要素的数目增量增量数参数提供。
  • 用户定义邻域大小将由相邻要素的数目参数或距离范围参数指定。
String
最小相邻要素的数目
(可选)

每个要素将包含在其计算中的最小相邻要素的数目。 建议至少使用 30 个相邻要素。

Long
最大相邻要素的数目
(可选)

每个要素将包含在其计算中的最大相邻要素的数目。

Long
距离单位
(可选)

指定将用于测量要素之间距离的距离单位。

  • 美国测量英尺距离将以美国测量英尺为单位进行测量。
  • 距离将以米为单位进行测量。
  • 千米距离将以千米为单位进行测量。
  • 美国测量英里距离将以美国测量英里为单位进行测量。
String
最小搜索距离
(可选)

将应用于每个解释变量的最小搜索距离。 建议您为每个要素提供至少包含 30 个相邻要素的最小距离。

Double
最大搜索距离
(可选)

将应用于所有变量的最大邻域搜索距离。

Double
相邻要素的数目增量
(可选)

将针对每个邻域测试增加手动间隔的相邻要素的数目。

Long
搜索距离增量
(可选)

将针对每个邻域测试增加手动间隔的距离。

Double
增量数
(可选)

使用手动间隔时要测试的邻域大小的数量。 第一个邻域大小是最小相邻要素数最小搜索距离参数的值。

Long
相邻要素的数目
(可选)

将用于用户定义的邻域类型的相邻要素数目。

Long
距离范围
(可选)

将用于用户定义的邻域类型的距离范围的大小。 此距离内的所有要素都将作为局部模型中的相邻要素包含在内。

Double
黄金搜索的相邻要素数目
(可选)

单个解释变量的自定义 黄金搜索选项。 对于要自定义的每个解释变量,请在列中提供变量、最小相邻要素数和最大相邻要素数。

Value Table
手动间隔的相邻要素数目
(可选)

单个解释变量的自定义手动间隔选项。 对于要自定义的每个解释变量,请在列中提供最小相邻要素数、相邻要素的数目增量以及增量数。

Value Table
用户定义的相邻要素数目
(可选)

单个解释变量的自定义用户定义选项。 对于要自定义的每个解释变量,请提供相邻要素的数目。

Value Table
黄金搜索的搜索距离
(可选)

单个解释变量的自定义黄金搜索选项。 对于要自定义的每个解释变量,请在列中提供变量、最小搜索距离和最大搜索距离。

Value Table
手动间隔的搜索距离
(可选)

单个解释变量的自定义手动间隔选项。 对于要自定义的每个变量,请在列中提供变量、最小搜索距离、搜索距离增量和增量数。

Value Table
用户定义的搜索距离
(可选)

单个解释变量的自定义用户定义选项。 对于要自定义的每个变量,请在列中提供变量和距离范围。

Value Table
预测位置
(可选)

具有将计算评估值的位置的要素类。 此数据集中的每个要素都应包含指定的每个解释变量的值。 将使用针对输入要素类数据进行校准的模型来评估这些要素的因变量。 这些要素位置应该位于与输入要素相同的研究区域内,或接近该研究区域(位于 115% 范围内)。

Feature Layer
要匹配的解释变量
(可选)

预测位置中与输入要素中的相应解释变量匹配的解释变量。

Value Table
输出预测要素
(可选)

将接收每个预测位置的因变量估计数的输出要素类。

Feature Class
可靠预测
(可选)

用于指定将在预测计算中使用的要素。

  • 选中 - 值高于平均值(异常值)3 个标准偏差的要素以及权重为 0(空间异常值)的要素将从预测计算中排除,但将在输出要素类中接收预测。 这是默认设置。
  • 未选中 - 将在预测计算中使用每个要素。

Boolean
局部权重方案
(可选)

用于指定将用于在模型中提供空间权重的核类型。 核将定义每个要素与其邻域内其他要素相关的方式。

  • 双平方权重 0 将会分配给指定邻域外的任何要素。 这是默认设置。
  • 高斯函数所有要素都将获得权重,但是距离目标要素越远,则权重将以指数方式变小。
String
输出邻域表
(可选)

包含 MGWR 模型的输出统计数据的表。 输出中将包含估计带宽或相邻要素数目的条形图。

Table View
系数栅格工作空间
(可选)

将创建系数栅格的工作空间。 如果提供了此工作空间,则会为截距及各解释变量创建栅格。 仅当具有 Desktop Advanced 许可时,此参数才可用。 如果提供了目录,则栅格将为 TIFF (.tif) 栅格类型。

Workspace
调整数据比例
(可选)

指定在拟合模型之前是否将解释变量和因变量的值缩放为平均值为 0 和标准差为 1。

  • 选中 - 系统将缩放变量的值。 结果将包含解释变量系数的已缩放和未缩放版本。
  • 未选中 - 系统将不会缩放变量的值。 所有系数都将是未缩放系数并将以原始数据单位表示。

Boolean

派生输出

标注说明数据类型
系数栅格图层

解释变量系数的输出栅格。

Raster
输出图层组

输出的图层组。 组中的每个图层均代表一个不同的输出要素字段。

Group Layer

arcpy.stats.MGWR(in_features, dependent_variable, model_type, explanatory_variables, output_features, neighborhood_type, neighborhood_selection_method, {minimum_number_of_neighbors}, {maximum_number_of_neighbors}, {distance_unit}, {minimum_search_distance}, {maximum_search_distance}, {number_of_neighbors_increment}, {search_distance_increment}, {number_of_increments}, {number_of_neighbors}, {distance_band}, {number_of_neighbors_golden}, {number_of_neighbors_manual}, {number_of_neighbors_defined}, {distance_golden}, {distance_manual}, {distance_defined}, {prediction_locations}, {explanatory_variables_to_match}, {output_predicted_features}, {robust_prediction}, {local_weighting_scheme}, {output_table}, {coefficient_raster_workspace}, {scale})
名称说明数据类型
in_features

包含因变量和解释变量的要素类。

Feature Layer
dependent_variable

包含将进行建模的观测值的数值字段。

Field
model_type

根据因变量的值来指定回归模型。 目前,系统仅支持连续数据,并且该参数隐藏在地理处理窗格中。 请勿使用分类、计数或二进制因变量。

  • CONTINUOUS该因变量表示连续值。 这是默认设置。
String
explanatory_variables
[explanatory_variables,...]

将在回归模型中用作独立解释变量的字段列表。

Field
output_features

包含 MGWR 模型的系数、残差和显著性水平的新要素类。

Feature Class
neighborhood_type

指定邻域是固定距离,还是允许根据要素的密度在空间范围内变化。

  • NUMBER_OF_NEIGHBORS邻域大小将是每个要素的最近相邻要素的指定数量。 在要素密集的位置,邻域的空间范围将会较小;在要素稀疏的位置,邻域的空间范围将会较大。
  • DISTANCE_BAND邻域大小将是每个要素的恒定或固定距离。
String
neighborhood_selection_method

指定将如何确定邻域大小。

  • GOLDEN_SEARCH最佳距离或相邻要素数目将通过使用黄金搜索算法来最小化 AICc 值进行确定。
  • MANUAL_INTERVALS系统将通过测试值范围和选择具有最小 AICc 的值来确定距离或相邻要素数目。 如果 neighborhood_type 参数设置为 DISTANCE_BAND,则此范围的最小值将由 minimum_search_distance 参数提供。 随后系统会为最小值增加 search_distance_increment 参数中指定的值。 该操作将重复 number_of_increments 参数所指定的次数。 如果 neighborhood_type 参数设置为 NUMBER_OF_NEIGHBORS,则最小值、增量大小和增量数将分别由 minimum_number_of_neighborsnumber_of_neighbors_incrementnumber_of_increments 参数提供。
  • USER_DEFINED邻域大小将由 number_of_neighbors 参数或 distance_band 参数指定。
String
minimum_number_of_neighbors
(可选)

每个要素将包含在其计算中的最小相邻要素的数目。 建议至少使用 30 个相邻要素。

Long
maximum_number_of_neighbors
(可选)

每个要素将包含在其计算中的最大相邻要素的数目。

Long
distance_unit
(可选)

指定将用于测量要素之间距离的距离单位。

  • FEET距离将以美国测量英尺为单位进行测量。
  • METERS距离将以米为单位进行测量。
  • KILOMETERS距离将以千米为单位进行测量。
  • MILES距离将以美国测量英里为单位进行测量。
String
minimum_search_distance
(可选)

将应用于每个解释变量的最小搜索距离。 建议您为每个要素提供至少包含 30 个相邻要素的最小距离。

Double
maximum_search_distance
(可选)

将应用于所有变量的最大邻域搜索距离。

Double
number_of_neighbors_increment
(可选)

将针对每个邻域测试增加手动间隔的相邻要素的数目。

Long
search_distance_increment
(可选)

将针对每个邻域测试增加手动间隔的距离。

Double
number_of_increments
(可选)

使用手动间隔时要测试的邻域大小的数量。 第一个邻域大小是 minimum_number_of_neighborsminimum_search_distance 参数的值。

Long
number_of_neighbors
(可选)

将用于用户定义的邻域类型的相邻要素数目。

Long
distance_band
(可选)

将用于用户定义的邻域类型的距离范围的大小。 此距离内的所有要素都将作为局部模型中的相邻要素包含在内。

Double
number_of_neighbors_golden
[number_of_neighbors_golden,...]
(可选)

单个解释变量的自定义 黄金搜索选项。 对于要自定义的每个解释变量,请在列中提供变量、最小相邻要素数和最大相邻要素数。

Value Table
number_of_neighbors_manual
[number_of_neighbors_manual,...]
(可选)

单个解释变量的自定义手动间隔选项。 对于要自定义的每个解释变量,请在列中提供最小相邻要素数、相邻要素的数目增量以及增量数。

Value Table
number_of_neighbors_defined
[number_of_neighbors_defined,...]
(可选)

单个解释变量的自定义用户定义选项。 对于要自定义的每个解释变量,请提供相邻要素的数目。

Value Table
distance_golden
[distance_golden,...]
(可选)

单个解释变量的自定义黄金搜索选项。 对于要自定义的每个解释变量,请在列中提供变量、最小搜索距离和最大搜索距离。

Value Table
distance_manual
[distance_manual,...]
(可选)

单个解释变量的自定义手动间隔选项。 对于要自定义的每个变量,请在列中提供变量、最小搜索距离、搜索距离增量和增量数。

Value Table
distance_defined
[distance_defined,...]
(可选)

单个解释变量的自定义用户定义选项。 对于要自定义的每个变量,请在列中提供变量和距离范围。

Value Table
prediction_locations
(可选)

具有将计算评估值的位置的要素类。 此数据集中的每个要素都应包含指定的每个解释变量的值。 将使用针对输入要素类数据进行校准的模型来评估这些要素的因变量。 这些要素位置应该位于与输入要素相同的研究区域内,或接近该研究区域(位于 115% 范围内)。

Feature Layer
explanatory_variables_to_match
[explanatory_variables_to_match,...]
(可选)

预测位置中与输入要素中的相应解释变量匹配的解释变量。

Value Table
output_predicted_features
(可选)

将接收每个预测位置的因变量估计数的输出要素类。

Feature Class
robust_prediction
(可选)

用于指定将在预测计算中使用的要素。

  • ROBUST值高于平均值(异常值)3 个标准偏差的要素以及权重为 0(空间异常值)的要素将从预测计算中排除,但将在输出要素类中接收预测。 这是默认设置。
  • NON_ROBUST将在预测计算中使用每个要素。
Boolean
local_weighting_scheme
(可选)

用于指定将用于在模型中提供空间权重的核类型。 核将定义每个要素与其邻域内其他要素相关的方式。

  • BISQUARE权重 0 将会分配给指定邻域外的任何要素。 这是默认设置。
  • GAUSSIAN所有要素都将获得权重,但是距离目标要素越远,则权重将以指数方式变小。
String
output_table
(可选)

包含 MGWR 模型的输出统计数据的表。 输出中将包含估计带宽或相邻要素数目的条形图。

Table View
coefficient_raster_workspace
(可选)

将创建系数栅格的工作空间。 如果提供了此工作空间,则会为截距及各解释变量创建栅格。 仅当具有 Desktop Advanced 许可时,此参数才可用。 如果提供了目录,则栅格将为 TIFF (.tif) 栅格类型。

Workspace
scale
(可选)

指定在拟合模型之前是否将解释变量和因变量的值缩放为平均值为 0 和标准差为 1。

  • SCALE_DATA系统将缩放变量的值。 结果将包含解释变量系数的已缩放和未缩放版本。
  • NO_SCALE_DATA系统将不会缩放变量的值。 所有系数都将是未缩放系数并将以原始数据单位表示。
Boolean

派生输出

名称说明数据类型
coefficient_raster_layers

解释变量系数的输出栅格。

Raster
output_layer_group

输出的图层组。 组中的每个图层均代表一个不同的输出要素字段。

Group Layer

代码示例

MGWR 示例 1:(Python 窗口)

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

import arcpy
arcpy.stats.MGWR("r\data.gdb\house_price", "price", "CONTINUOUS", 
                 "review;beds;areas", r"data.gdb\house_price_fit_model", 
                 "DISTANCE_BAND", "GOLDEN_SEARCH", None, None, None, None, 
                 None, None, None, None, None, None, None, None, None, 
                 "review # #;beds # #; areas # #", None, None, 
                 r"data.gdb\house_price", "review review;beds beds; areas areas", 
                 r"data.gdb\house_price_prediction", "ROBUST", "BISQUARE")
MGWR 示例 1(独立脚本)

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

# Run MGWR to predict house prices using "Number of Neighbors" and "Golden Search"
# Import modules
import arcpy

# Set the current workspace
arcpy.env.workspace = "C:/data"

# Run MGWR 
arcpy.stats.MGWR("r\data.gdb\house_price", "price", "CONTINUOUS", 
                 "review;beds;areas", r"data.gdb\house_price_fit_model", 
                 "DISTANCE_BAND", "GOLDEN_SEARCH", None, None, None, None, 
                 None, None, None, None, None, None, None, None, None, 
                 "review # #;beds # #; areas # #", None, None, 
                 r"data.gdb\house_price", "review review;beds beds; areas areas", 
                 r"data.gdb\house_price_prediction", "ROBUST", "BISQUARE")

许可信息

  • Basic: 受限
  • Standard: 受限
  • Advanced: 是

相关主题