pysal.model.spreg.
TSLS
(y, x, yend, q, w=None, robust=None, gwk=None, sig2n_k=False, spat_diag=False, vm=False, name_y=None, name_x=None, name_yend=None, name_q=None, name_w=None, name_gwk=None, name_ds=None)[源代码]¶两阶段最小二乘与结果和诊断。
参数: |
|
---|
实例
我们首先需要导入所需的模块,即numpy来将我们读取的数据转换为 spreg
理解和 pysal
执行所有分析。
>>> import numpy as np
>>> import pysal.lib
使用pysal.lib.io.open()打开关于哥伦布社区犯罪(49个地区)的数据。这是与Columbus形状文件关联的DBF。注意pysal.lib.io.open()也以csv格式读取数据;由于实际类需要以numpy数组的形式传入数据,因此用户可以使用任何方法读取其数据。
>>> db = pysal.lib.io.open(pysal.lib.examples.get_path("columbus.dbf"),'r')
从dbf文件中提取crime列(crime rate),并使其成为回归的因变量。请注意,pysal要求这是一个形状(n,1)的numpy数组,而不是其他包接受的(n,1)的常见形状。
>>> y = np.array(db.by_col("CRIME"))
>>> y = np.reshape(y, (49,1))
从dbf中提取inc(收入)向量,作为回归中的独立变量。注意,pysal要求这是一个nxj numpy数组,其中j是独立变量的数量(不包括常量)。默认情况下,该模型向传入的独立变量添加一个1的向量,但可以通过传递常量=false来覆盖该向量。
>>> X = []
>>> X.append(db.by_col("INC"))
>>> X = np.array(X).T
在这种情况下,我们认为hoval(home value)是一个内生回归量。我们告诉模型,这是通过传递一个不同于外生变量(x)的参数来实现的。
>>> yd = []
>>> yd.append(db.by_col("HOVAL"))
>>> yd = np.array(yd).T
因为我们有内生变量,为了获得模型的正确估计,我们需要对hoval进行检测。为此,我们使用discbd(到cbd的距离),并将其放入仪器参数“q”。
>>> q = []
>>> q.append(db.by_col("DISCBD"))
>>> q = np.array(q).T
我们都准备好了初步设计,我们很好地运行模型。在这种情况下,我们需要变量(外生的和内生的)和工具。如果我们希望在输出摘要中打印变量的名称,那么我们也必须将它们传入,尽管这是可选的。
>>> reg = TSLS(y, X, yd, q, name_x=['inc'], name_y='crime', name_yend=['hoval'], name_q=['discbd'], name_ds='columbus')
>>> print reg.betas
[[ 88.46579584]
[ 0.5200379 ]
[ -1.58216593]]
属性: |
|
---|
__init__
(y, x, yend, q, w=None, robust=None, gwk=None, sig2n_k=False, spat_diag=False, vm=False, name_y=None, name_x=None, name_yend=None, name_q=None, name_w=None, name_gwk=None, name_ds=None)[源代码]¶初始化自身。请参阅帮助(键入(self))以获得准确的签名。
方法
__init__ \(Y、X、Yend、Q[、W、Robust、GWK、…]) |
初始化自身。 |
属性
mean_y |
|
pfora1a2 |
|
sig2n |
|
sig2n_k |
|
std_y |
|
utu |
|
vm |