startuml动态模型工具_Stata实操陷阱:动态面板数据模型

? 连享会主页:lianxh.cn

startuml动态模型工具_Stata实操陷阱:动态面板数据模型_第1张图片

New! lianxh 命令发布了:
随时搜索 Stata 推文、教程、手册、论坛,安装命令如下:. ssc install lianxh

连享会 · 最受欢迎的课


? 2021 Stata 寒假班
⌚ 2021 年 1.25-2.4

? 主讲:连玉君 (中山大学);江艇 (中国人民大学)

? 课程主页:https://gitee.com/arlionn/PX

startuml动态模型工具_Stata实操陷阱:动态面板数据模型_第2张图片

作者:李琼琼 (山东大学)
邮箱:[email protected]


目录

  • 1. 问题背景

  • 2. FD-GMM 还是 SYS-GMM

  • 3. 关于动态面板模型估计的 Stata 命令

    • 3.1 动态面板模型案例

    • 3.2 FD-GMM 的实现

    • 3.3 SYS-GMM 的实现

    • 3.4 模型估计结果比较

  • 4. 解释变量中含有内生变量

  • 5. 干扰项序列相关检验无法通过

  • 6. 过度识别检验无法通过

  • 7. 大 T 小 N 型面板数据

  • 8. 参考文献

    • 相关推文

  • 9. Appendix 本文涉及的 Stata 代码


1. 问题背景

关于动态面板数据模型 (dynamic panel data,DPD),我们常常会遇到如下问题:

  • 如何在一阶差分 GMM 和系统 GMM 间选择;
  • 该用 Stata 哪个命令对模型进行估计;
  • 当解释变量中含有内生变量时,应该如何对模型进行估计;
  • 干扰项序列相关检验无法通过怎么办;
  • 过度识别检验无法通过怎么办;
  • 大 T 小 N 型面板能否用 GMM 进行估计。

接下来,本文将对上述问题提出对应的解决方案。

2. FD-GMM or SYS-GMM

需要强调的是,无论 一阶差分 GMM (FD-GMM) 还是系统 GMM (SYS-GMM),模型设定是不受影响的,并且二者仅在计量估计方法上不一样,即矩条件不同。SYS-GMM 使用的矩条件多,利用的信息也多,估计也更有效率,但其受到的限制也多,如假定被解释变量的一阶差分项与个体效应变量不相关。更多细节,请参考「连享会」主页专题「IV-GMM」。

那么,在估计模型时该选择哪种估计方法呢?

Bond (2002) 认为当被解释变量的一阶滞后项系数 不是很大时,如 ,FD-GMM 估计结果较好,而当 时,SYS-GMM 较好。

此外,若对性别、户口、行业等不随时间变化变量感兴趣,则必须使用 SYS-GMM 估计。

温馨提示: 文中链接无法在微信中打开,请点击

3. 动态面板模型估计 Stata 命令

动态面板数据模型的估计主要有 4 个 Stata 命令,其中官方命令为 xtabondxtdpdsysxtdpd,非官方命令为 xtabond2,具体如下:

  • xtabond 用于 FD-GMM 估计;
  • xtdpdsys 用于 SYS-GMM 估计;
  • xtdpd 用于 FD-GMM 和 SYS-GMM 估计;
  • xtabond2 用于 FD-GMM 和 SYS-GMM 估计。

其中,xtabond2 可以提供由异方差调整后的 Hansen 统计量。

3.1 动态面板模型案例

接下来,我们将使用 Arellano and Bond (1991) 在研究企业雇佣员工数量的影响因素时的数据 abdata.dta,来说明 GMM 相关命令的应用。其中,模型设定如下:

  • ,企业 在第 年末雇佣员工数量的对数值;
  • ,企业 在第 年末雇佣员工数量的对数值;
  • ,表示解释变量 及其滞后项,具体包括:
    • 和 (即企业 在第 和 年实际工资的对数);
    • 、 和 (即企业 在第 、 和 年资本存量的对数);
    • 、 和 (即企业 所在行业在第 、 和 年总产出的对数);
  • 为年份虚拟变量,其含义为总需求每年受到的外部冲击,也可表示为 i.yr1979-yr1984

3.2 FD-GMM 的实现

采用 xtabond 命令 进行 FD-GMM 估计

xtabond 命令语法格式:

xtabond depvar [indepvars] [if] [in] [,options]

