地理加权回归GWR(Geographically Weighted Regression)

地理加权回归

本笔记本演示了如何使用 Oshan 等人中包含的示例代码使用 MGWR Python 包执行地理加权回归
Oshan et al. 2019. MGWR: A Python Implementation of Multiscale Geographically Weighted Regression for Investigating Process Spatial Heterogeneity and Scale. ISPRS Int. J. Geo-Inf. 2019, 8(6), 269; https://doi.org/10.3390/ijgi8060269.

GWR(Geographically Weighted Regression)是一种空间数据分析方法,用于处理空间异质性(spatial heterogeneity)问题。与传统的全局回归方法不同,GWR考虑了空间上相邻观测点之间的关联性,允许回归系数在空间上发生变化。这意味着,GWR可以捕捉到在空间上不同地区(或位置)的变量之间关系的差异。

在GWR中,回归系数不再是全局的,而是在每个观测点附近局部生成的。这种方法对于那些在不同地理位置或空间单元内有不同影响因素的研究非常有用。GWR通常用于地理信息系统(GIS)和地理统计学中,用于研究空间数据的空间相关性和空间预测。

GWR的基本思想是,每个观测点的响应变量与邻近点的观测值相关,但关系的强度和方向可以因地理位置的不同而异。GWR模型的结果包括每个观测点附近的局部回归系数,这些系数在空间上的分布可以用来理解变量之间的空间异质性。

内容

  • 安装 MGWR Python 包
  • 导入所需的包
  • 加载和预览数据
  • GWR 数据预处理
  • 设置 GWR 带宽
  • 适合 GWR 模型
  • 绘制带宽变化
  • 评估并绘制模型拟合

安装 MGWR Python 包

以下行将安装 MGWR Python 包(如果尚未安装)。 该包的文档可以在此处找到,地理加权回归部分的文档可以在[此处](https://mgwr .readthedocs.io/en/latest/ generated/mgwr.gwr.GWR.html#mgwr.gwr.GWR)。

try:
    from mgwr.gwr import GWR
except:
    print('Installing MGWR')
    ! pip install -U mgwr
d:\work\miniconda3\lib\site-packages\scipy\__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.23.3
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"

导入所需的包

运行示例代码需要这些包。

# code in this cell is from Oshan et al. 2019

import numpy as np
import pandas as pd
import libpysal as ps
from mgwr.gwr import GWR, MGWR
from mgwr.sel_bw import Sel_BW
from mgwr.utils import compare_surfaces, truncate_colormap
import geopandas as gp
import matplotlib.pyplot as plt
import matplotlib as mpl

加载和预览数据

这里乔治亚州各县的数据是从示例数据集中加载的。 使用 matplotlib 映射基础数据。

# import Georgia dataset and show counties
# code in this cell is from Oshan et al. 2019

georgia = gp.read_file(ps.examples.get_path('G_utm.shp'))
fig, ax = plt.subplots(figsize = (10, 10))
georgia.plot(ax=ax, **{
   'edgecolor': 'black', 'facecolor': 'white'})
georgia

你可能感兴趣的:(GIS空间分析,回归,数据挖掘,人工智能)