xtseqreg:面板模型如何估计不随时间变化的变量
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
🎦 效率分析 · 进阶 最新模型和工具
📅 2021 年 11 月 13-14;20-21 日
🔑 张宁教授 (山东大学);杜克锐副教授 (厦门大学)
🍓 课程主页:https://gitee.com/lianxh/TE
实现经济增长的途径主要有两个:一是增加投入,二是提高效率。后者不仅能增加经济总量,还能提升经济质量。因此,效率分析是经济学研究中的核心。
显然,若想发表高水平的论文,就必须紧跟前沿,引领趋势,这正是本期「效率分析·进阶班」课程的主旨。
张宁教授在环境效率和非期望产出领域学者中排名第二,他在 Science, Nature, Cell 和 Lancet 上均有发表。杜克锐副教授已在 SSC 发布了十余个 Stata 命令,有三篇论文发表于 Stata Journal,获得 2020 年 Stata 中国用户奖。
课程包括参数方法和非参数方法两个部分:
参数方法主要包括参数线性规划(Parametric LP)、计量经济方法和随机前沿方法(SFA)三大方法。 非参数方法,即 DEA 方法,主要包括 DDF, NDDF 和 SBM 等模型。
重要福利: 本课程所涉及的参数和非参数效率模型,老师们都将会提供封装后的 Stata 估计命令,只需几条简单的命令即可实现最新的模型。老师们也会分享编写过程心得,让大家有能力对这些封装程序进行修改和扩展。
扫码直达课程主页:
作者:展一帆 (复旦大学)
E-Mail: simonzhanyf@163.com
Stata 连享会:知乎 | 简书 | 码云 | CSDN
Source: Estimation of linear dynamic panel data models with time-invariant regressors
目录
1. 问题背景
2. 估计流程与原理
3. Stata 范例
3.1 xtseqreg 命令的安装
范例数据
4. 参考资料和扩展阅读
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 问题背景
在常见的固定效应静态面板模型中,非时变的变量由于与个体固定效应完全共线性,无法估计出系数,在 Stata 中会直接汇报 omitted。
另一方面,在动态面板模型中,我们一般使用 GMM 估计方法。(Arellano and Bond,1991; Arellano and Bover,1995; Blundell and Bond ,1998)当 GMM 方法在不满足强正交性假设,对非时变变量的估计系数也是不一致且有偏的。
然而,在许多研究中,非时变变量在结构性方程中起着重要作用。例如在劳动经济学或卫生经济学领域中,学者时常会感兴趣一些非时变变量对于因变量(如工资水平或健康程度等)的影响,如教育、性别、国籍、种族和宗教背景等。
故而本文旨在介绍一种新的二阶段估计程序 xtseqreg
,可以在不依赖正交性假设的情况下估计非时变变量的系数(Kripfganz1 and Schwarz, 2019)。
2. 估计流程与原理
xtseqreg
命令的主要目的是估计带有非时变变量的线性(动态)面板数据模型。概括而言,估计流程分为两阶段,在第一阶段只对时变变量回归估计其系数,并提取回归的残差,然后在第二阶段将该残差对非时变变量进行回归,获取非时变变量的系数。
具体而言,不妨考虑如下动态面板模型:
其中个体 取值为 ,时间 取值为 , 是 维向量,代表随时间变化的自变量, 是 维向量,代表非时变自变量。 代表不可观测的个体固定效应。
实现该二阶段估计方法需要满足两条假设:
假设 1: 扰动项 和个体效应 在个体 之间独立分布,且对任意 满足 ,以及
假设 2: 相对于扰动项 , 和 严格外生,即
在第一阶段里,我们先把非时变变量与个体固定效应合并为 ,则第一阶段模型可改写为如下方程:
在满足假设 1 和假设 2 的情况下,一阶段方程可使用多种常规估计方法,例如 Hsiao et al. (2002)的 QML 估计量,Arellano and Bond (1991) 和 Blundell and Bond (1998) 基于线性矩条件的 GMM 估计量,Ahn and Schmidt (1995) 基于非线性矩条件的 GMM 估计量等。
接下来将一阶段估计的残差提取出来,采用如下水平方程回归即可得到非时变变量的估计系数:
此外,上述两个阶段均可以使用工具变量解决自变量的内生性问题。在第二阶段,本方法纠正了通常的标准误,标准误修正也是这个新命令的主要贡献之一。有关该修正及其益处的详细信息,请参阅论文。
另外值得一提的是,xtseqreg
命令也可以用于常规 IV/GMM 估计单阶段。例如本命令可以模仿实现(部分)现有命令的行为,用于工具变量和线性面板数据模型的 GMM 估计,特别是动态模型环境下的 xtdpd
和 xtabond2
。但本命令并非旨在替代以往的命令,在某种程度上,其他命令包含一些本命令所不能实现的功能,但是本命令相比之下提供了额外的灵活性,且实现了两阶段估计中标准误的纠偏。
3. Stata 范例
本小节我们来看一个应用实例。详细可以参考 Sebastian Kripfganz 在 Statalist 上分享的实用案例:XTSEQREG: new Stata command for sequential / two-stage (GMM) estimation of linear panel models。
3.1 xtseqreg 命令的安装
xtseqreg
命令由 Sebastian Kripfganz 博士编写,其 主页 还发布了一系列相关命令和文档。xtseqreg
的安装方式如下:
*-途径一. ssc install xtseqreg, replace // 安装最新版,更新较为缓慢*-途径二:更新及时,但有时可能无法连网. net install xtseqreg, from(http://www.kripfganz.de/stata/)
完成安装后,可以进一步输入如下命令获取帮组文件:
. help xtseqreg. help xtseqreg postestimation
范例数据
本例中使用程序作者提供的数据文件 psidextract.dta 来演示该命令的用法。
首先可以了解一下该范例数据,期为一个劳动-收入领域的面板数据,我们关心的被解释变量是 lwage
,即对数工资,id
和 t
则分别对应面板的横截面和时间指标,此外数据中包含了大量随时间不变的变量,例如是否为黑人 blk
、性别 fem
等等。通常的固定效应面板回归无法估计这些非时变变量。
. webuse psidextract.dta, clear // Stata 手册附带数据 des
Contains data from psidextract.dta obs: 4,165 vars: 22 3 Aug 2020 23:58 size: 279,055 (_dta has notes)---------------------------------------------------------------------------- storage variable type variable label----------------------------------------------------------------------------exp float years of full-time work experiencewks float weeks workedocc float occupation; occ==1 if in a blue-collar occupationind float industry; ind==1 if working in a manufacturing industrysouth float residence; south==1 if in the South areasmsa float smsa==1 if in the Standard metropolitan statistical areams float marital statusfem float female or maleunion float if wage set be a union contracted float years of educationblk float blacklwage float log wageid float t float tdum1 byte t== 1.0000tdum2 byte t== 2.0000tdum3 byte t== 3.0000tdum4 byte t== 4.0000tdum5 byte t== 5.0000tdum6 byte t== 6.0000tdum7 byte t== 7.0000exp2 float ----------------------------------------------------------------------------Sorted by: id t
我们不妨设待估模型为包含被解释变量 lwage 的一阶和二阶滞后项的动态面板模型,控制变量中时变变量包含 exp, exp2, occ, ind, union(occ, ind, union 虽然是虚拟变量,但并非随时间完全不变化,故而在一阶段中作为时变变量进行估计),而我们关心的非时变变量则为 ed, fem 和 blk。
首先进行第一阶段回归,将非时变变量全略去,仅把被解释变量 lwage
对所有时变变量回归。采用的估计量为 Arellano/Bond 的两阶段差分 GMM (two-step difference-GMM estimator) ,外生变量的 IV 则为其本身,标准差则使用 Windmeijer 修正的稳健标准误。
. xtseqreg L(0/2).lwage exp exp2 occ ind union, ///gmmiv(L.lwage, model(difference) lagrange(1 4) collapse) ///iv(exp exp2 occ ind union, difference model(difference)) twostep vce(robust)// 估计该模型所用的命令(命令中的选项可通过help文档详细了解)
Group variable: id Number of obs = 2975Time variable: t Number of groups = 595
Obs per group: min = 5 avg = 5 max = 5
Number of instruments = 10
(Std. Err. adjusted for clustering on id)------------------------------------------------------------------------- | WC-Robust lwage | Coef. Std. Err. z P>|z| [95% Conf. Interval]--------+---------------------------------------------------------------- lwage | L1. | .365887 .1722314 2.12 0.034 .0283197 .7034543 L2. | .1009276 .0732219 1.38 0.168 -.0425848 .2444399 | exp | .0501576 .0282205 1.78 0.076 -.0051536 .1054688 exp2 | -.000206 .000148 -1.39 0.164 -.000496 .000084 occ | -.0428486 .0283624 -1.51 0.131 -.0984379 .0127406 ind | .0481791 .0305408 1.58 0.115 -.0116798 .108038 union | .006991 .0288093 0.24 0.808 -.0494742 .0634562 _cons | 2.737719 1.088102 2.52 0.012 .6050775 4.87036-------------------------------------------------------------------------
在上述第一阶段估计完成后,残差将自动存储,作为被解释变量用于第二阶段的估计。作为一个例子,不妨假设 ed 在二阶段估计中为内生变量,我们使用 occ 作为其 IV。
. xtseqreg lwage (L(1/2).lwage exp exp2 occ ind union) ed fem blk, /// iv(occ fem blk, model(level)) vce(robust)// 二阶段估计的命令
Group variable: id Number of obs = 2975Time variable: t Number of groups = 595
------------------------------------------------------------------------------Equation _first Equation _secondNumber of obs = 2975 Number of obs = 2975Number of groups = 595 Number of groups = 595
Obs per group: min = 5 Obs per group: min = 5 avg = 5 avg = 5 max = 5 max = 5
Number of instruments = 10 Number of instruments = 4
(Std. Err. adjusted for clustering on id)------------------------------------------------------------------------------ | Robust lwage | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------_first | lwage | L1. | .365887 .1722314 2.12 0.034 .0283197 .7034543 L2. | .1009276 .0732219 1.38 0.168 -.0425848 .2444399 | exp | .0501576 .0282205 1.78 0.076 -.0051536 .1054688 exp2 | -.000206 .000148 -1.39 0.164 -.000496 .000084 occ | -.0428486 .0283624 -1.51 0.131 -.0984379 .0127406 ind | .0481791 .0305408 1.58 0.115 -.0116798 .108038 union | .006991 .0288093 0.24 0.808 -.0494742 .0634562 _cons | 2.737719 1.088102 2.52 0.012 .6050775 4.87036-------------+----------------------------------------------------------------_second | ed | .0634885 .0348497 1.82 0.068 -.0048158 .1317927 fem | -.0967082 .0575629 -1.68 0.093 -.2095295 .016113 blk | -.1531252 .1010073 -1.52 0.130 -.351096 .0448456 _cons | -.7936727 .4419754 -1.80 0.073 -1.659929 .0725831------------------------------------------------------------------------------
以上两阶段的估计流程主要是用于演示,xtseqreg
命令也可以一次性估计上述两个阶段,命令写为:
. xtseqreg lwage (L(1/2).lwage exp exp2 occ ind union) ed fem blk, /// gmmiv(L.lwage, model(difference) lagrange(1 4) collapse equation(#1)) /// iv(exp exp2 occ ind union, difference model(difference) equation(#1)) /// iv(occ fem blk, model(level) equation(#2)) twostep vce(robust) both
在模型估计结束后,可以使用estat overid
命令对两个阶段同时进行 Hansen's J-test,检验是否存在过度识别问题。(在本例子中,第二阶段是恰好识别(exactly identified))
. estat overid
Hansen's J-test for equation _first chi2(2) = 0.2935H0: overidentifying restrictions are valid Prob > chi2 = 0.8635
Hansen's J-test for equation _second chi2(0) = 0.0000note: coefficients are exactly identified Prob > chi2 = .
另外也可以使用 estat serial
实现 Arellano-Bond 的序列相关性检验。
. estat serial, ar(1/3)
Arellano-Bond test for autocorrelation of the first-differenced residualsH0: no autocorrelation of order 1: z = -3.3576 Prob > |z| = 0.0008H0: no autocorrelation of order 2: z = -0.4852 Prob > |z| = 0.6275H0: no autocorrelation of order 3: z = 0.2946 Prob > |z| = 0.7683
最后值得一提的是,xtseqreg
命令有很强的灵活性,可以实现大多数以往命令的效果,例如可以使用 xtabond2
实现与上述第一阶段完全一致的结果:
. xtabond2 L(0/2).lwage exp exp2 occ ind union, /// gmmstyle(L.lwage, equation(diff) laglimits(1 4) collapse) /// ivstyle(exp exp2 occ ind union, equation(diff)) /// twostep robust
4. 参考资料和扩展阅读
XTSEQREG: new Stata command for sequential / two-stage (GMM) estimation of linear panel models. -Link- Kripfganz S, Schwarz C. Estimation of linear dynamic panel data models with time‐invariant regressors[J]. Journal of Applied Econometrics, 2019, 34(4): 526-546. Data set and Stata replication file, Online appendix, Discussion at Statalist, -Link-, -PDF- Breitung, J., K. Hayakawa, and S. Kripfganz (2019). Asymptotically efficient method of moments estimators for dynamic panel data models. Working Paper, University of Cologne. -PDF-
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下:连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。