主要选项的含义为:

  • depvar:被解释变量;
  • indepvars:严格外生的解释变量;
  • noconstant:无常数项;
  • lags(p):表示使用被解释变量 p 阶滞后值作为解释变量,默认一阶滞后 lags(1)
  • maxldep(q):表示最多使用 q 阶被解释变量的滞后值作为工具变量,默认使用所有可能的滞后值;
  • endogenous():内生解释变量,可使用多次;
  • twostep:两阶段估计,可修正 Sargan 统计量;
  • inst():其他的工具变量 (除解释变量滞后项以外);
  • vce():默认为 vce(gmm),计算得到普通 GMM 标准误,vce(robust) 为异方差稳健稳健标准误。

xtabond 估计命令:

*数据下载地址
*https://gitee.com/arlionn/data/blob/master/data01/abdata.dta
use abdata, clear // 调用数据
*-or
webuse abdata, clear // 部分版本的 Stata 可能无法执行
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
lags(2) twostep vce(robust) // L(0/1).w 表示 w 的当期值与一阶滞后
est store Fdxtabond

采用 xtdpd 命令 进行 FD-GMM 估计

xtdpd 命令语法格式:

 xtdpd depvar [indepvars] [if] [in] , dgmmiv(varlist [...]) [options]

主要选项的含义为:

  • dgmmiv(varlist [, lagrange(flag [llag])]):指定内生的被解释变量或者内生解释变量,以及其滞后项作为差分方程的 GMM 式工具变量,默认 flag 为 2,比如 dgmmiv(y , lagrange(2 4)) 将变量的 y 的 2-4 阶滞后项作为工具变量,dgmmiv(y) 将变量的 y 的 2-n 阶滞后项作为工具变量;
  • lgmmiv(varlist [, lag(#)]):将被解释变量或者内生解释变量的一阶差分的 # 阶滞后作为水平方程的 GMM 型工具变量,默认阶数为 1;
  • iv(varlist [, nodifference]):指定外生变量的一阶差分项作为差分方程的标准型的工具变量,加上 nodifference 后作为水平方程的标准型的工具变量;
  • div(varlist):为差分方程设定额外的标准型工具变量;
  • liv(varlist):为水平方程设定额外的标准型工具变量;
  • twostepvce() 含义与 xtabond 命令相同。

xtdpd 估计命令:

xtdpd n l(1/2).n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
dgmmiv(n) div(L(0/1).w L(0/2).(k ys)) ///
div(yr1980-yr1984) twostep vce(robust)
est store Fdxtdpd

采用 xtabond2 命令 进行 FD-GMM 估计

xtabond2 命令语法格式:

xtabond2 depvar varlist [if] [in]  ///
[, gmm(varlist [, laglimits(a b) collapse)]) ///
iv(varlist [, equation()]) ///
nolevel nocons twostep robust
]

主要选项的含义为:

  • gmm():指定指定内生的被解释变量或者内生解释变量,以及其滞后项作为 GMM 式工具变量,laglimits(a b) 限定工具变量滞后的阶数,默认为 1 到 n,collapse 系统自动删减工具变量地个数;
  • iv(varlist [, equation()]):指定 IV 式工具变量,equation({diff | level | both}) 对差分方程和水平方程进行选择;
  • nolevel:表示不估计水平方程,进行 FD-GMM 估计,默认为SYS-GMM估计;
  • robust:异方差稳健标准误。

xtabond2 估计命令:

*ssc install xtabond2, replace // xtabond2 是外部命令需要下载
xtabond2 n l(1/2).n l(0/1).w l(0/2).(k ys) yr1980-yr1984, ///
gmm(l.n) iv(l(0/1).w l(0/2).(k ys)) ///
iv(yr1980-yr1984) ///
nolevel twostep robust
est store Fdxtabond2


3.3 SYS-GMM 的实现

采用 xtdpdsys 命令进行 SYS-GMM 估计

xtdpdsys 命令语法格式:

xtdpdsys depvar [indepvars] [if] [in] [,options]

主要选项的含义为:

  • noconstant:无常数项;
  • lags(p):表示使用被解释变量 p 阶滞后值作为解释变量,默认一阶滞后;
  • maxldep(q):表示最多使用 q 阶被解释变量的滞后值作为工具变量,,默认使用所有可能的滞后值;
  • pre():指定前定变量;
  • endogenous ():指定内生解释变量,可使用多次;
  • twostepvce():与 xtabond 命令相同。

xtdpdsys 估计命令:

xtdpdsys n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
lags(2) twostep vce(robust)
est store Sysxtdpdsys

采用 xtdpd 命令进行 SYS-GMM 估计

xtdpd 估计命令:

xtdpd n L(1/2).n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
dgmmiv(n) lgmmiv(n) div(L(0/1).w L(0/2).(k ys)) ///
div(yr1980-yr1984) twostep vce(robust)
est store Sysxtdpd

采用 xtabond2 命令进行 SYS-GMM 估计

xtabond2 估计命令:

xtabond2 n l(1/2).n l(0/1).w l(0/2).(k ys) yr1980-yr1984, ///
gmm(l.n) iv(l(0/1).w l(0/2).(k ys), eq(diff)) ///
iv(yr1980-yr1984,eq(diff)) twostep robust
est store Sysxtabond2

3.4 模型估计结果比较

local mm "Fdxtabond Fdxtdpd Fdxtabond2 Sysxtdpdsys Sysxtdpd Sysxtabond2"
esttab `mm', mtitle(`mm') compress star(* 0.1 ** 0.05 *** 0.01) b(%10.3f) nogap
----------------------------------------------------------------------------------------
(1) (2) (3) (4) (5) (6)
Fdxtabond Fdxtdpd Fdxtabo~2 Sysxtdp~s Sysxtdpd Sysxtab~2
----------------------------------------------------------------------------------------
L.n 0.656*** 0.656*** 0.656*** 0.977*** 0.977*** 1.057***
(3.34) (3.34) (7.29) (6.89) (6.89) (12.83)
L2.n -0.073 -0.073 -0.073*** -0.084** -0.084** -0.091**
(-1.61) (-1.61) (-2.70) (-2.00) (-2.00) (-2.05)
w -0.513*** -0.513*** -0.513*** -0.563*** -0.563*** -0.526***
(-3.43) (-3.43) (-9.55) (-3.73) (-3.73) (-2.98)
L.w 0.329 0.329 0.329*** 0.567*** 0.567*** 0.558**
(1.59) (1.59) (3.42) (2.67) (2.67) (2.41)
k 0.269*** 0.269*** 0.269*** 0.285*** 0.285*** 0.274***
(3.89) (3.89) (6.15) (4.26) (4.26) (4.39)
L.k 0.022 0.022 0.022 -0.088 -0.088 -0.108
(0.26) (0.26) (0.43) (-1.01) (-1.01) (-1.32)
L2.k -0.041 -0.041 -0.041 -0.096** -0.096** -0.114***
(-0.96) (-0.96) (-1.58) (-2.22) (-2.22) (-2.88)
ys 0.592*** 0.592*** 0.592*** 0.614*** 0.614*** 0.642***
(3.56) (3.56) (5.13) (3.45) (3.45) (3.73)
L.ys -0.572** -0.572** -0.572*** -0.765*** -0.765*** -0.756***
(-2.23) (-2.23) (-4.10) (-3.10) (-3.10) (-2.82)
L2.ys 0.117 0.117 0.117 0.114 0.114 0.127
(0.73) (0.73) (1.03) (0.66) (0.66) (0.67)
yr1980 0.009 0.009 0.009 0.009 0.009 0.017
(0.65) (0.65) (0.86) (0.56) (0.56) (1.14)
yr1981 -0.035 -0.035 -0.035* -0.025 -0.025 -0.017
(-1.27) (-1.27) (-1.75) (-0.84) (-0.84) (-0.59)
yr1982 -0.043 -0.043 -0.043** -0.030 -0.030 -0.019
(-1.49) (-1.49) (-2.05) (-0.93) (-0.93) (-0.70)
yr1983 -0.028 -0.028 -0.028 -0.010 -0.010 0.007
(-0.85) (-0.85) (-1.29) (-0.27) (-0.27) (0.24)
yr1984 -0.034 -0.034 -0.034 -0.021 -0.021 -0.008
(-1.03) (-1.03) (-1.50) (-0.62) (-0.62) (-0.28)
_cons 0.494 0.494 0.325 0.325 -0.103
(0.74) (0.74) (0.49) (0.49) (-0.14)
----------------------------------------------------------------------------------------
N 611 751 611 751 751 751
----------------------------------------------------------------------------------------

t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01

由上表可以看出,在 FD-GMM 估计中,雇佣员工数量对数的一阶滞后项的系数在 0.6 左右,而在 SYS-GMM 估计中的系数为 0.9 左右,同时,SYS-GMM 估计结果整体偏高,并且各个系数显著性水平也更高。

对于 FD-GMM 估计,三种命令估计的结果相同,因此在做 FD-GMM 时,选择三者之中任意命令对结果没有影响,而对于 SYS-GMM 估计,xtdpdsys 和  xtdpd 的估计结果一致,而 xtabond2 估计结果与前面两个命令有差异。

4. 解释变量中含有内生变量

考虑如下模型:

其中, 是一个典型的内生变量,这里用 作为 的工具变量,假设 为内生解释变量,使用其二阶及更高阶的滞后项 作为工具变量 。

具体命令使用:

  • xtabond: endogenous() 选项来设定内生解释变量,在本例中为 endogenous(k),如果限定使用 工具变量的个数,比如只使用二阶和三阶滞后项,则可以设定为 endogenous(k, lag(0 2)); 如果内生变量为 的滞后一期,则可以设定为 endogenous(k, lag(1 2)),此时工具变量为滞后项的二、三阶滞后项
  • xtdpddgmmiv()  和 lgmmiv()选项来设定内生变量  (包括被解释变量和解释变量),当使用 FD-GMM 估计时,设定为 dgmmiv(y k),而使用SYS-GMM估计时,则设定为dgmmiv(y k) lgmmiv(y k)
  • xtabond2gmm() 选项来设定内生变量 (包括被解释变量和解释变量),对于内生被解释变量设定为 gmm(l.y)  或者 gmm(y, lag(2 .)) ,为将解释变量的二阶及所有高阶滞后项作为工具变量;对于内生解释变量设定为gmm(k) ,其含义是将解释变量的一阶及所有高阶滞后项作为工具变量,若设定成gmm(k, lag(2 3))则为将解释变量的二阶和三阶滞后项作为工具变量
  • xtdpdsysendogenous() 选项来设定内生解释变量,设定为endogenous(k) ,表示将内生解释变量 k 的二阶及所有高阶滞后项作为工具变量;设定为endogenous(k lag(0, 2)) ,表示将内生解释变量 k 的二阶和三阶滞后项作为工具变量,其中 0 为变量 k 的当期值作为内生变量,2 表示内生变量 k 的滞后 2 阶和 3 阶项作为工具变量;若设定为 endogenous(k, lag(1, 3))表示将内生解释变量 L.k ( k 的一阶滞后项) 的二、三、四阶滞后项 (即 L(2/4).L.k) 作为工具变量
*以abdata.dta数据为例,假设资本存量 k 为内生变量,k 的设定如下

xtabond n L(0/1).w L(0/2).ys yr1980-yr1984, lags(2) endogenous(k) twostep vce(robust)

xtabond n L(0/1).w L(0/2).ys yr1980-yr1984, lags(2) endogenous(k, lag(0, 2)) twostep vce(robust)
// 限定内生解释变量工具变量的滞后阶数

xtabond n L(0/1).w L(0/2).ys yr1980-yr1984, lags(2) endogenous(k, lag(1, 2)) twostep vce(robust)
// 设定滞后项的内生解释变量

xtdpd n L(1/2).n L(0/1).w L(0/2).ys k yr1980-yr1984, dgmmiv(n k) div(L(0/1).w L(0/2).ys) ///
div(yr1980-yr1984) twostep vce(robust) // FD-GMM 估计

xtdpd n L(1/2).n L(0/1).w L(0/2).ys k yr1980-yr1984, dgmmiv(n k) lgmmiv(n k) ///
div(year yr1979-yr1984) nocons hascons vce(robust) // SYS-GMM 估计

xtabond2 n l(1/2).n l(0/1).w l(0/2).ys k yr1980-yr1984, ///
gmm(l.n k) iv(l(0/1).w l(0/2).ys) iv(yr1980-yr1984) nolevel twostep robust

xtabond2 n l(1/2).n l(0/1).w l(0/2).ys k yr1980-yr1984, ///
gmm(l.n) gmm(k, lag(2 3)) iv(l(0/1).w l(0/2).ys) iv(yr1980-yr1984) nolevel twostep robust
// 限定内生解释变量工具变量的滞后阶数

xtdpdsys n L(0/1).w L(0/2).ys k yr1980-yr1984, ///
lags(2) endog(k) twostep vce(robust) // SYS-GMM 估计

xtdpdsys n L(0/1).w L(0/2).ys k yr1980-yr1984, ///
lags(2) endog(k, lag(0, 2)) twostep vce(robust) // 限定内生解释变量工具变量的滞后阶数

xtdpdsys n L(0/1).w L(0/2).ys k yr1980-yr1984, ///
lags(2) endogenous(k, lag(1, 3)) twostep vce(robust) // 设定滞后项的内生解释变量

5. 干扰项序列相关检验无法通过

Arellano and Bond (1991) 估计工具变量的设定关键点:

换言之,FD-GMM 和 SYS-GMM 成立的前提是扰动项 {} 不存在序列相关,否则就会导致内生性问题。因此,需要对扰动项序列相关进行检验,具体如下:

原假设:扰动项不存在序列相关;

  • “扰动项的一阶差分” 存在自相关:
  • 扰动项的差分不存在二阶或更高的自相关:

故可通过检验扰动项的差分是否存在二阶 (或更高阶) 的自相关来检验原假设。

Stata 命令为 estat abond

xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) twostep vce(robust)
estat abond
Arellano-Bond test for zero autocorrelation in first-differenced errors
+-----------------------+
|Order | z Prob > z|
|------+----------------|
| 1 |-2.1783 0.0294 |
| 2 |-.30351 0.7615 |
+-----------------------+
H0: no autocorrelation

可以看出,在 5% 的显著性水平下,扰动项的差分存在一阶自相关,但不存在二阶自相关,故不拒绝原假设。

如果无法通过序列相关检验,主要原因可能是干扰项中包含了一些序列相关特征较为明显的变量。此时,我们可以通过增加解释变量,以使干扰项变得更「干净」。具体设定如下:

  • 加入时间虚拟变量;
  • 加入部分解释变量的滞后项 (要有一定的理论依据);
  • 加入被解释变量的滞后项,可以通过 xtabond 命令的 lag(#) 选项来设定。

需要特别说明的是,序列相关检验和过度识别检验往往要同步进行。因为,如果选择的工具变量不妥 (表现为过度识别检验无法通过),序列相关检验也就没有了根基。

6. 过度识别检验无法通过

在工具变量大于内生变量个数时,需要进行过度识别检验。基本原理是检验工具变量是否是与干扰项相关,即工具变量是否为外生变量。具体如下:

原假设:所有工具变量都是外生;

方法:在 xtabond 命令以后,使用 estat sargan 命令。

quietly xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2)  // 不使用 VCE(robust)
estat sargan // 过度识别检验
Sargan test of overidentifying restrictions
H0: overidentifying restrictions are valid
chi2(25) = 61.26444
Prob > chi2 = 0.0001

可以看出,该结果拒绝了原假设,即认为存在工具变量和干扰项是相关。但是 Arellano and Bond (1991) 指出,当干扰项存在异方差时, Sargan 检验倾向于过度拒绝原假设,因此得到的结论并不可信。建议采用两阶段估计,再执行 Sargan 检验比较稳妥。

quietly xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, twostep lags(2)   // 不使用 VCE(robust)
estat sargan // 使用两阶段估计后的过度识别检验
Sargan test of overidentifying restrictions
H0: overidentifying restrictions are valid
chi2(25) = 29.34445
Prob > chi2 = 0.2498

可以看出,结果没有拒绝原假设,即工具变量与扰动项不相关。

实际上,Sargan 检验是联合检验:(1) 模型的设定正确 (2) 工具变量合理。因此,若拒绝原假设,则说明前面两个假设至少有一个存在问题。此时,应该先考虑模型的设定是否有问题,进而分析工具变量的设定是否合理。

关于工具变量,通常使用 作为 的工具变量,但当 较大时,就会有很多个工具变量。显然,随着 的增加, 会越来越小。一般而言,当 以后,对应的工具变量很可能是弱工具变量,即  与 的相关性很低。

通过减少工具变量的使用,一定程度上可以避免弱工具变量问题。在 xtabond 命令中,可以使用 maxldep(#) 来限制工具变量的最大滞后阶数,进而达到限制工具变量总数的目的。例如,xtabond y x, maxldep(5) 意味着最多只用五个滞后项 (注意:不是五阶滞后),即用 作为 的工具变量。

未使用 maxldep() 选项,GMM 式工具变量为 L(2/.).n,具体如下:

xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, twostep  lags(2)

Instruments for differenced equation
GMM-type: L(2/.).n
Standard: D.w LD.w D.k LD.k L2D.k D.ys LD.ys L2D.ys D.yr1980
D.yr1981 D.yr1982 D.yr1983 D.yr1984

使用 maxldep() 选项,GMM 式工具变量为 L(2/6).n,具体如下:

xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, twostep lags(2) maxldep(5)
Instruments for differenced equation
GMM-type: L(2/6).n
Standard: D.w LD.w D.k LD.k L2D.k D.ys LD.ys L2D.ys D.yr1980
D.yr1981 D.yr1982 D.yr1983 D.yr1984

使用其他动态面板回归命令的方法:

  • xtdpd 命令:使用 dgmmiv(n, lagrange(2 5)),将被解释变量的 2-5 阶滞后项作为 的工具变量;
  • xtabond2 命令:使用 gmm(l.n, laglimits(2 5) collapse))laglimits() 限制滞后项的阶数,collapse 系统自动删减工具变量;
  • xtdpdsys 命令:使用 maxldep(5),表示最多使用被解释变量的 5 阶滞后作为工具变量。

7. 大 T 小 N 型面板数据

上面介绍的 FD-GMM 和 SYS-GMM 适用于 大 N 小 T 的短面板数据,当研究样本为长面板数据 (大 T 小 N) 时,比如省级面板数据,GMM 估计可能不是最有效的。根据 Bruno(2005) 的做法,基于 Bootstrap 偏差纠正的 LSDV 估计可以在一定程度上克服 N 较小的问题。

下面,将通过一个模拟例子,来对 FD-GMM、SYS-GMM 和 bias corrected LSDV 的估计效果进行比较。

数据生成过程 (DPG)

该面板数据包含 10 个个体的 60 期数据,即 , ,变量具体构造如下:

对应 Stata 命令:

clear all
help xtarsim // xtarsim 是模拟生成面板数据的命令
xtarsim y x eta, n(10) t(60) gamma(0.9) beta(0.8) rho(0.2) one(corr 1) sn(9) seed(1234)

模型估计

xtabondxtdpdsys 命令进行 FD-GMM 和 SYS-GMM 估计:

xtabond y x
est store FdGMM
xtdpdsys y x
est store SysGMM

xtlsdvc 命令进行 bias corrected LSDV 估计:

help xtlsdvc // 外部命令,需要下载安装词命令
xtlsdvc y x, initial(ab) vcov(50) // vcov(50) 计算标准误、显著性,需要较长等待时间
*initial(ab) 表示选择 Arellano 和 Bond (1991) 提出的 FD-GMM 估计为偏差纠正的初始量
est store LSDVab
xtlsdvc y x, initial(bb) vcov(50) // vcov(50) 计算标准误、显著性,需要较长等待时间
*initial(ab) 表示选择 Blundell 和 Bond (1998) 提出的 Sys-GMM 估计为偏差纠正的初始量
est store LSDVbb
local mm "FdGMM SysGMM LSDVab LSDVbb"
esttab `mm', mtitle(`mm') compress star(* 0.1 ** 0.05 *** 0.01)

估计结果为:


--------------------------------------------------------------
(1) (2) (3) (4)
FdGMM SysGMM LSDVab LSDVbb
--------------------------------------------------------------
L.y 0.874*** 0.870*** 0.894*** 0.896***
(50.50) (55.79) (54.83) (55.32)

x 0.842*** 0.863*** 0.836*** 0.837***
(19.20) (20.95) (21.71) (21.75)

_cons 0.105** 0.109**
(2.33) (2.42)
--------------------------------------------------------------
N 580 590 590 590
--------------------------------------------------------------
t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01

把数据模拟中的 的系数由 0.9 变为 0.4,重复上述过程,再对估计结果进行比较。

clear all
xtarsim y x eta, n(10) t(60) gamma(0.4) beta(0.8) rho(0.2) one(corr 1) sn(9) seed(1234)
xtabond y x
est store FdGMM
xtdpdsys y x
est store SysGMM
xtlsdvc y x, initial(ab) vcov(50)
est store LSDVab
xtlsdvc y x, initial(bb) vcov(50)
est store LSDVbb
local mm "FdGMM SysGMM LSDVab LSDVbb"
esttab `mm', mtitle(`mm') compress star(* 0.1 ** 0.05 *** 0.01)

估计结果为:

--------------------------------------------------------------
(1) (2) (3) (4)
FdGMM SysGMM LSDVab LSDVbb
--------------------------------------------------------------
L.y 0.393*** 0.390*** 0.396*** 0.396***
(27.72) (32.09) (26.65) (26.17)

x 0.812*** 0.812*** 0.812*** 0.812***
(58.10) (61.98) (67.61) (66.06)

_cons 0.589*** 0.593***
(13.03) (13.28)
--------------------------------------------------------------
N 580 590 590 590
--------------------------------------------------------------
t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01

可以看出,当 的系数为 0.4, XTLSDVC 的优势非常有限;而当 的系数为 0.9 时,XTLSDVC 的优势比较明显。

8. 参考文献

温馨提示: 文中链接在微信中无法生效。请点击底部

  • Arellano M., S. Bond, 1991, Some tests of specification for panel data: monte carlo evidence and an application to employment equations. The Review of Economic Studies, 58(2), 277-297.   -Link-
  • Blundell R.W., and S.R. Bond, 1998, Initial Conditions and Moment Restrictions in Dynamic Panel Data Models. Journal of Econometrics,87,115-143.   -Link-
  • Bond, S., 2002, Dynamic panel data models: A guide to micro data methods and practice. Portuguese Economic Journal, 1 (2): 141-162.   -Link-
  • Bruno, G. S. F., 2005, Approximating the bias of the LSDV estimator for dynamic unbalanced panel data models. Economics Letters, 87(3), 361–366.   -Link-

相关推文

  • 专题:专题课程
    • ⏩直播:动态面板数据模型
  • 专题:面板数据
    • Stata: 动态面板门槛模型
    • Stata:xtabond命令中的endog()选项设定问题
    • Stata面板:suest支持面板数据的似无相关检验
    • Stata数据处理:xtbalance-非平衡面板之转换
    • Stata新命令-tobalance:非平行面板转换为平行面板数据
    • Stata: 面板数据模型一文读懂
  • 专题:空间计量
    • 空间面板数据模型及Stata实现

连享会 · 名师讲坛


? 空间计量 专题
⌚ 2020.12.10-13

? 主讲:杨海生 (中山大学);范巧 (兰州大学)

? 课程主页:https://gitee.com/arlionn/SP

startuml动态模型工具_Stata实操陷阱:动态面板数据模型_第3张图片

9. 本文涉及的 Stata 代码

*https://gitee.com/arlionn/data/blob/master/data01/abdata.dta
use abdata, clear // 调用数据
*-or
webuse abdata, clear // 部分版本的 Stata 可能无法执行
*- FD-GMM 估计
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
lags(2) twostep vce(robust) // L(0/1).w 表示 w 的当期值与一阶滞后
est store Fdxtabond

xtdpd n l(1/2).n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
dgmmiv(n) div(L(0/1).w L(0/2).(k ys)) ///
div(yr1980-yr1984) twostep vce(robust)
est store Fdxtdpd

*ssc install xtabond2, replace // xtabond2 是外部命令需要下载
xtabond2 n l(1/2).n l(0/1).w l(0/2).(k ys) yr1980-yr1984, ///
gmm(l.n) iv(l(0/1).w l(0/2).(k ys)) ///
iv(yr1980-yr1984) ///
nolevel twostep robust
est store Fdxtabond2

*- SYS-GMM 估计
xtdpdsys n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
lags(2) twostep vce(robust)
est store Sysxtdpdsys

xtdpd n L(1/2).n L(0/1).w L(0/2).(k ys) yr1980-yr1984, ///
dgmmiv(n) lgmmiv(n) div(L(0/1).w L(0/2).(k ys)) ///
div(yr1980-yr1984) twostep vce(robust)
est store Sysxtdpd

xtabond2 n l(1/2).n l(0/1).w l(0/2).(k ys) yr1980-yr1984, ///
gmm(l.n) iv(l(0/1).w l(0/2).(k ys), eq(diff)) ///
iv(yr1980-yr1984,eq(diff)) twostep robust
est store Sysxtabond2

*- FD-GMM 估计和 SYS-GMM 估计结果呈现
local mm "Fdxtabond Fdxtdpd Fdxtabond2 Sysxtdpdsys Sysxtdpd Sysxtabond2"
esttab `mm', mtitle(`mm') compress star(* 0.1 ** 0.05 *** 0.01) b(%10.3f) nogap

*- 解释变量中含有内生变量(K为内生变量)
xtabond n L(0/1).w L(0/2).ys yr1980-yr1984, lags(2) endogenous(k) twostep vce(robust)

xtabond n L(0/1).w L(0/2).ys yr1980-yr1984, lags(2) endogenous(k, lag(0, 2)) twostep vce(robust)
// 限定内生解释变量工具变量的滞后阶数

xtabond n L(0/1).w L(0/2).ys yr1980-yr1984, lags(2) endogenous(k, lag(1, 2)) twostep vce(robust)
// 设定滞后项的内生解释变量

xtdpd n L(1/2).n L(0/1).w L(0/2).ys k yr1980-yr1984, dgmmiv(n k) div(L(0/1).w L(0/2).ys) ///
div(yr1980-yr1984) twostep vce(robust) // FD-GMM 估计

xtdpd n L(1/2).n L(0/1).w L(0/2).ys k yr1980-yr1984, dgmmiv(n k) lgmmiv(n k) ///
div(year yr1979-yr1984) nocons hascons vce(robust) // SYS-GMM 估计

xtabond2 n l(1/2).n l(0/1).w l(0/2).ys k yr1980-yr1984, ///
gmm(l.n k) iv(l(0/1).w l(0/2).ys) iv(yr1980-yr1984) nolevel twostep robust

xtabond2 n l(1/2).n l(0/1).w l(0/2).ys k yr1980-yr1984, ///
gmm(l.n) gmm(k, lag(2 3)) iv(l(0/1).w l(0/2).ys) iv(yr1980-yr1984) nolevel twostep robust
// 限定内生解释变量工具变量的滞后阶数

xtdpdsys n L(0/1).w L(0/2).ys k yr1980-yr1984, ///
lags(2) endog(k) twostep vce(robust) // SYS-GMM 估计

xtdpdsys n L(0/1).w L(0/2).ys k yr1980-yr1984, ///
lags(2) endog(k, lag(0, 2)) twostep vce(robust) // 限定内生解释变量工具变量的滞后阶数

xtdpdsys n L(0/1).w L(0/2).ys k yr1980-yr1984, ///
lags(2) endogenous(k, lag(1, 3)) twostep vce(robust) // 设定滞后项的内生解释变量

*- 序列相关检验
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) twostep vce(robust)
estat abond

