公众号原文 ArcGIS与地理加权回归GWR【一】 https://mp.weixin.qq.com/s/fMPYxO3G7ff2192ZQICN-A 开个新坑啊,写一写关于地理加权回归基础的东西 而GWR是在多元线性回归的基础上将数据的地理位置引入到回归系数之中。 2. 根据地理学第一定律,GWR模型计算权重的基本原则为“距离越近,赋予的权重值越高;反之,权重值越低”。然后权重的具体计算(就是上图中的锥形),是通过关于空间距离的单调减函数实现,称之为核函数。
【实例简介】地理加权回归(GWR)matlab代码,亲测可用,该代码利用matlab实现了地理加权回归的代码,内附实际算例。 【实例截图】 【核心代码】 function result = gwr(y,x,east,north,info); % PURPOSE: compute geographically weighted regression %—————————————————- % USAGE: results = gwr(y,x,east,north,info) % where: y = dependent variable does CV estimation of bandwidth % ————————————————— % RETURNS: a results structure % results.meth = ‘gwr , plt_gwr to print and plot results %————————————————— % References: Brunsdon, Fotheringham, Charlton
library(spgwr) 在该包中,运行线性地理加权回归的函数是gwr()。 语法结构如下: gwr(formula, data = list(), coords, bandwidth, gweight = gwr.Gauss, adapt = NULL, hatmatrix 语法结构如下: gwr.sel(formula, data = list(), coords, adapt = FALSE, gweight = gwr.Gauss, method bw <- gwr.sel(formula = form, data = NY8, gweight = gwr.Gauss, method = "cv") bw ## [1] 距离加权函数 距离加权函数是一个随距离增加而逐渐衰减的函数,该包提供了4种地理加权函数:gwr.gauss、gwr.Gauss(默认)、gwr.bisquare、gwr.tricube。
为了理解和建模这种异质性,地理加权回归(GWR)成为了一个强大的工具。但GWR有一个基本假设:所有被建模的过程都在同一空间尺度上运行。 这在现实中并不总是成立,因此,多尺度GWR(MGWR)应运而生,放宽了这一假设。Python中的mgwr库为我们提供了实现这两种方法的工具。 什么是GWR和MGWR?GWR:地理加权回归GWR是一种局部回归技术,它允许参数(如斜率和截距)在空间上变化。 这意味着,对于数据集中的每个位置,GWR都会拟合一个回归模型,该模型基于该位置及其邻近位置的数据。通过这种方式,GWR能够捕捉到空间异质性。 通过结合GWR和MGWR,该库使我们能够更准确地建模和解释空间异质性,从而在多个领域推动科学和研究的发展。常见问题解答MGWR和GWR的主要区别是什么?
GWR估计的模型系数在空间上是变化的,拿上面的例子来说,GWR估计的系数在东百可能是负的,而在别的地区就是正的,明显更加科学,这也正是GWR的强大之处。 先调包,从pysal里导入GWR相关函数: from pysal.model.mgwr.gwr import GWR from pysal.model.mgwr.sel_bw import Sel_BW 开始建模: gwr_selector = Sel_BW(g_coords, g_y, g_X,fixed=True,kernel='gaussian') gwr_bw = gwr_selector.search (criterion='AICc') gwr_results = GWR(g_coords, g_y, g_X,gwr_bw,fixed=True,kernel='gaussian').fit() 解释一下上面的几个参数 ,根本没什么提升;并且参数的分布,我们计算的GWR和论文中的GWR结果完全不同,这是为什么?
model.selection.gwr model.sel <- model.selection.gwr(Devar,InDevar,data =Sptm,kernel = "gaussian" ,adaptive model.view.gwr model.view.gwr(Devar,InDevar,model.list =model.l ) 以上执行了地理加权回归的模型选择(也可以叫做变量选择)过程,就是哪些变量是值得纳入模型中的 Sptm@coords <- Sptm@coords[,1:2] # 前面的建立SpatialPointsDataFrame 需要调整 bw.gwr <- bw.gwr(Hpca ~ Ttr <- gwr.basic(Hpca ~ Ttr+Ptgds+Fabp7+Enpp2+Cdhr1+Sst+Kl+S100a5 , data = Sptm,bw = bw.gwr,kernel = " spplot(gwr.res1$SDF,key.space="right") 借助地理加权回归,我们可以感受到基因的表达是有空间异质性的。
在GWR中,每一个要素的方程都是由邻近的要素计算得到的。 GWR实现原理 从公式中可以总结出,虽然GLR方法与GWR方法有些不同,也就是系数不同,但是其因变量与解释变量是不变的,所以通常在做GWR之前,我们可以先使用GLR或者是探索性回归工具找到解释变量,并分析 GLR模型的精度,再使用GWR工具提高模型的精度。 通过这个值我们会发现与GLR工具相比,GWR工具的拟合程度更高。再比较AIC,两者相差大于3,说明GWR模型更好一些。 同时确保残差的随机性(运行空间自相关工具) GLR的结果中如果一定指标建议使用GWR工具,我们可以继续运行GWR工具,根据结果比较GLR与GWR模型的精确程度。同时确保残差的随机性。
实际上,除了辅助表以外,GWR还会生成一份全要素的表。对回归的每一个样本都给出相应的信息,今天就来看看这些信息代表了什么内容。 从上面的可视化结果可以看出,采用GWR分析的出来的结果,R2的值相当的高。而且出现的明显的聚集趋势。 Predicted 对因变量的预测值:这些值是由 GWR 计算所得的估计(或拟合)y 值。 GWR的特点就在这里,不同于OLS,GWR会给出每个位置每个自变量的系数。 Residual 残差,就是观测值与预测值的差。 Residual 标准化残差:这个值也是ArcGIS进行GWR分析之后,给出的默认可视化结果。标准化残差的平均值为零,标准差为 1。 到此为止,GWR所有的结果解读就介绍完成了。下一节开始,介绍GWR的扩展分析。 待续未完。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
虽然在软件里面,默认只显示这样一张图,但是整个GWR分析完成之后,会生成大量的数据,今天我们就来看看ArcGIS的GWR工具的结果生成的哪些结果代表了什么东西。 ResidualSquares 指模型中的残差平方和(残差为观测所得 y 值与 GWR 模型所返回的 y 值估计值之间的差值)。此测量值越小,GWR 模型越拟合观测数据。 在很多论文里面,将GWR的AICc值与OLS的AICc值进行比较,然后根据AICc的值,得出局部回归模型(GWR)比全局模型(OLS)具有更大的优势。(而不是单纯的通过比较拟合度或者性能)。 在 GWR中,自由度的有效值是带宽的函数,因此与像OLS之类的全局模型相比,校正程度可能非常明显。因此,AICc是对模型进行比较的首选方式。 然后后面就是你的因变量和自变量了……这个不用解释。
model.selection.gwr model.sel <- model.selection.gwr(Devar,InDevar,data =Sptm,kernel = "gaussian" ,adaptive model.view.gwr model.view.gwr(Devar,InDevar,model.list =model.l ) 以上执行了地理加权回归的模型选择(也可以叫做变量选择)过程,就是哪些变量是值得纳入模型中的 Sptm@coords <- Sptm@coords[,1:2] # 前面的建立SpatialPointsDataFrame 需要调整 bw.gwr <- bw.gwr(Hpca ~ Ttr <- gwr.basic(Hpca ~ Ttr+Ptgds+Fabp7+Enpp2+Cdhr1+Sst+Kl+S100a5 , data = Sptm,bw = bw.gwr,kernel = " spplot(gwr.res1$SDF,key.space="right") ? 借助地理加权回归,我们可以感受到基因的表达是有空间异质性的。
白话空间统计二十四:地理加权回归(七)ArcGIS的GWR工具扩展参数说明 近期无论是开发者大会,还是个人工作,相当的忙,所以停了一段时间……不过地理加权回归写到第七章,自我感觉也差不多了,无论是基础理论还是来历 至于工具的位置和参数说明,请大家看以前的文章: 白话空间统计二十四:地理加权回归(六)ArcGIS的GWR工具参数说明一 当然,前面还缺了一部分,就是GWR的扩展参数部分,作为一只有始有终的虾,准备先把这遗留下来的部分说一说 数据还是一样,山东省分区县的各类数据: 把五个维度的数据,都做成专题图,进行对比,然后进行GWR,把这五个维度的系数进行栅格化,如下: 从左边矢量的专题图进行对比,其实是很难对数据的差异性进行直观的感受的 这种情况,使用GWR的区域预测就有意义了。 到此,GWR工具所有的参数设置就讲完了,后面可能还有几个小章节,讲讲结果和应用。 待续未完 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
空间权重矩阵用是空间关系概念化计算出来的:空间关系观念一共有七个: 无论是临近方法,还是触点方法,都会导致局部回归的结果,也就是计算的区间不一样,会导致样本数量的变化,而全部加进来运算,又变成全局回归了,所以在GWR GWR中最常用的权函数 就是选择一个连续单调的递减函数来表示权重w和距离d之间关系,以此来克服反距离的缺点。 ResidualSquares:指模型中的残差平方和(残差为观测所得 y 值与 GWR 模型所返回的 y 值估计值之间的差值)。此测量值越小,GWR 模型越拟合观测数据。 将 GWR AICc 值与 OLS AICc 值进行比较是评估从全局模型 (OLS) 移动到局部回归模型 (GWR) 的优势的一种方法。 R2:R 平方是拟合度的一种度量。 在 GWR 中,自由度的有效值是带宽的函数,因此与像 OLS 之类的全局模型相比,校正程度可能非常明显。因此,AICc 是对模型进行比较的首选方式。 ---- 参考文献: 1.
\data\gwr_results.gdb' gdb = pd.read_file(gdb_path, driver='FileGDB', layer='*')使用GeoPandas读取单个图层使用 /data/gwr_results.gdb'all_layers_data = read_all_layers_from_gdb(gdb_path)# 打印所有图层的名称以验证结果print("读取的图层名称
实际上要说起来,GWR有专门的软件,叫做GWR,但是这个软件暂时我还没有用过,所以等我先学习一下,把他放到最后才说了,先用比较熟悉的,比如ArcGIS、比如R语言,这些来讲讲(还有一个我非常熟悉的软件是 的空间统计工具箱,主要针对的是矢量数据,所以这里的输入一定是矢量图层,可以是点线面,但是不能是多点(但是可以是多部分要素,因为对面状空间要素处理的时候,通常采用的是质心来进行计算,多部分面状要素不会影响GWR 在GWR中,如果使用哑元作为某个变量的值,会导致分析中出现严重的多重共线性。 6、核带宽 此参数用于设定GWR的带宽,通过以前的文章,我们知道带宽的选择非常关键,而且GWR专门用两种方式来选择更好的带宽,但是也留出了自定义的模式,所以这个参数有三个选项: CV 具体的参数就先说到这里,GWR后面还有一系列的扩展参数,下一节我们再继续说。 待续未完。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
但是近来收到不少同学的邮件,很多都是掉在了当年虾神挖出的大坑里面,比如写了方法,没有列出公式,又比如写了公式木有推导过程(……作为高数战五渣的虾神,推导这种事,他认识我,我不认识他……) 所以这次写GWR 有七类空间关系概念,如下所示: 从前文分析可以知道,无论是临近方法,还是触点方法,都会导致局部回归的结果,也就是计算的区间不一样,会导致样本数量的变化,而全部加进来运算,又变成全局回归了,所以在GWR 这也有一个问题,就是当我们的回归点,也是样本点的时候,就出现对回归点的观测值权值无穷大的情况……若要在每次计算的时候,把从样本数据中把这种情况剔除掉,又会出现精度降低等等一系列问题,所以反距离方法就不能直接在GWR 下面介绍一种在GWR中最常用的反距离改进方法函数。就是选择一个连续单调的递减函数来表示权重w和距离d之间关系,以此来克服反距离的缺点。 这两种函数,在GWR的实际计算中,是用的最多的两类方法。 下一节预告:带宽的选择,是空间权重计算的一个重要参数,下一节将简单论述带宽选择的两种方法,说完这个概念之后,就正式进入软件操作介绍部分。
本章有数学公式……对数学过敏者慎入…… 前文再续,书接上一回……上一次说到,在改进全局回归的基础上,GWR终于横空出世了,从此空间分析领域终于有了自己专用的回归算法。 在对全局回归问题的改进中,局部回归可以说是最简单的方法,GWR继续应用了局部回归的思想,但是在局部窗口的模式下,遵循了所谓的“地理学第一定律”,在回归的时候,使用了空间关系作为权重加入到运算中,下面通过一个示例来讲讲 GWR的基本思想。 由于采用不同的空间加权函数会得到不同的带宽,那么为了取得最优的带宽,Fotheringham等在2002的论文中提出了这样一个准则:当GWR模型的AIC最小的时候,就是最佳带宽。
GNNWLR 模型构建 在该研究中,研究人员还针对目前最为常见的地理加权回归 (GWR)、支持向量机 (SVM)、随机森林 (RF)、地理加权逻辑回归 (GWLR)、地理加权支持向量回归 (GWSVR) 同时,GWRF 和 GWSVR 也明显优于 RF 和 SVM,这可能是因为它们都结合了地理加权回归 (GWR),可以更准确地描述空间变量之间的局部关系。 例如,GNNWLR 在「区域1」的得分高达 0.985,而 GWSVR、GWRF、GWLR、SVM、RF 和 GWR 模型的相应得分仅为 0.288、0438、0.471、0.133、0.383 和 0.290 GNNWLR、GWLR 和 GWR 模型考虑了成矿因素的空间邻近性和异质性,可以防止传统机器学习模型中常见的突变的发生。
Stewart Fotheringham教授在1996年,正式提出了地理加权回归模型(Geographical Weighted Regression , GWR)。 1994年,Fotheringham教授回到英国纽卡斯尔大学,担任地理系教授,在此期间,他最为经典的工作——研究空间异质性的地理加权回归(GWR)方法的系列论文相继发表,其中一篇论文的单篇被引用了1300 而这个GWR到底是啥东西?有啥原理?如何使用?如何解读呢?请听下回分解。
尤其在武汉市这样的大城市中,自然地貌(如河流、湖泊)以及城市基础建设(如桥梁、隧道、多层道路网络)等因素对房价的影响错综复杂,传统地理加权回归模型 (GWR) 在衡量空间邻近性时面临挑战。 在一组基于欧式距离和 Z-order 距离的模拟数据集上,研究人员采用了包括 OLS、GWR、GNNWR 和 osp-GNNWR 在内的模型进行对比,结果如下表所示: osp-GNNWR 和其他对比模型在模拟数据集上的实验结果 下表显示了 OLS、GWR、GNNWR 和 osp-GNNWR 模型的性能比较结果: osp-GNNWR 与其他对比模型在武汉市房价数据集上的及实验结果 同样,无论是在训练数据集还是测试数据集上,osp-GNNWR
本文转自Cute-Rui的博客:https://blog.csdn.net/coder_gwr/article/details/86563709 由于通过ResultSet的光标实现数据分页存在占用大量资源等性能方便的缺陷 //数据库用户名 String dbUser = "guowenrui"; //数据库密码 String dbPassword = "gwr123