pysal.model.spreg.
SURerrorML
(bigy, bigX, w, regimes=None, nonspat_diag=True, spat_diag=False, vm=False, epsilon=1e-07, name_bigy=None, name_bigX=None, name_ds=None, name_w=None, name_regimes=None)[源代码]¶基于极大似然估计SUR误差的用户类
参数: |
|
---|
实例
首先导入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为外生回归量。对于方程2,hr90是因变量,ps90和ue90是外生回归量。
>>> y_var = ['HR80','HR90']
>>> x_var = [['PS80','UE80'],['PS90','UE90']]
>>> yend_var = [['RD80'],['RD90']]
>>> q_var = [['FP79'],['FP89']]
SUR方法要求将数据作为字典提供。Pysal提供了工具sur_dictxy,从变量列表中创建这些字典。下面的一行将创建四个字典,分别包含因变量(bigy)、回归量(bigx)、因变量名(bigyvars)和回归量名(bigxvars)。所有这些都将从数据库(db)和上面创建的变量列表(y_var和x_var)中创建。
>>> bigy,bigX,bigyvars,bigXvars = pysal.model.spreg.sur_utils.sur_dictxy(db,y_var,x_var)
为了运行一个空间误差模型,我们需要指定空间权重矩阵。为此,我们可以打开一个已经存在的gal文件或创建一个新的gal文件。在这个例子中,我们将从nat.shp创建一个新的,并将其转换为标准化的行。
>>> w = pysal.lib.weights.Queen.from_shapefile(pysal.lib.examples.get_path("NAT.shp"))
>>> w.transform='r'
我们现在可以运行回归,然后通过键入:print(reg.summary)得到输出的摘要。
或者,我们可以检查参数的betas和标准误差、渐近t和p值:
>>> reg = SURerrorML(bigy,bigX,w=w,name_bigy=bigyvars,name_bigX=bigXvars,name_ds="NAT",name_w="nat_queen")
>>> reg.bSUR
{0: array([[ 4.0222855 ],
[ 0.88489646],
[ 0.42402853]]), 1: array([[ 3.04923009],
[ 1.10972634],
[ 0.47075682]])}
>>> reg.sur_inf
{0: array([[ 0.36692181, 10.96224141, 0. ],
[ 0.14129077, 6.26294579, 0. ],
[ 0.04267954, 9.93517021, 0. ]]), 1: array([[ 0.33139969, 9.20106497, 0. ],
[ 0.13352591, 8.31094371, 0. ],
[ 0.04004097, 11.756878 , 0. ]])}
属性: |
|
---|
__init__
(bigy, bigX, w, regimes=None, nonspat_diag=True, spat_diag=False, vm=False, epsilon=1e-07, name_bigy=None, name_bigX=None, name_ds=None, name_w=None, name_regimes=None)[源代码]¶初始化自身。请参阅帮助(键入(self))以获得准确的签名。
方法
__init__ \(bigy,bigx,w[,状态,…]) |
初始化自身。 |