*- 过度识别检验
quietly xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) // 不使用 VCE(robust)
estat sargan

quietly xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, twostep lags(2) // 不使用 VCE(robust)
estat sargan // 使用两阶段估计后的过度识别检验

xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, twostep lags(2) // 未使用 maxldep() 限定GMM式工具变量数量
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, twostep lags(2) maxldep(5) // 使用 maxldep()

*- 大 T 小 N 动态面板数据
clear all
help xtarsim // xtarsim 是模拟生成面板数据的命令
xtarsim y x eta, n(10) t(60) gamma(0.9) beta(0.8) rho(0.2) one(corr 1) sn(9) seed(1234)
// y的一阶滞后项系数为0.9

xtabond y x
est store FdGMM
xtdpdsys y x
est store SysGMM

help xtlsdvc // 外部命令,需要下载安装词命令
xtlsdvc y x, initial(ab) vcov(50) // vcov(50) 计算标准误、显著性,需要较长等待时间
*initial(ab) 表示选择 Arellano 和 Bond (1991) 提出的 FD-GMM 估计为偏差纠正的初始量
est store LSDVab
xtlsdvc y x, initial(bb) vcov(50) // vcov(50) 计算标准误、显著性,需要较长等待时间
*initial(ab) 表示选择 Blundell 和 Bond (1998) 提出的 Sys-GMM 估计为偏差纠正的初始量
est store LSDVbb

