pysal.model.spreg.ThreeSLS

class pysal.model.spreg.ThreeSLS(bigy, bigX, bigyend, bigq, regimes=None, nonspat_diag=True, name_bigy=None, name_bigX=None, name_bigyend=None, name_bigq=None, name_ds=None, name_regimes=None)[源代码]

3sls估计的用户类

参数:
bigy : 因式变量矢量字典
bigX : 用方程表示的解释变量矩阵字典

(注,已包含常量项)

bigyend : 内生变量矩阵方程词典
bigq : 用公式表示的仪器矩阵字典
regimes : 列表

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

nonspat_diag : 布尔值;非空间诊断的标志,默认值为真
name_bigy : 每个方程的因变量名称字典

默认值为“无”,但应指定在使用sur-stackxy时完成。

name_bigX : 字典,每个字典都有解释变量的名称

公式默认值=无,但当使用sur-stackxy时应指定。

name_bigyend : 字典,每个字典都有内生变量的名称

公式默认值=无,但应指定在使用sur_stackz时完成。

name_bigq : 每种仪器变量名称的字典

公式默认值=无,但应指定在使用sur_stackz时完成。

name_ds : 字符串;数据集的名称
name_regimes : 字符串;输出中使用的状态变量的名称

实例

首先导入pysal.lib以加载空间分析工具。

>>> import pysal.lib

使用pysal.lib.io.open()打开有关NCOVR美国县凶杀案(3085个地区)的数据。这是与nat形状文件关联的dbf。注意pysal.lib.io.open()也可以读取csv格式的数据。

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

待估算模型的规格可作为列表提供。每个方程应单独列出。在本例中,方程式1以hr80为因变量,ps80和ue80为外生回归量,rd80为内生回归量,fp79为附加工具。式2中,hr90为因变量,ps90和ue90为外生回归量,rd90为内生回归量,fp99为附加工具。

>>> y_var = ['HR80','HR90']
>>> x_var = [['PS80','UE80'],['PS90','UE90']]
>>> yend_var = [['RD80'],['RD90']]
>>> q_var = [['FP79'],['FP89']]

SUR方法要求将数据作为字典提供。Pysal提供了两个工具来从变量列表中创建这些字典:sur_dictxy和sur_dictz。工具sur_dictxy可用于为y和x创建字典,并为内生变量(yend)和附加工具(q)创建sur_dictz。

>>> bigy,bigX,bigyvars,bigXvars = pysal.model.spreg.sur_utils.sur_dictxy(db,y_var,x_var)
>>> bigyend,bigyendvars = pysal.model.spreg.sur_utils.sur_dictZ(db,yend_var)
>>> bigq,bigqvars = pysal.model.spreg.sur_utils.sur_dictZ(db,q_var)

我们现在可以运行回归,然后通过键入:print(reg.summary)得到输出的摘要。

或者,我们可以检查参数的betas和标准误差、渐近t和p值:

>>> reg = ThreeSLS(bigy,bigX,bigyend,bigq,name_bigy=bigyvars,name_bigX=bigXvars,name_bigyend=bigyendvars,name_bigq=bigqvars,name_ds="NAT")
>>> reg.b3SLS
{0: array([[ 6.92426353],
       [ 1.42921826],
       [ 0.00049435],
       [ 3.5829275 ]]), 1: array([[ 7.62385875],
       [ 1.65031181],
       [-0.21682974],
       [ 3.91250428]])}
>>> reg.tsls_inf
{0: array([[  0.23220853,  29.81916157,   0.        ],
       [  0.10373417,  13.77770036,   0.        ],
       [  0.03086193,   0.01601807,   0.98721998],
       [  0.11131999,  32.18584124,   0.        ]]), 1: array([[  0.28739415,  26.52753638,   0.        ],
       [  0.09597031,  17.19606554,   0.        ],
       [  0.04089547,  -5.30204786,   0.00000011],
       [  0.13586789,  28.79638723,   0.        ]])}
属性:
bigy : Y值字典
bigZ : 外生变量和内生变量矩阵字典

对于每个方程

bigZHZH : 交叉积矩阵字典
bigZHy : 交叉积矩阵字典
n_eq : 方程个数
n : 各断面观测数
bigK : 具有解释变量数量的向量(包括常量,

外生的和内生的)。

b2SLS : 每一个方程的2sls回归系数字典
tslsE : n x n_eq数组,每个方程有ols残差
b3SLS : 每个方程的3sls回归系数字典
varb : 方差协方差矩阵
sig : 方程间误差协方差的西格玛矩阵
bigE : n x n_eq残差数组
corr : 方程间3SLS误差相关矩阵
tsls_inf : 标准误差渐近t和p值字典,

每个方程一个

surchow : 回归系数Chow检验的元组列表

每个元组包含测试值、自由度、p值

name_ds : 字符串;数据集的名称
name_bigy : 每个方程的因变量名称字典
name_bigX : 字典,每个字典都有解释变量的名称

方程式

name_bigyend : 字典,每个字典都有内生变量的名称

方程式

name_bigq : 每种仪器变量名称的字典

方程

name_regimes : 字符串;输出中使用的状态变量的名称
__init__(bigy, bigX, bigyend, bigq, regimes=None, nonspat_diag=True, name_bigy=None, name_bigX=None, name_bigyend=None, name_bigq=None, name_ds=None, name_regimes=None)[源代码]

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

方法

__init__ \(bigy,bigx,bigyend,bigq[,…]) 初始化自身。