ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

地理加权回归 (GWR)

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

执行“地理加权回归 (GWR)”,这是一种用于建模空间变化关系的线性回归的局部形式。

了解有关“地理加权回归”工作原理的详细信息

插图

Geographically Weighted Regression
GWR is a local regression model. Coefficients are allowed to vary.

用法

  • GWR 为数据集中的各要素构建了一个独立的方程,用于将落在各目标要素的带宽范围内的要素的因变量和解释变量进行合并。带宽的形状和范围取决于用户输入的核类型、带宽方法、距离以及相邻点的数目等参数,但也存在一些限制:如果相邻要素的数目超过 1000,则仅将最相邻的 1000 个要素合并到各局部方程中。

  • GWR 通常被要求用于处理包含数百个要素的数据集,以便获得最佳结果,GWR 不适用于小型数据集。而且,此工具不能用于处理多点数据。

  • 注:

    GWR 工具会生成各种不同的输出。右键单击结果窗口中的消息条目,然后选择视图,将显示 GWR 工具的执行汇总报告。

    此外,GWR 工具也会生成一个输出要素类和一个包含了工具执行汇总报告诊断值的表。会自动将此表以输出要素类名加上 _supp 作为后缀的形式进行命名。输出要素类会自动添加至具有热/冷渲染方案(此方案适用于构建残差的模型)的内容列表中。在解释 GWR 结果中提供了有关各输出的完整说明。

  • _supp 文件的创建位置始终与输出要素类相同,除非输出要素类被创建在一个要素数据集内。当输出要素类位于要素数据集内时,_supp 表则会创建在该要素数据集所在的地理数据库中。

  • 始终建议使用投影数据;这一点在距离成为分析的一部分时尤其重要,因为在您为核类型选择固定时,会对 GWR 使用投影数据。强烈建议使用投影坐标系(而不是地理坐标系)对数据进行投影。

  • 由 GWR 工具执行的某些计算会利用多个 CPU 以提高性能,并会自动使用多达 8 条线程/CPU 进行处理。

  • 应该始终从普通最小二乘法 (OLS) 回归开始回归分析。首先获得一个正确指定的 OLS 模型,然后使用同样的解释变量运行 GWR(不包括表示不同空间组织的任何“哑元”解释变量)。

  • 因变量和解释变量应该是包含各种值的数值型字段。线性回归方法(如 GWR)不适用于预测二进制结果(例如,所有因变量的值不是 1 就是 0)。

  • 在全局回归模型中(如普通最小二乘法回归 (OLS)),当两个或多个变量具有多重共线性时(即当存在两个或多个冗余变量或者这些变量共同提供同一信息时),结果通常是不可靠的。GWR 为数据集中的各要素构建了一个局部回归方程。如果用于特定解释变量的值出现了空间聚类,则很可能存在局部多重共线性问题。输出要素类中的条件数字段 (COND) 可指明回归结果由于局部多重共线性而出现不稳定性的时期。一般来说,如果要素的条件数大于 30、等于“空”或者等于 -1.7976931348623158e+308(对于 shapefile 来说),则结果是不可靠的。

  • 如果在 GWR 模型中包含名目数据或分类数据,则需谨慎操作。在类别出现空间聚类的地方,存在局部多重共线性的风险会更大。GWR 输出中包含的条件数指明了局部共线性何时会导致问题(条件数小于零、大于 30 或设置为“空”)。存在局部多重共线性的结果是不稳定的。

  • 请勿使用“哑元”解释变量来表示 GWR 模型中的不同空间组织(例如,向城镇中心外的人口普查区赋予值 1,而向其他区域赋予值 0)。由于 GWR 允许解释变量系数发生变化,这些空间组织解释变量并不必要,并且如果包含了这些变量,则会产生局部多重共线性问题。

  • 要更好地了解解释变量系数当中的区域变化,请检查由 GWR 创建的可选栅格系数表面。如果您指定了一个系数栅格工作空间,则会在此工作空间中创建这些栅格表面。对于面数据,您可以对输出要素类中的每个系数字段使用渐变色彩或由冷色到暖色的渲染以检查整个研究区域的更改。

  • 通过提供预测位置要素类(通常,此要素类与输入要素类相同)、预测解释变量和输出预测要素类,您可以使用 GWR 进行预测。在用来校正回归模型的字段(解释变量字段的输入值)与用来预测的字段(预测解释变量字段的输入值)之间必须是一对一的对应关系。这些变量的顺序必须相同。例如,假设您当前正针对交通事故构建一个有关速度限制、道路条件、车道数量以及汽车数量的函数。通过创建一个具有修正后的速度限制和道路条件的新变量,您可以预测更改速度限制或改善道路状况可能对交通事故产生的影响。现有变量将用于校正回归模型,并用作解释变量的参数。修正的变量将用于预测,并可作为预测解释变量。

  • 如果提供了预测位置要素类,但未指定预测解释变量,则仅使用各位置的已计算系数创建输出预测要素类(不进行任何预测)。

  • 如果回归模型缺少关键解释变量,则会导致回归模型的指定错误。如果回归残差的空间自相关具有统计学上的显著性,和/或在一个或多个解释变量的系数当中发生了非期望的空间变化,则表明您的模型被错误指定了。您应该尽一切努力(例如,通过 OLS 残差分析和 GWR 系数变化分析)来查找这些丢失的关键变量,以便在模型中包含这些变量。

  • 时刻关注解释变量的不稳定性是否会出现问题。例如,假设您正将特殊植物种类的密度构建为若干变量(包括 ASPECT)的函数。如果发现在整个研究区域中 ASPECT 变量的系数发生了更改,则可能要查看是否有缺少关键解释变量的迹象(例如,可能存在大量竞争植被)。应该尽一切努力将所有关键解释变量包含到回归模型中。

  • 警告:

    使用 shapefile 时请注意,shapefile 无法存储空值。因此,用来根据非 shapefile 输入创建 shapefile 的工具或其他程序可能会将空值存储为零或某些非常小的负数 (-DBL_MAX = -1.7976931348623158e+308)。这会产生意外的结果。另请参阅:shapefile 输出的地理处理注意事项。

  • 当计算结果无限大或未定义时,非 shapefile 的结果将为“空”;而 shapefile 的结果将是 -DBL_MAX = -1.7976931348623158e+308。

  • 为带宽方法参数选择 AICc(更正后的 Akaike 信息准则)或 CV(交叉验证)时,GWR 将查找最佳距离(对于固定核)或最佳近邻数(对于自适应核)。但是,局部多重共线性问题将会阻止 AICc 和 CV 带宽方法解析最佳距离/近邻数。如果出现表示模型设计存在严重问题的错误,则请尝试指定特殊距离或相邻点数目,然后检查输出要素类中的条件数以查看哪些要素与局部共线性问题相关联。

  • 严重模型设计错误或用于表明局部方程未包含足够多相邻点的错误,通常表示回归存在全局或局部多重共线性问题。要确定出现问题的位置,请使用 OLS 运行模型,然后检查每个解释变量的 VIF 值。如果某些 VIF 值较大(例如,大于 7.5),则全局多重共线性会阻止 GWR 解决问题。但是,更有可能是局部多重共线性所导致的问题。请尝试为各解释变量创建一个专题地图。如果在地图上出现相同值的空间聚类,请考虑将这些变量从模型中移除,或将这些变量与其他解释变量合并以便加大值的变化性。例如,如果要对房屋价格进行建模且具有卧室和浴室两个变量,则可能需要将其合并以加大值的变化性,或将其表示为浴室/卧室的建筑面积。在构造 GWR 模型时,要避免使用空间组织哑元变量、空间聚类名目/数值变量或几乎不可能具有值的变量。

  • GWR 是一种线性模型,其前提条件与 OLS 相同。查看回归分析基础知识文档中回归模型如何失效部分,以便检查 GWR 模型是否进行了正确的指定。