local mm "FdGMM SysGMM LSDVab LSDVbb"
esttab `mm', mtitle(`mm') compress star(* 0.1 ** 0.05 *** 0.01)

clear all
xtarsim y x eta, n(10) t(60) gamma(0.4) beta(0.8) rho(0.2) one(corr 1) sn(9) seed(1234)
// y的一阶滞后项系数为0.4
xtabond y x
est store FdGMM
xtdpdsys y x
est store SysGMM
xtlsdvc y x, initial(ab) vcov(50)
est store LSDVab
xtlsdvc y x, initial(bb) vcov(50)
est store LSDVbb
local mm "FdGMM SysGMM LSDVab LSDVbb"
esttab `mm', mtitle(`mm') compress star(* 0.1 ** 0.05 *** 0.01)


? ? ? ?
连享会主页:? www.lianxh.cn
直播视频:lianxh.duanshu.comstartuml动态模型工具_Stata实操陷阱:动态面板数据模型_第4张图片

免费公开课:

  • 直击面板数据模型:https://gitee.com/arlionn/PanelData - 连玉君,时长:1小时40分钟
  • Stata 33 讲:https://gitee.com/arlionn/stata101 - 连玉君, 每讲 15 分钟.
  • Stata 小白的取经之路:https://gitee.com/arlionn/StataBin - 龙志能, 2 小时
  • 部分直播课课程资料下载 ? https://gitee.com/arlionn/Live (PPT,dofiles等)

温馨提示: 文中链接在微信中无法生效,请点击底部


关于我们

  • ? 连享会 ( 主页:lianxh.cn ) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • ? 直达连享会:百度一下:连享会】即可直达连享会主页。亦可进一步添加 主页,知乎,面板数据,研究设计 等关键词细化搜索。
  • New! lianxh 命令发布了: 在 Stata 命令窗口中输入 ssc install lianxh 即可安装,随时搜索连享会推文、Stata 资源,详情:help lianxh

startuml动态模型工具_Stata实操陷阱:动态面板数据模型_第5张图片 连享会主页  lianxh.cn

?  连享会小程序:扫一扫,看推文,看视频……

startuml动态模型工具_Stata实操陷阱:动态面板数据模型_第6张图片

? 扫码加入连享会微信群,提问交流更方便

startuml动态模型工具_Stata实操陷阱:动态面板数据模型_第7张图片

? 连享会学习群-常见问题解答汇总:
?  https://gitee.com/arlionn/WD

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:. ssc install lianxh
使用详情参见帮助文件 (有惊喜):. help lianxh

你可能感兴趣的:(startuml动态模型工具)