pysal.model.spreg.OLS_Regimes

class pysal.model.spreg.OLS_Regimes(y, x, regimes, w=None, robust=None, gwk=None, sig2n_k=True, nonspat_diag=True, spat_diag=False, moran=False, white_test=False, vm=False, constant_regi='many', cols2regi='all', regime_err_sep=True, cores=False, name_y=None, name_x=None, name_regimes=None, name_w=None, name_gwk=None, name_ds=None)[源代码]

带结果和诊断的普通最小二乘法。

参数:
y : 数组

因变量nx1数组

x : 数组

二维数组,n行,每个独立(外生)变量一列,不包括常量

regimes : 列表

n值列表,并将每个观测值映射到一个区域。假定与“x”对齐。

w : Pysal W对象

空间权重对象(运行空间诊断时需要)

robust : 一串

如果“白色”,则给出方差协方差矩阵的白色一致估计。如果“hac”,则给出方差协方差矩阵的hac一致估计。默认设置为无。

gwk : Pysal W对象

HAC估计所需的内核空间权重。注:矩阵必须沿着主对角线。

sig2n_k : 布尔

如果为真,则使用n-k估计Sigma^2。如果为假,则使用n。

nonspat_diag : 布尔

如果为真,则计算回归的非空间诊断。

spat_diag : 布尔

如果为真,则计算拉格朗日乘数测试(需要w)。注:更多测试见Moran。

moran : 布尔

如果是真的,就用残差来计算莫兰的i。注意:需要spat_diag=true。

white_test : 布尔

如果为真,则计算White的规范健壮性测试。(要求nonspat_diag=true)

vm : 布尔

如果为真,则在汇总结果中包含方差-协方差矩阵

