* 估计结果的有效性降低,因为部分工具变量与内生或先决变量的相关性很弱 * 对矩阵尺寸的要求增加
* 解决办法:限制最大的滞后阶数
xtabond n L(0/1).ys yr1980-yr1984, lags(2) twostep /// pre(w,lag(1,3)) pre(k,lag(2,3))
*== 系数估计的上下限
* 虽然 Pooled OLS 和 Fixed Effects 估计都是有偏的, * 但是二者却决定了 y_it-1 真是估计值的上界和下界 * 换言之, Pooled OLS 估计高估了真实值
* 而 Fixed effects 估计则低估了真实值
*======================================= *============= 系统GMM估计量 =========== *==============AB95,BB98=============== *=======================================
* Arellano and Bover (1995), * Blundell and Bond(1998)
* Haha(1999), Judson and Owen(1999) *
* 适用范围: * 大N,小T *
* AB91 的局限
* (1) 当 y[i,t-1] 的系数较大,即 y[i,t] 表现出强烈的序列相关时;
* (2) 当 Var[u_i]/Var[e_it] 较大时,即个体效应的波动远大于常规干扰项的波动; * AB91 的表现欠佳。
* 原因在于,水平滞后项是差分方程中内生变量的-弱工具变量-; * 因此,需要寻求更佳的工具变量 *
*== 基本思想: *
* --- 几个概念 ---
*
* 水平值 —— y x * 差分值 —— D.y D.x
* 水平方程:y_it = b1*y_it-1 + b2*x_it + u_i + v_it * 可用工具变量:D.y[i,t-1] 可以作为 y[i,t-1] 的工具变量 * 差分方程:D.y_it = b1*D.y_it-1 + b2*D.x_it + D.v_it
* 可用工具变量:y[i,t-2],y[i,t-3]...都可以作为 D.y[i,t-1]的工具变量 *
* --- 差分GMM估计量与系统GMM估计量的区别 --- *
* (1) 差分GMM估计量采用水平值的滞后项作为差分变量的工具变量; * 如 y_it-3 是 D.y_it-1 的工具变量
* (2) 系统GMM估计量进一步采用差分变量的滞后项作为水平值的工具变量; * 相当于进一步增加了可用的工具变量,
* 且估计过程中同时使用水平方程和差分方程
* (3) 主要原因在于差分GMM的工具变量往往是弱工具变量,即 corr(X,Z) 过低 *
* --- xtabond2 命令---Roodman(2005) *
* 既可以估计差分 GMM 估计量,也可以估计系统 GMM 估计量; * 同时可以估计一般化的回归模型
* 提供两阶自相关检验,Sargan检验,Hansen检验,以及工具变量外生性检验 *
* --- xtdpdsys 命令--- Stata官方命令,以 xtabond2命令 为基础
*------------------------------------ *---------- xtabond2 命令------------ *------------------------------------ * 适用于 Stata8-10 各个版本 * 既可以完成 -一阶差分GMM估计- * 也可以完成 -系统GMM估计- * 详细参考资料:
* Roodman, D. 2006. How to Do xtabond2:
* An Introduction to \* Working Paper 103. Center for Global Development, Washington.
*== 使用 xtabond2 命令得到 -一阶差分估计量- *- 附加 -noleveleq- 选项即可
* 采用 xtabond2 估计 AB91 文中表4 的结果
* Arellano and Bond (1991), Table 4 * Column (a1)
use abdata, clear
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) yr1980-yr1984) /// nomata noleveleq small
* gmm(*) 填写内生变量的名称
* iv(*) 填写所有外生变量以及自己设定的工具变量的名称
* noleveleq 表示估计过程中不使用水平方程,即为差分GMM估计量 est store aba1_ab2
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) est store aba1_ab
esttab aba1_ab2 aba1_ab, mtitle(aba1_ab2 aba1_ab)
* Column (a2) * 两阶段估计
xtabond2 n L(0/1).w L(0/2).(k ys) L(1/2).n yr1980-yr1984, /// gmm(L.n) iv(L(0/1).w l(0/2).(k ys) yr1980-yr1984) /// noleveleq small twostep est store aba2_ab2
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) twostep est store aba2_ab
esttab aba2_ab2 aba2_ab, mtitle(aba2_ab2 aba2_ab)
*=== 一阶差分估计量 部分解释变量内生 * 一阶段估计
xtabond2 n L.n L(0/1).(w k) yr1980-yr1984, /// gmm(L.(w k n)) iv(yr1980-yr1984) /// noleveleq noconstant small robust est store fd_1s * 两阶段估计
xtabond2 n L.n L(0/1).(w k) yr1980-yr1984, /// gmm(L.(w k n)) iv(yr1980-yr1984) /// noleveleq robust small twostep est store fd_2s
esttab fd_1s fd_2s, mtitle(fd_1s fd_2s)
*== 系统 GMM 估计量
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, /// gmm(L.n) iv(L(0/1).(w k) yr1978-yr1984) /// robust small *
* 解释: *
*-- gmm() 选项
* 设定内生变量和先决变量,它们的工具变量将有多列,GMM *
*-- iv() 选项
* 设定严格外生变量,作为自己的工具变量,在工具变量矩阵中仅占一列 *
*-- 差分方程和水平方程
* 默认情况下,差分方程和水平方程都参与估计 *
*-- robust 选项
* (1) 对于一阶段估计(不附加twostep选项),
* 采用传统异方差-序列相关稳健型估计量计算标准误; * (2) 对于两阶段估计(附加twostep选项),
* 采用Windmeijer(2005)纠偏估计量计算标准误; *-- Sargan检验
* Sargan test of overid. restrictions: chi2(34) * 34 = 47 - 13 (13是外生变量的个数,包含常数项)
* 可见,无论采用Sargan检验还是Hansen J检验,都拒绝了工具变量合理的原假设
* 指定工具变量应用于 水平方程 还是 差分方程
* 例如,假设 w, k, 以及年度虚拟变量都是外生的(当然,这一假设可能并不合理) *
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, gmm(L.n) /// iv(L(0/1).(w k) yr1978-yr1984, eq(level)) /// robust small twostep est store sys_wkexg
* 将 w 和 k 都设定为内生变量 * yr dummies 仅出现在水平方程中
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, /// gmm(L.(w k n)) iv(yr1978-yr1984, eq(level)) /// robust small twostep est store sys_wkendog_lev
* yr dummies 同时出现在水平方程和差分方程中
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, /// gmm(L.(w k n)) iv(yr1978-yr1984, eq(both)) /// robust small twostep est store sys_wkendog_both
* 结果对比
local mm \ esttab `mm', mtitle(`mm') compress
*--------------------------- *------ xtdpdsys 命令------ *--------------------------- * 仅适用于 Stata10 版本
* 中国上市公司资本结构动态调整 use xtcs.dta, clear qui tab year, gen(yr) drop yr1
* Case I:假设所有解释变量均为外生变量(L.tl除外) *
local xx \ xtdpdsys tl `xx', vce(robust) twostep
dis ln(2) / (1 - _b[L1.tl]) /*调整半周期*/ est store dycs_2sys * 设定说明:
* (1) 无需设定 L.tl, 因为 xtdpdsys 默认设定被解释变量的滞后一期为解释变量, * 而且该变量被自动设定为内生变量;
* (2) 稳健型估计采用 vce(robust) 选项加以设定;
* (3) 该命令不会自动进行 AR(2)序列相关检验和Sargan过度识别检验
* 序列相关检验 estat abond * 过度识别检验
estat sargan /*稳健型估计下无法获得Sargan统计量*/ * 正确方法
local xx \ xtdpdsys tl `xx', twostep estat sargan
* Case II:假设Tobin和npr为先决变量
local xx \此处不应再包含 tobin和npr*/ xtdpdsys tl `xx', pre(tobin npr,lag(1,.)) twostep est store dycs_2pre estat abond
estat sargan
* Case III:假设Tobin和npr为内生变量
local xx \此处不应再包含 tobin和npr*/ xtdpdsys tl `xx', endog(tobin npr,lag(1,.)) twostep est store dycs_2endog estat abond estat sargan
* Case IV: 假设除了年度虚拟变量和公司规模外,所有解释变量均为先决变量 local xx \
xtdpdsys tl `xx', pre(tobin npr,lag(1,.)) /// pre(tang ndts) twostep est store dycs_2preAll estat abond
estat sargan
* 假设除 L.tl 外的所有解释变量外生最为合适。
* OLS 估计(调整系数的上限)
local xx \ reg tl L.tl `xx', robust
est store dycs_2OLS
* FE 估计(调整系数的下限)
local xx \ xtreg tl L.tl `xx', robust fe est store dycs_2FE
* 结果对比
local mm \ local ss \
esttab `mm',mtitle(`mm') scalar(`ss') compress
* 结论:
* (1) 估计出的调整系数介于合理的范围内,即OLS和FE之间;
* (2) 就模型设定而言,dycs_2sys 最为合理,即把所有解释变量均设定为外生变量。 *
* 调整半周期为:
local xx \ xtdpdsys tl `xx', vce(robust) twostep
dis ln(2) / (1 - _b[L1.tl]) /*调整半周期*/
xtabond2 logy l.logy h inv gov open fdi yr4-yr14, /// gmm(l.logy h) iv(gov open fdi yr4-yr14)robust twostep