
New! 搜推文,找资料,用
lianxh
命令:
安装:ssc install lianxh, replace
使用:lianxh 合成控制
lianxh DID + 多期, w


⛳ Stata 系列推文:
- 全部 | Stata入门 | Stata教程 | Stata资源 | Stata命令
- 计量专题 | 论文写作 | 数据分享 | 专题课程
- 结果输出 | Stata绘图 | 数据处理 | Stata程序
- 回归分析 | 面板数据 | 交乘项-调节 | IV-GMM
- 内生性-因果推断 | 倍分法DID | 断点回归RDD | PSM-Matching | 合成控制法
- Probit-Logit | 时间序列 | 空间计量 | 分位数回归 | 生存分析 | SFA-DEA
- 文本分析-爬虫 | Python-R-Matlab | 机器学习
- Markdown | 工具软件 | 其它
作者: 袁煜玲 (厦门大学)
邮箱: 384860359@qq.com
目录
[[TOC]]
acreg
适用于 OLS 和 2SLS 两种线性回归模型。其主要优势是允许模型的残差项存在任意形式的聚类相关性。为对该命令有详细的了解,本文将从标准误估计不准确的后果、相关文献、以及实际应用等方面进行介绍。
1. 回归系数的标准误
1.1 标准误的估计
在默认情况下,我们会假设随机扰动项 的方差 为常数,即同方差假定。然而,这一假设在大多数时候都不成立。