常量_regi:[一','多']

切换器控制恒量项设置。它可以采用以下值:

  • “one”:1的向量附加到x并保持
    各政权间的常数
  • “many”:将一个向量附加到x并考虑
    每个制度不同(默认)
cols2regi : 列出“全部”

表明x的每一列是否应视为不同的制度或保持不变的论点(错误)。如果一个列表,k布尔值表示每个变量的选项(如果每个区域一个,则为真,如果保持不变,则为假)。如果“全部”(默认),则所有变量都会随状态而变化。

regime_err_sep : 布尔

如果为真,则为每个政权运行单独的回归。

cores : 布尔

指定是否使用多处理默认值:无多处理,cores=false注意:多处理可能无法在所有平台上工作。

name_y : 一串

输出中使用的从属变量的名称

name_x : 字符串表

输出中使用的自变量的名称

name_w : 一串

输出中使用的权重矩阵的名称

name_gwk : 一串

用于输出的内核权重矩阵的名称

name_ds : 一串

用于输出的数据集名称

name_regimes : 一串

输出中使用的状态变量的名称

实例

>>> import numpy as np
>>> import pysal.lib

使用pysal.lib.io.open()打开有关NCOVR美国县凶杀案(3085个地区)的数据。这是与nat形状文件关联的dbf。注意pysal.lib.io.open()也以csv格式读取数据;由于实际类需要以numpy数组的形式传入数据,因此用户可以使用任何方法读取其数据。

>>> db = pysal.lib.io.open(pysal.lib.examples.get_path("NAT.dbf"),'r')

从dbf文件中提取hr90列(1990年的凶杀率),并使其成为回归的因变量。请注意,pysal要求这是一个形状(n,1)的numpy数组,而不是其他包接受的(n,1)的常见形状。

>>> y_var = 'HR90'
>>> y = db.by_col(y_var)
>>> y = np.array(y).reshape(len(y), 1)

从DBF中提取UE90(失业率)和PS90(人口结构)向量,作为回归中的独立变量。其他变量可以通过将其名称添加到x_var来插入,例如x_var=['var1','var2','..]请注意,pysal要求它是nxj numpy数组,其中j是独立变量的数量(不包括常量)。默认情况下,该模型向传入的自变量添加一个1的向量。

>>> x_var = ['PS90','UE90']
>>> x = np.array([db.by_col(name) for name in x_var]).T

根据南部和北部假人(南部),给出了该数据中的不同状态。

>>> r_var = 'SOUTH'
>>> regimes = db.by_col(r_var)

现在我们可以运行回归,然后通过键入:olsr.summary得到输出的摘要。或者,我们可以检查参数的betas和标准错误:

>>> olsr = OLS_Regimes(y, x, regimes, nonspat_diag=False, name_y=y_var, name_x=['PS90','UE90'], name_regimes=r_var, name_ds='NAT')
>>> olsr.betas
array([[ 0.39642899],
       [ 0.65583299],
       [ 0.48703937],
       [ 5.59835   ],
       [ 1.16210453],
       [ 0.53163886]])
>>> np.sqrt(olsr.vm.diagonal())
array([ 0.24816345,  0.09662678,  0.03628629,  0.46894564,  0.21667395,
        0.05945651])
>>> olsr.cols2regi
'all'
属性:
summary : 一串

回归结果和诊断摘要(注:与print命令一起使用)

betas : 数组

Kx1估计系数数组

u : 数组

nx1残差数组

predy : 数组

nx1预测Y值数组

n : 整数

观测次数

k : 整数

当进行多次回归时,仅在字典“multi”中提供估算系数(包括常数)的变量数(有关详细信息,请参阅下面的“multi”)。

y : 数组

因变量nx1数组

x : 数组

二维数组,有n行,每个独立(外生)变量有一列,其中常量仅在多重回归时字典“multi”中可用(有关详细信息,请参见下面的“multi”)。

robust : 一串

当进行多次回归时,仅在字典“multi”中提供对稳健标准错误的调整(有关详细信息,请参阅下面的“multi”)。

mean_y : 浮动

因变量均值

std_y : 浮动

因变量标准差

vm : 数组

方差协方差矩阵(kxk)

r2 : 浮动

R平方仅在多重回归时字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

ar2 : 浮动

调整后的r平方仅在多重回归时在字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

utu : 浮动

残差平方和

sig2 : 浮动

sigma平方在计算中使用,只有在多重回归时字典“multi”中才可用(有关详细信息,请参阅下面的“multi”)。

sig2ML : 浮动

sigma平方(最大似然)仅在多重回归时字典“multi”中可用(有关详细信息,请参见下面的“multi”)。

f_stat : 元组

统计(float),p值(float)仅在多重回归时字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

logll : 浮动

当进行多次回归时,日志可能性仅在字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

aic : 浮动

Akaike信息标准仅在多重回归时在字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

schwarz : 浮动

Schwarz信息标准仅在多重回归时在字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

std_err : 数组

1XK的betas标准错误数组,仅在多重回归时字典'multi'中可用(有关详细信息,请参阅下面的'multi')

t_stat : 元组列表

t statistic;每个元组都包含一对(statistic,p-value),其中每个元组都是一个浮点,只有在进行多次回归时才能在字典“multi”中使用(有关详细信息,请参见下面的“multi”)。

mulColli : 浮动

多重共线性条件号仅在多重回归时在字典“multi”中可用(有关详细信息,请参阅下面的“multi”)。

jarque_bera : 词典

'jb':jarque bera statistic(float);'pValue':p-value(float);'df':自由度(int),仅在多重回归时字典'multi'中可用(有关详细信息,请参见下面的'multi')

breusch_pagan : 词典

“bp”:breusch pagan statistic(float);“pValue”:p-value(float);“df”:自由度(int)仅在多重回归时在字典“multi”中可用(有关详细信息,请参见下面的“multi”)。

koenker_bassett : 词典

'kb':Koenker-Bassett statistic(float);'pValue':p-value(float);'df':自由度(int),仅在多重回归时字典'multi'中可用(有关详细信息,请参阅下面的'multi')

white : 词典

“wh”:白色统计(float);“pValue”:p值(float);“df”:自由度(int)仅在多重回归时在字典“multi”中可用(有关详细信息,请参见下面的“multi”)。

lm_error : 元组

空间误差模型的拉格朗日乘子检验;元组包含一对(统计,p值),其中每个都是一个浮点

只有在多重回归时字典“multi”才可用(有关详细信息,请参阅下面的“multi”)。

lm_lag : 元组

空间滞后模型的拉格朗日乘子检验;元组包含一对(统计,p值),其中每个都是一个浮点

只有在多重回归时字典“multi”才可用(有关详细信息,请参阅下面的“multi”)。

rlm_error : 元组

空间误差模型的鲁棒拉格朗日乘子检验;元组包含一对(统计,p值),其中每个都是一个浮点

只有在多重回归时字典“multi”才可用(有关详细信息,请参阅下面的“multi”)。

rlm_lag : 元组

空间滞后模型的鲁棒拉格朗日乘子检验;元组包含一对(统计,p值),其中每个都是一个浮点

只有在多重回归时字典“multi”才可用(有关详细信息,请参阅下面的“multi”)。

lm_sarma : 元组

空间sarma模型的拉格朗日乘子检验;元组包含一对(统计,p值),其中每个都是一个浮点

只有在多重回归时字典“multi”才可用(有关详细信息,请参阅下面的“multi”)。

moran_res : 元组

残差的莫兰i;包含三重的元组(莫兰i,标准化的莫兰i,p值)

name_y : 一串

输出中使用的从属变量的名称

name_x : 字符串表

输出中使用的自变量的名称

name_w : 一串

输出中使用的权重矩阵的名称

name_gwk : 一串

用于输出的内核权重矩阵的名称

name_ds : 一串

用于输出的数据集名称

name_regimes : 一串

输出中使用的状态变量的名称

title : 一串

所用回归方法的名称

只有在多重回归时字典“multi”才可用(有关详细信息,请参阅下面的“multi”)。

sig2n : 浮动

sigma平方(用分母中的n计算)

sig2n_k : 浮动

sigma平方(用分母中的n-k计算)

xtx : 浮动

x'x仅在多重回归时在字典'multi'中可用(有关详细信息,请参阅下面的'multi')

xtxi : 浮动

(x'x)^-1仅在多重回归时字典'multi'中可用(有关详细信息,请参阅下面的'multi')

regimes : 列表

n值列表,并将每个观测值映射到一个区域。假定与“x”对齐。

常量_regi:[一','多']

如果状态为假,则忽略。制度不变的选择。切换器控制恒量项设置。它可以采用以下值:

  • “one”:1的向量附加到x并保持
    各政权间的常数
  • “many”:将一个向量附加到x并考虑
    不同体制
cols2regi : 列出“全部”

如果状态为假,则忽略。表明x的每一列是否应视为不同的制度或保持不变的论点(错误)。如果一个列表,k布尔值表示每个变量的选项(如果每个区域一个,则为真,如果保持不变,则为假)。如果“全部”,则所有变量都随状态而变化。

regime_err_sep : 布尔

如果为真,则为每个政权运行单独的回归。

kr : 利息

变量/列的数量将被“区域化”或按制度变化。这将导致对每个变量(即每个变量的nr参数)按状态进行一次参数估计。

kf : 利息

变量/列的数量被认为是固定的或全局的,因此只能得到一个参数估计。

nr : 利息

“制度”列表中不同制度的数量

multi : 词典

只有在估计多个回归时才可用,即当状态“err_sep=真”且没有变量跨状态固定时。包含每个回归的所有属性

__init__(y, x, regimes, w=None, robust=None, gwk=None, sig2n_k=True, nonspat_diag=True, spat_diag=False, moran=False, white_test=False, vm=False, constant_regi='many', cols2regi='all', regime_err_sep=True, cores=False, name_y=None, name_x=None, name_regimes=None, name_w=None, name_gwk=None, name_ds=None)[源代码]

初始化自身。请参阅帮助(键入(self))以获得准确的签名。

方法

__init__ \(Y,X,状态[,W,健壮,GWK,…]) 初始化自身。

属性

mean_y 
sig2n 
sig2n_k 
std_y 
utu 
vm