代码为
我们得到一个错误!数据还没有被xtset, spxtregress需要它。我们的数据包括1412个县,每个县我们都有四年的数据。我们的数据是这样的:
# 结果
. *3、查看数据
. list _ID year in 1/8, sepby(_ID)
+------------+
| _ID year |
|------------|
1. | 876 1960 |
2. | 876 1970 |
3. | 876 1980 |
4. | 876 1990 |
|------------|
5. | 921 1960 |
6. | 921 1970 |
7. | 921 1980 |
8. | 921 1990 |
+------------+
.
end of do-file
然后对数据先进行xtset,xtset报告说我们的数据是非常平衡的。每个县都有相同四年的数据。数据回归要求数据是强平衡的。变量中的值缺失可能会导致 估计样本是不平衡的。
Sp面板的估计会抱怨,我们也不得不抱怨,为我们的模型中变量的不丢失值使数据强平衡。
如果你得到 的数据不是强平衡的消息,参见 spbalance。在xtset我们的数据之后,我们输入spset来检查我们的Sp设置。
我们首先使用xtreg、re运行一个非空间随机效应模型。
代码为:
# 操作代码
*5、随机效应分析
xtreg hrate ln_population ln_pdensity gini i.year, re
结果为:
我们强调,您可以忽略数据的空间方面,并使用Stata的任何估计命令,即使数据是空间的。这样做通常是一个好主意。它提供了一个基线,您可以将随后的空间结果与之进行比较。
我们现在要估计一个空间随机效应模型。为此,我们需要一个空间加权矩阵。我们将创建一个对相邻的县使用相同的正权值,而对所有其他县使用0权值的矩阵—称为连续矩阵。
在这个例子中,我们将使用默认的权重矩阵。参见[SP] spmatrix创建。当我们创建矩阵时,我们必须将spmatrix创建限制为每个面板一个观察值。使用if语句很容易做到这一点:不要误解if year == 1990的目的。创建的矩阵将适用于创建任何年份的空间滞后,因为我们的地图不会改变。如果两个国家在1990年共享边界,其他年份也会共享。
代码为:
我们现在可以适应我们的模型了。我们包括因变量的空间滞后和空间自回归误差项。
代码为:
# 操作代码
*7、随机效应空间模型
spxtregress hrate ln_population ln_pdensity gini i.year, re dvarlag(W) errorlag(W)
结果为:
我们使用了连续权矩阵W来表示空间滞后。或者,我们可以使用基于县与县之间的逆距离的加权矩阵。我们创建这个矩阵:
代码为:
结果为:
# 操作结果
. *9、距离矩阵
.
. spmatrix create idistance M if year == 1990
. spmatrix dir
------------------------------------------------------------------------
Weighting matrix name N x N Type Normalization
------------------------------------------------------------------------
M 1412 x 1412 idistance spectral
W 1412 x 1412 contiguity spectral
------------------------------------------------------------------------
.
end of do-file
我们想知道基尼系数的影响是否随时间而变化,所以我们在模型中包含了基尼系数和年份的相互作用,我们使用刚刚创建的权重矩阵M。
结果为:
随机效应估计假设面板级效应与模型中的协变量不相关。我们可以使用固定效应估计来放宽这个假设。我们将为例1中使用的数据匹配固定效果模型。这是一个非空间模型 适合xtreg, fe。
代码为:
结果为:
我们现在使用空间回归法,包括因变量hrate的空间滞后。
代码为:
# 操作代码
spxtregress hrate ln_population ln_pdensity gini, fe dvarlag(M)
结果为:
联系客服