语法

GeographicallyWeightedRegression_stats (in_features, dependent_field, explanatory_field, out_featureclass, kernel_type, bandwidth_method, {distance}, {number_of_neighbors}, {weight_field}, {coefficient_raster_workspace}, {cell_size}, {in_prediction_locations}, {prediction_explanatory_field}, {out_prediction_featureclass})
参数说明数据类型
in_features

包含因变量和自变量的要素类。

Feature Layer
dependent_field

包含要尝试建模的值的数值字段。

Field
explanatory_field
[explanatory_field,...]

表示回归模型中的解释变量或自变量的字段列表。

Field
out_featureclass

接收因变量的估计数和残差的输出要素类。

Feature Class
kernel_type

指定核是否构建为固定距离,或者指定是否允许核在作为要素密度函数的范围内进行变化。

  • FIXED —用来解决各局部回归分析的空间环境(“高斯”核)属于固定距离。
  • ADAPTIVE —空间环境(“高斯”核)是指定近邻数的函数。要素分布越密集,空间环境越小;要素分布越稀疏,空间环境越大。
String
bandwidth_method

指定核范围的确定方式。当选择 AICc 或 CV 时,此工具将为您查找最佳距离/近邻数。通常,在不确定为距离或相邻要素的数目参数使用什么的情况下,可以选择 AICc 或 CV。但是,如果工具可以确定最佳距离或者近邻数,则需要使用 BANDWIDTH_PARAMETER 选项。

  • AICc —使用“Akaike 信息准则 (AICc)”确定核的范围。
  • CV —使用“交叉验证”确定核的范围。
  • BANDWIDTH_PARAMETER —根据固定距离或固定近邻数确定核的范围。必须为距离或相邻要素的数目参数指定一个值。
