pysal.model.mgwr.gwr.GWR

class pysal.model.mgwr.gwr.GWR(coords, y, X, bw, family=<pysal.model.spglm.family.Gaussian object>, offset=None, sigma2_v1=True, kernel='bisquare', fixed=False, constant=True, dmat=None, sorted_dmat=None, spherical=False)[源代码]

地理加权回归。目前可以估计高斯模型、泊松模型和逻辑模型(基于GLM框架)。gwr对象准备模型输入。fit方法执行估计并返回gwresults对象。

参数:
坐标 : 类数组

n*2,收集n组(x,y)观测坐标;同时用作校准位置的是“点”设置为“无”。

y : 数组

n*1,因变量

X : 数组

n*k,自变量,取常数

bw : 标量

由距离或n个最近邻组成的带宽值;由用户指定或使用sel_bw获得。

family : 家庭对象

潜在概率模型;提供特定于分布的计算

offset : 数组

n*1,第i个位置的偏移变量。对于泊松模型,这个术语通常是风险人群的大小,或者空间流行病学默认结果的预期大小为“无”,其中所有位置的ni都变为1.0;仅对于泊松模型。

sigma2_v1 : 布尔

指定用于模型诊断的Sigma平方修正分母的形式;可接受的选项包括:

'true':n-tr(s)(defualt)'false':n-2(tr(s)+tr(s))

kernel : 一串

用于加权观测值的核函数类型;可用选项:“高斯”双夸尔“指数”

fixed : 布尔

基于距离的核函数为真,自适应(最近邻)核函数为假(默认)

constant : 布尔

在模型中包含截获(默认值)为true,排除截获为false。

dmat : 数组

n*n,用于计算重量矩阵的校准位置之间的距离矩阵。默认为无,主要是为了在带宽选择期间避免重复计算。

sorted_dmat : 数组

n*n,用于计算重量矩阵的校准位置之间的排序距离矩阵。默认为无,主要是为了在带宽选择期间避免重复计算。

spherical : 布尔

周坐标(长lat)为真,投影坐标(defalut)为假。

实例

#基本模型校准

>>> import pysal.lib as ps
>>> from mgwr.gwr import GWR
>>> data = ps.io.open(ps.examples.get_path('GData_utm.csv'))
>>> coords = list(zip(data.by_col('X'), data.by_col('Y')))
>>> y = np.array(data.by_col('PctBach')).reshape((-1,1))
>>> rural = np.array(data.by_col('PctRural')).reshape((-1,1))
>>> pov = np.array(data.by_col('PctPov')).reshape((-1,1))
>>> african_amer = np.array(data.by_col('PctBlack')).reshape((-1,1))
>>> X = np.hstack([rural, pov, african_amer])
>>> model = GWR(coords, y, X, bw=90.000, fixed=False, kernel='bisquare')
>>> results = model.fit()
>>> print(results.params.shape)
(159, 4)

#在未完成的位置进行预测

>>> index = np.arange(len(y))
>>> test = index[-10:]
>>> X_test = X[test]
>>> coords_test = np.array(coords)[test]
>>> model = GWR(coords, y, X, bw=94, fixed=False, kernel='bisquare')
>>> results = model.predict(coords_test, X_test)
>>> print(results.params.shape)
(10, 4)
属性:
坐标 : 类数组

n*2,用于校准位置的n组(x,y)坐标的集合

y : 数组

n*1,因变量

X : 数组

n*k,自变量,取常数

bw : 标量

由距离或n个最近邻组成的带宽值;由用户指定或使用sel_bw获得。

family : 家庭对象

潜在概率模型;提供特定于分布的计算

offset : 数组

n*1,第i个位置的偏移变量。对于泊松模型,这个术语通常是风险人群的大小,或者空间流行病学默认结果的预期大小为“无”,其中所有位置的ni都变为1.0。

sigma2_v1 : 布尔

指定用于模型诊断的Sigma平方修正分母的形式;可接受的选项包括:

'true':n-tr(s)(defualt)'false':n-2(tr(s)+tr(s))

kernel : 一串

用于加权观测值的核函数类型;可用选项:“高斯”双夸尔“指数”

fixed : 布尔

基于距离的核函数为真,自适应(最近邻)核函数为假(默认)

constant : 布尔

在模型中包含截获(默认)为true,在排除截获时为false

dmat : 数组

n*n,用于计算重量矩阵的校准位置之间的距离矩阵。默认为无,主要是为了在带宽选择期间避免重复计算。

sorted_dmat : 数组

n*n,用于计算重量矩阵的校准位置之间的排序距离矩阵。默认为无,主要是为了在带宽选择期间避免重复计算。

spherical : 布尔

周坐标(长lat)为真,投影坐标(defalut)为假。

n : 整数

观测次数

k : 整数

自变量数

mean_y : 浮动

Y均值

std_y : 浮动

y的标准差

fit_params : 双关语

传递给fit方法定义估计例程的参数

W : 数组

n*n,用于加权每个校准点的所有观测值的空间权重矩阵

points : 类数组

n*2,用于校准位置的n组(x,y)坐标的集合,而不是所有观测值;默认为预测方法中指定的无UNLES。

P : 数组

n*k,用于预测的自变量;提取常量;除非在预测方法中指定,否则默认为无。

exog_scale : 标量

使用采样位置估计比例;除非在预测方法中指定,否则默认值为无。

exog_resid : 类数组

使用采样位置估计残差;除非在预测方法中指定,否则defualt为无。

方法

fit \([iniu params,tol,maxu iter,solve,…]) 使模型与特定的估计程序相匹配的方法。
predict \(点,p [,exog 刻度,exog 剩余,…]) 预测非采样点因变量值的方法
df_model  
df_resid  
__init__(coords, y, X, bw, family=<pysal.model.spglm.family.Gaussian object>, offset=None, sigma2_v1=True, kernel='bisquare', fixed=False, constant=True, dmat=None, sorted_dmat=None, spherical=False)[源代码]

初始化类

方法

__init__ \(坐标,Y ,X ,BW [,族,偏移量,…]) 初始化类
df_model ()
df_resid ()
fit \([iniu params,tol,maxu iter,solve,…]) 使模型与特定的估计程序相匹配的方法。
predict \(点,p [,exog 刻度,exog 剩余,…]) 预测非采样点因变量值的方法

属性

mean_y 
std_y