不过,即使 不满足同方差假定,OLS 估计量依然无偏、一致且渐近正态,因为在推导这些性质时并不需要同方差假定。但是,由于 ,此时 检验和 检验失效。换句话说,扰动项的异方差性,不会影响回归估计系数的一致性,只会影响系数标准误的大小和检验统计量的效度。
例如, 的 95% 的置信区间估计为 。考虑异方差后,估计的 增大,则 的置信区间有可能包含 0,从而使得统计结果不显著;反之,如果未考虑异方差,即使 显著,结论也不一定可靠。
如果在回归时没有考虑到组内扰动项相关性,那么就可能会得到偏小的标准误 (Cameron 和 Miller,2015),进而导致不准确的置信区间、 统计量和 值。因此,在进行统计推断时,系数标准误 的准确估计也很重要。
1.2 稳健标准误的重要性
Bertrand 等 (2004) 指出,当时的许多 DID 研究,未能考虑聚类稳健的标准误,或者经常在错误的水平上聚类。针对上述现象,Cameron 和 Miller (2015) 举了如下例子:
这是一个州—年面板数据的 DID 模型。因变量是工资水平,自变量 是外生政策变量,该变量随着州和时间而变化。当 =1 时,表示政策生效,反之则未生效。然而,变量 通常是序列相关的。例如,在那些从未实施政策的州,在永久实施该政策以后, 将从一系列的 0,变成一系列的 1。此时,如果模型系统性地高估 (或低估) 了工资水平,那么误差项 在同一个州内部在时间维度上是正相关的。那么,默认的标准误就可能产生向下偏误。
直观地理解,在模型估计时,如果系统性地高估了一个州的工资预测,即同一个州每年的工资预测都被高估,那么 就都是负的,从而州内部的误差项正相关;反之,若是系统性低估,模型中这个州每年的误差项就都是正的,从而误差项也是正相关。
Cameron 和 Miller (2015) 指出,在 DID 面板数据回归模型中,聚类稳健的标准误可能比默认标准误大许多。主要原因是,自变量和误差项在类别 (州) 内部都是高度相关,而且即使考虑了固定效应,以上问题仍可能存在。当然,该问题不仅存在于 DID 模型中,也存在于所有面板数据模型中 (Cameron 和 Miller,2015)。
1.3 稳健标准误的 Stata 实现
在进行 OLS 或 2SLS 回归时:
- 如果在回归命令后面加上
robust
选项,表明使用著名的 White (1980) 异方差稳健标准误; - 如果在回归命令后面加上
cluster()
选项,表明使用聚类稳健标准误。如果在聚类时,根据观测个体聚类,即cluster(id)
,则等同于在回归命令后面加上robust
。
2. 空间与网络的相关性
2.1 背景介绍
现如今,空间数据或网络数据的分析非常常见。然而,数据中难以观测的异质性可能在相邻单元之间存在关联,给统计推断带来挑战。针对上述问题,Conley (1999b) 和 Hsiang (2010) 认为可以使用坐标来缓解空间相关问题。在此基础上,Colella 等 (2019) 基于 White (1980),提出了一种 “任意聚类方法”。该方法能够允许 OLS 和 2SLS 回归中的方差—协方差矩阵存在任意形式的相关性,包括空间结构、网络结构、以及时间维度等。并且,Colella 等 (2020) 编写了 acreg
命令来实现上述过程。
在基于美国大都市的地理空间分布所设定的蒙特卡罗模拟中,Colella 等 (2019) 发现 acreg
能够渐进准确地拒绝原假设,而传统的统计推断方法 (基于行政单元的聚类或非聚类的方法) 则倾向于过度拒绝原假设。
2.2 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 (截面) 或者 (面板) 个包含 S 矩阵权重的变量。
此外,上述语法具有的共同选项如下:
- 相关关系结构:
hac
报告了异方差序列相关 (HAC) 稳健标准误;bartlett
在用于计算方差—协方差矩阵的权重矩阵中,在样本点之间,在截断距离之内对权重矩阵施加了距离的线性递减;nbclust(#)
是用于计算 Kleibergen-Paap 统计量的聚类类别数量,用于任意聚类相关,默认值为 100。 - 高维固定效应:
fe1var
指定第一个需要控制高维固定效应的变量 ;fe2var
指定第二个需要控制高维固定效应的变量;dropsingletons
在pfe1 (and pfe2)
被指定的前提下,删除单独的组。 - 储存选项:
storeweights
选项仅在spatial
、network
或varlist_cluster
三个选项被指定的情况下才能使用。storeweights
选项会将用于调整方差—协方差矩阵的允许任意聚类相关的权重矩阵储存在名为weightsmat
的变量中。weightsmat
所储存的矩阵可以用于前文介绍的varlist_weights
选项的输入。
3. acreg 命令的应用
3.1 收入与自杀率
在估计以下方程时,需要估计空间相关的标准误:
其中, 是美国东南部的某个县,每个县有 4 年观测。 包括人口对数和平均年龄等控制变量。假设采用失业率作为收入的工具变量,则第一阶段模型如下:
需要说明的是,Colella 等 (2020) 在这个例子中仅为演示 acreg
的用法,因此并不会探究这个工具变量的合理性。
3.1.1 截面数据
. *采用 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
调整的是估计系数的标准误。
3.1.2 面板数据
. 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
即可。
3.2 网络模型
这里使用 Grund 和 Densley (2012,2015) 提供的伦敦年轻帮派网络数据。如果两个人共同犯案,那么这两个节点中间建立联系,即节点的边。这些联系构成了 54 个变量 (_net2_1 - _net2_54)。模型如下:
其中, 是个体, 是个体被逮捕的次数, 是个体在帮派中的位置, 包括年龄、居住地、和出生地。

3.2.1 截面数据
. 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)
。
3.2.2 面板数据
这是一份构造的数据,,,只有 4 个构造的变量,即 ,,,。其中假定 是内生解释变量,而 是工具变量。
. 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 即可。
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
3.3.1 截面数据
. *不考虑相关性和固定效应,用混合横截面回归
. 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
三者结果没有区别。
3.3.2 空间相关
假设横截面数据,而非空间数据,但是假设个体在 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
3.3.3 空间和时间的相关性
考虑空间和时间的相关性,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
估计的标准误更大一点。
3.3.4 固定效应模型
考虑空间和时间相关,以及高维固定效应,这里控制个体和时间固定效应。
. *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
估计的标准误小一点。
4. 参考文献
- Baum C F, Schaffer M E, Stillman S. Instrumental variables and GMM: Estimation and testing[J]. The Stata Journal, 2003, 3(1): 1-31. -PDF-
- Bertrand M, Duflo E, Mullainathan S. How much should we trust differences-in-differences estimates?[J]. The Quarterly journal of economics, 2004, 119(1): 249-275. -PDF-
- Cameron A C, Miller D L. A practitioner’s guide to cluster-robust inference[J]. Journal of human resources, 2015, 50(2): 317-372. -PDF-
- Conley T G. GMM estimation with cross sectional dependence[J]. Journal of econometrics, 1999, 92(1): 1-45. -PDF-
- Colella F, Lalive R, Sakalli S O, et al. Inference with arbitrary clustering[J]. 2019. -PDF-
- Hsiang S M. Temperatures and cyclones strongly associated with economic production in the Caribbean and Central America[J]. Proceedings of the National Academy of sciences, 2010, 107(35): 15367-15372. -PDF-
- Messner S F, Anselin L, Baller R D, et al. The spatial patterning of county homicide rates: An application of exploratory spatial data analysis[J]. Journal of Quantitative criminology, 1999, 15(4): 423-450. -PDF-
- White H. A heteroskedasticity-consistent covariance matrix estimator and a direct test for heteroskedasticity[J]. Econometrica: journal of the Econometric Society, 1980: 817-838. -PDF-
- 洪永淼, 赵西亮, 吴吉林. 高级计量经济学[M]. 高等教育出版社, 2011.
5. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 标准误 异方差, m
安装最新版lianxh
命令:
ssc install lianxh, replace



资源共享
- 连享会资料 ……
- 在线视频:lianxh-class.cn
- Stata 33 讲,100 万+ 播放,Stata 入门必备,公开课
- 直击面板数据模型,10 万+ 播放,白话面板模型,公开课
- … more …
- 论文复现和数据
- 主题分类
- 热门推文

尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。
请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。
我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!

关于我们
- Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。more……
- 扫码加入连享会微信群,提问交流更方便