String
distance
(可选)

kernel_type 为 FIXED 以及 bandwidth_method 为 BANDWIDTH_PARAMETER 时的距离。

Double
number_of_neighbors
(可选)

kernel_type 为 ADAPTIVE 以及 bandwidth_method 为 BANDWIDTH_PARAMETER 时包括在“高斯”核的局部带宽中的精确相邻点数目。

Long
weight_field
(可选)

包含单个要素的空间权重的数值字段。此权重字段允许部分要素在模型校准过程中比其他要素更为重要。主要用于在不同位置采集的样本数目发生变化以及对因变量和自变量中的值求平均值的情况中,并且样本越多,位置越稳定(应该进行更高的加权)。如果一个位置平均具有 25 个不同的样本,但其他位置平均只具有 2 个样本,则可将样本数用作权重字段,以便在模型校准中具有更多样本的位置比具有少量样本的位置有更大的影响力。

Field
coefficient_raster_workspace
(可选)

将创建所有系数栅格的工作空间的完整路径名。如果提供了此工作空间,则会为截距及各解释变量创建栅格。

Folder
cell_size
(可选)

创建系数栅格时使用的像元大小(数字)或对像元大小的引用(栅格数据集的完整路径名)。

默认情况下,像元大小为在地理处理环境输出坐标系中指定的范围的最短宽度或高度除以 250。

Analysis Cell Size
in_prediction_locations
(可选)

一种要素类,包含表示应计算评估值的位置的要素。数据集中的每个要素都应包含所有指定的解释变量的值;将使用为输入要素类数据校准的模型来评估这些要素的因变量。

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

表示“预测位置”要素类中的解释变量的字段列表。这些字段名的供应顺序应与在输入要素类“解释”变量参数中的列出顺序相同(一对一的对应关系)。如果未指定任何预测解释变量,则输出预测要素类将仅包含各预测位置的已计算系数值。

Field
out_prediction_featureclass
(可选)

接收“预测”位置要素类中各要素的因变量估计数的输出要素类。

Feature Class

代码示例

GeographicallyWeightedRegression 示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用 GeographicallyWeightedRegression 工具。

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls","BUS_COUNT;RENTROCC00;NoHSDip",
                                             "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER",
                                             "#", "25", "#","CoefRasters", "135", "PredictionPoints", 
                                             "#", "GWRCallPredictions.shp")
GeographicallyWeightedRegression 示例(独立 Python 脚本)

以下独立 Python 脚本演示了如何使用 GeographicallyWeightedRegression 工具。

# Model 911 emergency calls using GWR

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"C:\Data"

try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace

    # 911 Calls as a function of {number of businesses, number of rental units,
    # number of adults who didn't finish high school}
    # Process: Geographically Weighted Regression... 
    gwr = arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls", 
                        "BUS_COUNT;RENTROCC00;NoHSDip",
                        "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER","#", "25", "#",
                        "CoefRasters", "135", "PredictionPoints", "#", "GWRCallPredictions.shp")

    # Create Spatial Weights Matrix to use with Global Moran's I tool
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("CallsGWR.shp", "UniqID",
                        "CallData25Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 25) 
                        
    # Calculate Moran's Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.SpatialAutocorrelation_stats("CallsGWR.shp", "StdResid",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "CallData25Neighs.swm")

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

环境

  • 输出坐标系
    注:

    完成分析后,将要素几何投影到“输出坐标系”中。因此,距离参数的输入值应以与输入要素类相同的单位进行指定。输出像元大小的输入值应以与“输出坐标系”相同的单位进行指定。

  • 地理变换
  • 当前工作空间
  • 临时工作空间
  • 像元大小
  • 捕捉栅格

许可信息

  • ArcGIS Desktop Basic: 需要 Spatial Analyst 或 Geostatistical Analyst
  • ArcGIS Desktop Standard: 需要 Spatial Analyst 或 Geostatistical Analyst
  • ArcGIS Desktop Advanced: 是

相关主题

  • “空间关系建模”工具集概述
  • 普通最小二乘法 (OLS)
  • 回归分析基础知识
  • 解释 GWR 结果
  • GWR 的工作原理
  • 探索性回归

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明