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)[源代码]¶带结果和诊断的普通最小二乘法。
参数: |
|
---|
实例
>>> 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'
属性: |
|
---|
__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 |