温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
⛳ Stata 系列推文:
作者: 袁煜玲 (厦门大学)
邮箱: 384860359@qq.com
目录
acreg
适用于 OLS 和 2SLS 两种线性回归模型。其主要优势是允许模型的残差项存在任意形式的聚类相关性。为对该命令有详细的了解,本文将从标准误估计不准确的后果、相关文献、以及实际应用等方面进行介绍。
在默认情况下,我们会假设随机扰动项
不过,即使
例如,
如果在回归时没有考虑到组内扰动项相关性,那么就可能会得到偏小的标准误 (Cameron 和 Miller,2015),进而导致不准确的置信区间、
Bertrand 等 (2004) 指出,当时的许多 DID 研究,未能考虑聚类稳健的标准误,或者经常在错误的水平上聚类。针对上述现象,Cameron 和 Miller (2015) 举了如下例子:
这是一个州—年面板数据的 DID 模型。因变量是工资水平,自变量
直观地理解,在模型估计时,如果系统性地高估了一个州的工资预测,即同一个州每年的工资预测都被高估,那么
Cameron 和 Miller (2015) 指出,在 DID 面板数据回归模型中,聚类稳健的标准误可能比默认标准误大许多。主要原因是,自变量和误差项在类别 (州) 内部都是高度相关,而且即使考虑了固定效应,以上问题仍可能存在。当然,该问题不仅存在于 DID 模型中,也存在于所有面板数据模型中 (Cameron 和 Miller,2015)。
在进行 OLS 或 2SLS 回归时:
robust
选项,表明使用著名的 White (1980) 异方差稳健标准误;cluster()
选项,表明使用聚类稳健标准误。如果在聚类时,根据观测个体聚类,即 cluster(id)
,则等同于在回归命令后面加上 robust
。
现如今,空间数据或网络数据的分析非常常见。然而,数据中难以观测的异质性可能在相邻单元之间存在关联,给统计推断带来挑战。针对上述问题,Conley (1999b) 和 Hsiang (2010) 认为可以使用坐标来缓解空间相关问题。在此基础上,Colella 等 (2019) 基于 White (1980),提出了一种 “任意聚类方法”。该方法能够允许 OLS 和 2SLS 回归中的方差—协方差矩阵存在任意形式的相关性,包括空间结构、网络结构、以及时间维度等。并且,Colella 等 (2020) 编写了 acreg
命令来实现上述过程。
在基于美国大都市的地理空间分布所设定的蒙特卡罗模拟中,Colella 等 (2019) 发现 acreg
能够渐进准确地拒绝原假设,而传统的统计推断方法 (基于行政单元的聚类或非聚类的方法) 则倾向于过度拒绝原假设。
*命令安装
ssc install acreg, replace
*基本语法
acreg depvar [varlist1] [(varlist2 = varlist_iv) [if] [in]] [fweight pweight]
其中,depvar
为因变量,[varlist1]
是一系列外生变量,varlist2
是一系列内生变量,varlist_iv
是 varlist2
的工具变量。
*时间维度语法
acreg depvar varlist1 (varlist2 = varlist iv), id(idvar) time(timevar) lag(#)
其中,idvar
是横截面维度上的唯一标识符,timevar
是时间维度上的唯一标识符,lag(#)
指定同一个个体的时间滞后截断。
*空间语法1
acreg depvar varlist1 (varlist2 = varlist iv), spatial
latitude(latitudevar) longitude(longitudevar) dist(#)
其中,spatial
指定空间环境;latitudevar
是包含纬度的变量,精确到小数点后一位,且取值在 [-180.0, 180.0] 之间;类似地,longitudevar
是包含经度的变量;dist(#)
指定两个样本点在多少距离以外就没有相关性,以千米为单位。
*空间语法2
acreg depvar varlist1 (varlist2 = varlist iv), spatial
dist mat(varlist_distances) dist(#)
其中,varlist_distances
是在样本点之间包含双边空间距离的 N 个变量,这种距离以有意义的单位度量;dist(#)
指定两个样本点在多少距离以外就没有相关性,所用单位与 varlist_distances
的距离单位相同。
*网络语法
acreg depvar varlist1 (varlist2 = varlist_iv), network
inks mat(varlist_links) dist(#)
其中,network
指定网络环境;varlist_links
是指定两个样本点之间联系的 N 个双边变量,例如邻接矩阵中两个节点之间最短距离的边的数量,这种联系可随时间变化;dist(#)
指定一个距离,超出这个距离的两个点被假定误差不相关,如果设定的值大于 1,acreg
会计算两个网络节点之间的双边距离。
*多维聚类语法
acreg depvar varlist1 (varlist2 = varlist_iv), cluster(varlist_cluster)
其中,varlist_cluster
是一系列不同的聚类类别变量,每个变量指定一个聚类维度。
*任意聚类语法
acreg depvar varlist1 (varlist2 = varlist_iv), weights(varlist_weights)
其中,varlist_weights
是 N (截面) 或者
此外,上述语法具有的共同选项如下:
hac
报告了异方差序列相关 (HAC) 稳健标准误;bartlett
在用于计算方差—协方差矩阵的权重矩阵中,在样本点之间,在截断距离之内对权重矩阵施加了距离的线性递减;nbclust(#)
是用于计算 Kleibergen-Paap 统计量的聚类类别数量,用于任意聚类相关,默认值为 100。fe1var
指定第一个需要控制高维固定效应的变量 ;fe2var
指定第二个需要控制高维固定效应的变量;dropsingletons
在 pfe1 (and pfe2)
被指定的前提下,删除单独的组。storeweights
选项仅在 spatial
、network
或 varlist_cluster
三个选项被指定的情况下才能使用。storeweights
选项会将用于调整方差—协方差矩阵的允许任意聚类相关的权重矩阵储存在名为 weightsmat
的变量中。weightsmat
所储存的矩阵可以用于前文介绍的 varlist_weights
选项的输入。
在估计以下方程时,需要估计空间相关的标准误:
其中,
需要说明的是,Colella 等 (2020) 在这个例子中仅为演示 acreg
的用法,因此并不会探究这个工具变量的合理性。
. *采用 1990 年的横截面数据
. use "http://www.stata-press.com/data/r15/homicide1990.dta", clear
(S.Messner et al.(2000), U.S southern county homicide rates in 1990)
. *假设样本的误差之间没有相关性
. acreg hrate ln_population age (ln_income=unemployment)
HETEROSKEDASTICITY ROBUST STANDARD ERRORS
No HAC Correction
No Absorbed FEs
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 990.487
Number of obs = 1412
Total (centered) SS = 69908.59003 Centered R2 = 0.1079
Total (uncentered) SS = 198667.4579 Uncentered R2 = 0.6861
Residual SS = 62363.84851
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | -8.822 1.355 -6.51 0.000 -11.478 -6.167
ln_population | 1.404 0.277 5.07 0.000 0.862 1.947
age | -0.282 0.051 -5.55 0.000 -0.381 -0.182
_cons | 94.460 12.429 7.60 0.000 70.101 118.820
-------------------------------------------------------------------------------
. *等价于 ivreg2 的结果
. ivreg2 hrate ln_population age (ln_income=unemployment), robust
Number of obs = 1412
F( 3, 1408) = 24.04
Prob > F = 0.0000
Total (centered) SS = 69908.59003 Centered R2 = 0.1079
Total (uncentered) SS = 198667.4579 Uncentered R2 = 0.6861
Residual SS = 62363.84851 Root MSE = 6.646
-------------------------------------------------------------------------------
| Robust
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | -8.822 1.355 -6.51 0.000 -11.478 -6.167
ln_population | 1.404 0.277 5.07 0.000 0.862 1.947
age | -0.282 0.051 -5.55 0.000 -0.381 -0.182
_cons | 94.460 12.429 7.60 0.000 70.101 118.820
-------------------------------------------------------------------------------
. *估计州层面的聚类稳健标准误
. acreg hrate ln_population age (ln_income=unemployment), cluster(sfips)
MULTIWAY CLUSTERING CORRECTION
Cluster variable(s): sfips
No HAC Correction
No Absorbed FEs
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 143.959
Number of obs = 1412
Total (centered) SS = 69908.59003 Centered R2 = 0.1079
Total (uncentered) SS = 198667.4579 Uncentered R2 = 0.6861
Residual SS = 62363.84851
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | -8.822 1.802 -4.90 0.000 -12.353 -5.291
ln_population | 1.404 0.309 4.54 0.000 0.799 2.010
age | -0.282 0.130 -2.16 0.031 -0.537 -0.026
_cons | 94.460 17.890 5.28 0.000 59.396 129.525
-------------------------------------------------------------------------------
现在,使用 Conley (1999) 提出的空间相关估计,阈值选择为 100 公里,因此每个县的误差项假设与所有位于 100 公里范围内的其他县具有相关性 (本例中,平均而言有 89 个县相互关联)。
. acreg hrate ln_population age (ln_income=unemployment), ///
spatial latitude(_CX) longitude(_CY) dist(100)
SPATIAL CORRECTION
DistCutoff: 100
LagCutoff: 0
No HAC Correction
No Absorbed FEs
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 112.917
Number of obs = 1412
Total (centered) SS = 69908.59003 Centered R2 = 0.1079
Total (uncentered) SS = 198667.4579 Uncentered R2 = 0.6861
Residual SS = 62363.84851
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | -8.822 2.358 -3.74 0.000 -13.443 -4.201
ln_population | 1.404 0.469 3.00 0.003 0.485 2.323
age | -0.282 0.109 -2.58 0.010 -0.495 -0.068
_cons | 94.460 21.863 4.32 0.000 51.609 137.312
-------------------------------------------------------------------------------
在以上例子中,用于计算方差-协方差矩阵 (VCV) 的权重矩阵是二元的,即对于 100 公里范围内的两个县市 (县市对),取值为 1;相距超过 100 公里的两个县市 (县市对),取值为 0。acreg
还允许这个二元矩阵的权重随着两个县之间距离的增加而线性递减,也就是不再简单地用 0 或 1 来构造这个矩阵,此时可用 bartlett
选项。这里我们可通过 dist(200)
将相关距离的阈值从 100 公里改为 200 公里。
. acreg hrate ln_population age (ln_income=unemployment), ///
spatial latitude(_CX) longitude(_CY) dist(200) bartlett
SPATIAL CORRECTION
DistCutoff: 200
LagCutoff: 0
No HAC Correction
No Absorbed FEs
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 132.260
Number of obs = 1412
Total (centered) SS = 69908.59003 Centered R2 = 0.1079
Total (uncentered) SS = 198667.4579 Uncentered R2 = 0.6861
Residual SS = 62363.84851
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | -8.822 2.313 -3.81 0.000 -13.356 -4.289
ln_population | 1.404 0.439 3.20 0.001 0.544 2.265
age | -0.282 0.102 -2.77 0.006 -0.481 -0.083
_cons | 94.460 21.235 4.45 0.000 52.841 136.080
-------------------------------------------------------------------------------
acreg
允许控制高维固定效应,但为提高效率,将这些固定效应 “partial out”,降低由于控制很多虚拟变量对模型估计速度的影响。该命令最多仅允许控制两个固定效应变量,在 pfe1()
和 pfe2()
两个选项的括号中,可填入要控制固定效应的变量。对上例回归控制州的固定效应:
. acreg hrate ln_population age (ln_income=unemployment), ///
spatial latitude(_CX) longitude(_CY) dist(100) pfe1(sfips)
SPATIAL CORRECTION
DistCutoff: 100
LagCutoff: 0
No HAC Correction
Absorbed FE: sfips
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 307.097
Number of obs = 1412
Total (centered) SS = 58943.23761 Centered R2 = 0.1002
Total (uncentered) SS = 58943.23761 Uncentered R2 = 0.1002
Residual SS = 53037.54212
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | -13.882 1.835 -7.56 0.000 -17.479 -10.285
ln_population | 1.650 0.400 4.12 0.000 0.866 2.434
age | -0.179 0.096 -1.86 0.063 -0.367 0.009
_cons | 0.000 0.241 0.00 1.000 -0.473 0.473
-------------------------------------------------------------------------------
nb: total SS, model and R2s are after partialling out.
To get the corrected ones use the option correctr2
注意到,以上回归结果中,除了最后控制固定效应的回归结果之外,其他结果的估计系数不变,因为 acreg
调整的是估计系数的标准误。
. use "http://www.stata-press.com/data/r15/homicide_1960_1990.dta", clear
(S.Messner et al.(2000), U.S southern county homicide rate in 1960-1990)
. *不考虑误差相关进行回归,以下两条命令的结果等价
. acreg hrate ln_population age (ln_income=unemployment)
. ivreg2 hrate ln_population age (ln_income=unemployment), robust
. *允许州内各县存在相关性,以下两行命令等价
. acreg hrate ln_population age (ln_income=unemployment), id(_ID) ///
time(year) lagcut(30)
. ivreg2 hrate ln_population age (ln_income=unemployment), cluster(_ID)
. *考虑时间和空间的相关性
. acreg hrate ln_population age (ln_income=unemployment), ///
id(_ID) time(year) lagcut(30) spatial ///
latitude(_CX) longitude(_CY) dist(100)
SPATIAL CORRECTION
DistCutoff: 100
LagCutoff: 30
No HAC Correction
No Absorbed FEs
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 24.838
Number of obs = 5648
Total (centered) SS = 286387.1082 Centered R2 = -0.0447
Total (uncentered) SS = 781008.6785 Uncentered R2 = 0.6169
Residual SS = 299188.6495
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | 3.839 1.811 2.12 0.034 0.289 7.388
ln_population | -0.441 0.387 -1.14 0.254 -1.200 0.318
age | -0.463 0.143 -3.25 0.001 -0.742 -0.183
_cons | -7.265 9.814 -0.74 0.459 -26.500 11.970
-------------------------------------------------------------------------------
其中,id()
填写县市的 id,time()
填写年份变量;dist(100)
假设空间相关性在 100 km 之外就会消失;lag(30)
即假设在 30 个时期之后,同一个体在时间上的相关性就会消失。但是,这份数据的时间维度最多为 4 年,因此 lag()
中填写的数字如果超过 4,那么估计的系数标准误就不会再改变了。例如,这里填写lag(30)
与填写 lag(300)
的结果是一样的。
. *考虑了时间和空间上的相关性,进一步控制县的固定效应
. acreg hrate ln_population age (ln_income=unemployment), ///
id(_ID) time(year) lagcut(30) spatial latitude(_CX) ///
longitude(_CY) dist(100) pfe1(_ID)
SPATIAL CORRECTION
DistCutoff: 100
LagCutoff: 30
No HAC Correction
Absorbed FE: _ID
Included instruments: ln_population age
Instrumented: ln_income
Excluded instruments: unemployment
Kleibergen-Paap rk Wald F statistic: 49.605
Number of obs = 5648
Total (centered) SS = 144755.2058 Centered R2 = 0.0175
Total (uncentered) SS = 144755.2058 Uncentered R2 = 0.0175
Residual SS = 142223.0274
-------------------------------------------------------------------------------
hrate | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
ln_income | 0.259 1.150 0.23 0.822 -1.995 2.512
ln_population | -1.631 1.741 -0.94 0.349 -5.043 1.781
age | 0.147 0.201 0.73 0.465 -0.247 0.540
_cons | -0.000 0.174 -0.00 1.000 -0.342 0.342
-------------------------------------------------------------------------------
nb: total SS, model and R2s are after partialling out.
To get the corrected ones use the option correctr2
其中,pfe1(_ID)
控制 (partial out) 了县的固定效应。注意到,这里回归系数发生了很大的变化,这是因为控制固定效应,即先组内去均值而后回归,通常会影响模型估计的系数,而不只是影响系数标准误。
. *再考虑时间固定效应,加上选项 pfe2(year) 即可
. acreg hrate ln_population age (ln_income=unemployment), ///
id(_ID) time(year) lagcut(30) spatial latitude(_CX) ///
longitude(_CY) dist(100) pfe1(_ID) pfe2(year)
如果要计算 Newey 和 West (1987) 的异方差序列相关一致稳健标准误 (HAC),只需在以上命令最后加上选项 hac
即可。
这里使用 Grund 和 Densley (2012,2015) 提供的伦敦年轻帮派网络数据。如果两个人共同犯案,那么这两个节点中间建立联系,即节点的边。这些联系构成了 54 个变量 (_net2_1 - _net2_54)。模型如下:
其中,
. webnwuse gang //下载数据
. nwload gang //下载网络
. forvalues j = 1(1)54 {
2. qui replace _net2_`j'=1 in `j'
3. } //将邻接矩阵对角线换成 1
. *假设每个观测的误差项不相关,估计模型
. acreg Arrest Ranking Age Residence i.Birthplace
HETEROSKEDASTICITY ROBUST STANDARD ERRORS
No HAC Correction
No Absorbed FEs
Included instruments: Ranking Age Residence 1b.Birthplace 2.Birthplace
3.Birthplace 4.Birthplace
Number of obs = 54
Total (centered) SS = 2196.537037 Centered R2 = 0.2442
Total (uncentered) SS = 7497 Uncentered R2 = 0.7786
Residual SS = 1660.198039
------------------------------------------------------------------------------
Arrests | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Ranking | -2.168 0.821 -2.64 0.008 -3.777 -0.560
Age | 0.767 0.309 2.48 0.013 0.160 1.373
Residence | -1.535 1.562 -0.98 0.326 -4.595 1.526
Birthplace |
Caribbean | 0.000 (empty)
East Africa | -0.252 2.870 -0.09 0.930 -5.876 5.372
UK | 0.701 2.228 0.31 0.753 -3.666 5.069
West Africa | 0.817 2.013 0.41 0.685 -3.127 4.762
_cons | 2.317 7.507 0.31 0.758 -12.396 17.030
------------------------------------------------------------------------------
接着,采用 Colella 等 (2019) 的稳健标准误,即假设每个个体与其相连的其他个体存在相关。links_mat(_net2_*)
声明网络结构由 _net2_1
至 _net2_54
所定义;dist(1)
声明在第一个连接之后节点的相关性就会消失,也就是只考虑直接相连的两点的相关性,不考虑间接相连。如果设为 dist(2)
,则是认为通过一个中间点间接相连的两个点也具有相关性,即两点之间最短距离在 2 步以内的情况。
. acreg Arrest Ranking Age Residence i.Birthplace , ///
network links_mat(_net2_*) dist(1)
NETWORK CORRECTION
DistCutoff: 1
LagCutoff: 0
No HAC Correction
No Absorbed FEs
Included instruments: Ranking Age Residence 1b.Birthplace 2.Birthplace
3.Birthplace 4.Birthplace
Number of obs = 54
Total (centered) SS = 2196.537037 Centered R2 = 0.2442
Total (uncentered) SS = 7497 Uncentered R2 = 0.7786
Residual SS = 1660.198039
------------------------------------------------------------------------------
Arrests | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Ranking | -2.168 0.713 -3.04 0.002 -3.566 -0.771
Age | 0.767 0.373 2.05 0.040 0.035 1.498
Residence | -1.535 1.619 -0.95 0.343 -4.708 1.638
Birthplace |
Caribbean | 0.000 (empty)
East Africa | -0.252 2.259 -0.11 0.911 -4.679 4.175
UK | 0.701 2.985 0.23 0.814 -5.149 6.551
West Africa | 0.817 2.260 0.36 0.718 -3.613 5.247
_cons | 2.317 7.826 0.30 0.767 -13.021 17.656
------------------------------------------------------------------------------
如果要将用于计算方差—协方差矩阵的 0-1 权重矩阵,改为权重随着网络距离递减的矩阵,即直接相连取值为 1,间接 2 步相连取值为 0.5,那么选择选项 bartlett
。
. acreg Arrest Ranking Age Residence i.Birthplace, ///
network links_mat(_net2_*) dist(2) bartlett
NETWORK CORRECTION
DistCutoff: 2
LagCutoff: 0
No HAC Correction
No Absorbed FEs
Included instruments: Ranking Age Residence 1b.Birthplace 2.Birthplace
3.Birthplace 4.Birthplace
Number of obs = 54
Total (centered) SS = 2196.537037 Centered R2 = 0.2442
Total (uncentered) SS = 7497 Uncentered R2 = 0.7786
Residual SS = 1660.198039
------------------------------------------------------------------------------
Arrests | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Ranking | -2.168 0.769 -2.82 0.005 -3.675 -0.662
Age | 0.767 0.343 2.24 0.025 0.095 1.438
Residence | -1.535 1.591 -0.96 0.335 -4.652 1.583
Birthplace |
Caribbean | 0.000 (empty)
East Africa | -0.252 2.582 -0.10 0.922 -5.313 4.809
UK | 0.701 2.634 0.27 0.790 -4.461 5.863
West Africa | 0.817 2.140 0.38 0.703 -3.377 5.011
_cons | 2.317 7.668 0.30 0.762 -12.712 17.346
------------------------------------------------------------------------------
此外,如果要控制出生地固定效应,仅需添加选项 pfe1(Birthplace)
。
这是一份构造的数据,
. use "https://gitee.com/arlionn/data/raw/master/data01/acregfakedata.dta", clear
. *不存在相关性,也不控制固定效应,以下两条命令等价
. acreg Y_it X1_it (Z_it=IV_it)
. ivreg2 Y_it X1_it (Z_it=IV_it), robust
. *考虑个体时间序列相关性,不考虑个体相关性,以下三条命令等价
. acreg Y_it X1_it (Z_it=IV_it) , id(id) time(time) lag(10)
. ivreg2 Y_it X1_it (Z_it=IV_it) , cluster(id)
. acreg Y_it X1_it (Z_it=IV_it), cluster(id)
现在考虑同一时期,直接相连的节点之间的相关性,但不考虑不同时期,直接相连的节点之间的相关性,添加选项 links_mat(clus*)
,即clus_1
至clus_100
,共 100 个个体。因此,dist(1)
设为 1,即间接相连的相关性不考虑。
. eststo: acreg Y_it X1_it (Z_it=IV_it), ///
id(id) time(time) lag(10) network ///
links_mat(clus*) dist(1)
NETWORK CORRECTION
DistCutoff: 1
LagCutoff: 10
No HAC Correction
No Absorbed FEs
Included instruments: X1_it
Instrumented: Z_it
Excluded instruments: IV_it
Kleibergen-Paap rk Wald F statistic: 22.720
Number of obs = 1000
Total (centered) SS = 2834382.139 Centered R2 = 0.4913
Total (uncentered) SS = 4195421.4 Uncentered R2 = 0.6563
Residual SS = 1441795.144
------------------------------------------------------------------------------
Y_it | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Z_it | 1.029 0.384 2.68 0.007 0.275 1.782
X1_it | 1.229 0.450 2.73 0.006 0.348 2.110
_cons | 11.619 4.743 2.45 0.014 2.322 20.915
------------------------------------------------------------------------------
(est1 stored)
在以上命令中,通过选项 pfe1(id)
和 pfe2(tim)
可控制个体和时间固定效应。如果假设同一年存在个体之间的相关性,而同一个体在时间维度上不存在任何相关性,只需把 lag(0)
设定为 0 即可。同理,如果假设同一个体在 3 期以内存在相关性,而超过 3 期则不存在相关性,只需把 lag(3)
设定为 3 即可。
Colella 等 (2020) 在这一部分是想将其编写的 acreg
与 Hsiang (2010) 的考虑空间相关性的命令 ols_spatial_HAC
进行比较。
*安装命令 ols_spatial_HAC
local u1 "https://gitee.com/arlionn/data/raw/master/data01/ols_spatial_HAC.ado"
local u2 "`c(sysdir_plus)'/o"
copy `u1' "`u2'/ols_spatial_HAC.ado", replace
. *不考虑相关性和固定效应,用混合横截面回归
. use "https://gitee.com/arlionn/data/raw/master/data01/acregfakedata.dta", clear
. qui tab time, g(time_d) //生成时间 id
. qui tab id, g(id_d) //生成个体 id
. gen const = 1 //生成截距项
. gen fakeid = _n //生成虚假个体 id
. gen faketime = 1 //生成虚假时间
. *ivreg2
. qui ivreg2 Y_it X1_it Z_it, robust
. est store m1
. *acreg
. qui acreg Y_it X1_it Z_it
. est store m2
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const, ///
lat(lat) lon(lon) panelvar(fakeid) timevar(time) ///
distcutoff(0.000001) lagcutoff(0)
. est store m3
. *结果进行对比
. esttab m*, keep(X1_it Z_it) mtitles(ivreg2 acreg ols_spat)
------------------------------------------------------------
(1) (2) (3)
ivreg2 acreg ols_spat
------------------------------------------------------------
X1_it 0.739*** 0.739*** 0.739***
(3.93) (3.93) (3.93)
Z_it 1.453*** 1.453*** 1.453***
(30.63) (30.63) (30.63)
------------------------------------------------------------
N 1000 1000 1000
------------------------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
可以看出,在这种设定下,ivreg2
、acreg
、ols_spatial_HAC
三者结果没有区别。
假设横截面数据,而非空间数据,但是假设个体在 500 公里范围内存在相关性。同时采用二元权重矩阵 (第 1—2 列) 与随距离递减的权重矩阵(bartlett
) (第 3—4 列)。
. *二元权重矩阵
. *acreg
. qui acreg Y_it X1_it Z_it, spatial latitude(lat) ///
longitude(lon) dist(500)
. est store m1
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const, lat(lat) ///
lon(lon) panelvar(fakeid) timevar(faketime) ///
distcutoff(500) lagcutoff(0)
. est store m2
. *计算方差的矩阵的权重随距离递减
. *acreg
. qui acreg Y_it X1_it Z_it, spatial latitude(lat) ///
longitude(lon) dist(500) bartlett
. est store m3
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const, lat(lat) ///
lon(lon) panelvar(fakeid) timevar(faketime) ///
distcutoff(500) lagcutoff(0) bartlett
. est store m4
. *列示结果进行对比
. esttab m1 m2 m3 m4, keep( X1_it Z_it) mtitles(acreg ///
ols_spat acreg_b ols_spat_b 2hdfespat_b)
----------------------------------------------------------------------------
(1) (2) (3) (4)
acreg ols_spat acreg_b ols_spat_b
----------------------------------------------------------------------------
X1_it 0.739*** 0.739*** 0.739*** 0.739***
(3.34) (3.34) (3.56) (3.56)
Z_it 1.453*** 1.453*** 1.453*** 1.453***
(29.83) (29.83) (29.82) (29.82)
----------------------------------------------------------------------------
N 1000 1000 1000 1000
----------------------------------------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
考虑空间和时间的相关性,acreg
需要指定 hac
以考虑异方差—自相关稳健标准误,而另一个变量则默认使用异方差-自相关稳健标准误。
. *binary weighting matrix
. *acreg
. qui acreg Y_it X1_it Z_it, spatial latitude(lat) longitude(lon) ///
dist(500) id(id) time(time) lag(10) hac
. est store m1
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const, lat(lat) lon(lon) ///
panelvar(id) timevar(time) distcutoff(500) lagcutoff(10)
. est store m2
. *linear bartlett window
. *acreg
. qui acreg Y_it X1_it Z_it, spatial latitude(lat) longitude(lon) ///
dist(500) id(id) time(time) lag(10) hac bartlett
. est store m3
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const, lat(lat) lon(lon) ///
panelvar(id) timevar(time) distcutoff(500) lagcutoff(10) bartlett
. est store m4
. *table of results
. esttab m1 m2 m3 m4, keep( X1_it Z_it) mtitles(acreg ///
ols_spat acreg_b ols_spat_b 2hdfespat_b)
----------------------------------------------------------------------------
(1) (2) (3) (4)
acreg ols_spat acreg_b ols_spat_b
----------------------------------------------------------------------------
X1_it 0.739*** 0.739*** 0.739*** 0.739***
(3.54) (3.54) (3.78) (3.78)
Z_it 1.453*** 1.453*** 1.453*** 1.453***
(26.49) (26.49) (28.50) (28.50)
----------------------------------------------------------------------------
N 1000 1000 1000 1000
----------------------------------------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
可以看到,在同时考虑空间和时间相关之后,两个变量估计的标准误出现了细小差别,acreg
估计的标准误更大一点。
考虑空间和时间相关,以及高维固定效应,这里控制个体和时间固定效应。
. *binary weighting matrix
. *acreg
. qui acreg Y_it X1_it Z_it , pfe2(id) pfe1(time) spatial ///
latitude(lat) longitude(lon) dist(500) id(id) time(time) lag(10) hac
. est store m1
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const id_d2-id_d100 ///
time_d2-time_d10, lat(lat) lon(lon) panelvar(id) ///
timevar(time) distcutoff(500) lagcutoff(10)
. est store m2
. *linear bartlett window
. *acreg
. qui acreg Y_it X1_it Z_it , pfe2(id) pfe1(time) spatial ///
latitude(lat) longitude(lon) dist(500) id(id) ///
time(time) lag(10) hac bartlett
. est store m3
. *ols_spatial_HAC (ols_spat)
. qui ols_spatial_HAC Y_it X1_it Z_it const id_d2-id_d100 ///
time_d2-time_d10, lat(lat) lon(lon) panelvar(id) ///
timevar(time) distcutoff(500) lagcutoff(10) bartlett
. est store m4
. *table of results
. esttab m1 m2 m3 m4, keep( X1_it Z_it) mtitles(acreg ols_spat ///
acreg_b ols_spat_b 2hdfespat_b)
----------------------------------------------------------------------------
(1) (2) (3) (4)
acreg ols_spat acreg_b ols_spat_b
----------------------------------------------------------------------------
X1_it 0.740*** 0.740*** 0.740*** 0.740***
(3.39) (3.39) (3.75) (3.75)
Z_it 1.418*** 1.418*** 1.418*** 1.418***
(28.84) (28.84) (29.06) (29.06)
----------------------------------------------------------------------------
N 1000 1000 1000 1000
----------------------------------------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
这里控制了两种固定效应后,系数和显著性的差异变化很小,很大可能是因为这是作者构造的模拟数据。但是,这里两个命令估计的系数标准误略有差异,acreg
估计的标准误小一点。
Note:产生如下推文列表的 Stata 命令为:
lianxh 标准误 异方差, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ <https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh