||
货币政策立场与银行风险承担_基于_省略_的实证研究_2000_2010_.pdf
交通基础设施投资与居民收入——来自中国农村的经验证据.pdf
1. xtdpdsys是stata10以后官方发布的命令,语法格式更为简洁;而xtabond2则是Roodman(2009)发布的个人编写的命令,语法格式较为繁复。
2. xtdpdsys可以通过pre()选项将部分解释变量设定为predetermined(前定变量),亦可通过endog()选项将部分解释变量设定为内生变量;而xtabond2则只能通过gmm()选项将部分解释变量设定为内生变量,并未能支持前定变量的设定;
3. xtdpdsys执行后无法直接报告sargan统计量和AR2统计量(需要进一步使用estat sargan和estat abond 来报告这两个统计量),而xtabond2则可以,且该命令会同时报告hansen统计量。
xtabond2是默认把ivstyle里面的变量都取滞后项同时作为差分、水平方程的工具变量;xtdpdsys默认只用于差分方程。
并且,xtdpdsys将没有设定为内生或先决变量的都自动作为外生变量,将其滞后项用作工具变量估计差分方程; xtabond2中可以有一部分在前面的回归变量中列出,但既不列入gmmstyle,也不列入ivstyle,这样就不参与差分和水平方程的估计了(主要是一些滞后项)。
xtdpd的灵活性基本跟xtabond2一样,但更加简洁,就是可以直接、分别地设定差分估计和水平估计中采用gmm形式(一个多列矩阵)和iv形式(一个包含自身滞后的列向量)的变量。
1)最大的区别是,xtabond2将外生变量(iv中给出)的滞后项也作为了level equation的工具变量,而xtdpdsys不这么做。
通过在xtabond2中设置iv( 外生变量列 ,eq(d) )可以使两者一样。
2)还有是工具变量矩阵的设定不同。这一点大部分不是专门研究计量理论的人可以忽略,xtabond2有一个h(#)设置,默认#是3,而系统dpd用的是2,这是之前gauss和ox程序下延续下来的。
The h(#) option, which most users can safelyignore, controls the choice of H. h(1) sets H = I, for both difference andsystem GMM. For difference GMM, h(2) and h(3) coincide. They differ for systemGMM, however, with h(2) imitating DPD for Ox and h(3) being the xtabond2default。
3)另外,xtdpdsys和xtabond2在差分方程的正交化处理之后,在常数项的对待上有不同,前者在在正交化之后又加上了常数项(差分过程本身会把常数项去掉)。下面几组命令的结果应当一致
// CASE #1- W 严格外生
xtdpdsys n w, two vce(robust)
xtabond2 n l.n w, gmm(l.n) iv(w, eq(dif)) h(2)two robust
//CASE #2- W 是predetermined(弱外生)
xtdpdsys n, pre(w) two vce(robust)
xtabond2 n l.n w, gmm(l.n w) h(2) two robust
// CASE #3- W 内生
xtdpdsys n, endo(w) two vce(robust)
xtabond2 n l.n w, gmm(l.n l.w) h(2) two robust
关于两者是否都能做内生和先决变量区分,答案显然是两者都可以。
个人感觉xtabond2更加灵活,但手动性操作对原理的认识要求也就更高,相当于个手动模式的单反相机。
好像 xtabond2可以设定内生变量和前定变量。如果x是内生变量,GMM里面填写L.X如果x是前定变量,GMM里面就填写x。
这两个命令都可以用来做系统GMM,但xtabond2更加灵活一些和手动一些,作为官方命令的xtdpdsys更加简洁。
xtabond2同样可以区分predetermined和endogenous变量。predetermined变量从一阶滞后开始就可以作为工具变量,而endogenous变量要从滞后二阶开始。所以先决变量直接加入gmmstyle,内生变量滞后一期加入gmmstyle。
xtabond2的作者有个论文How to do xtabond(Roodman ,2009),里面就提到了这一个。
If w is predetermined to not be strictlyexogenous, standard treatment is to use lags 1 and longer, GMM-style(gmmstyle(w)). And if w is endogenous, standard treatment is lags 2 and longer(gmmstyle(L.w)).
关于 predetermined变量如何理解,我想同一篇文章里的这句话说的也比较到位了:
Some regressors can be predetermined but notstrictly exogenous; that is, independent of current disturbances, someregressors can be influenced by past ones.The lagged dependent variable is anexample.
其中提示我们,动态面板中因变量的滞后项也属于predetermined。所以许多例子中gmmstyle中都有一个自变量的滞后项,再加上其他内生变量的滞后项,可以简写成L.(自变量内生因变量)。
xtabond2中需要对外生变量做设定,回归时产生的是一列自身的滞后项做为工具变量,而xtdpdsys不需要专门设定外生变量。
clear
set more off
infile exp wks occ ind south smsa ms femunion ed blk lwage ///
using "D:软件培训资料动态面板aa.txt"
drop in 1
describe
summarize
generate person=group(595)
bysort person: generate period=group(7)
* panel data definition
xtset person period
xtdes
xtsum
generate exp2=exp^2
local x1 exp exp2 wks occ ind south smsa msunion
local x2 ed blk fem
* panel data regression: y=lwage
* x1=[1 exp exp2 wks occ ind south smsa msunion],
* x2=[ed blk fem] (time-invariant regressors)
xtdpdsys lwage occ ind south smsa, lags(1)maxldep(3) vce(robust) ///
endogenous(ms union,lag(0,2))pre(wks,lag(1,2)) twostep
estimates store ABB1
xtdpdsys lwage occ ind south smsa, lags(2)maxldep(3) vce(robust) ///
endogenous(ms union,lag(0,2)) pre(wks,lag(1,2))twostep
estimates store ABB2
xtdpdsys lwage occ ind south smsa, lags(3)maxldep(3) vce(robust) ///
endogenous(ms union,lag(0,2))pre(wks,lag(1,2)) twostep
estimates store ABB3
estimates table ABB1 ABB2 ABB3, b se t p
* hypothesis testing
quietly xtdpdsys lwage occ ind south smsa,lags(2) maxldep(3) ///
endogenous(ms union,lag(0,2))pre(wks,lag(1,2)) twostep artest(4)
estat abond // test for autocorrelation
estat sargan // test for IVoveridentification
xtabond2 df age age2 ed12 nwe12 perd2perd3 perd4 lnrtb3 ///
dna dnk dms dhrsw dhrsh dyu2, gmm(L.(lnrtb3dms dna dnk dfu dyu2 dhrsh dhrsw), lag(3) collapse) ///
iv(age age2 edCol edColp ednoHS)twostep robust ///
noconstant small orthogonal art(3)
*直接复制help中的例子
use http://www.stata-press.com/data/r7/abdata.dta
xtabond2 n l.n l(0/1).(w k) yr1980-yr1984, gmm(l.n w k)iv(yr1980-yr1984, passthru) noleveleq small
xtabond2 n l.n l(0/1).(w k) yr1980-yr1984, gmm(l.n w k)iv(yr1980-yr1984, mz) robust twostep small h(2)
xtabond2 n l(1/2).n l(0/1).w l(0/2).(k ys) yr1980-yr1984, gmm(l.n w k)iv(yr1980-yr1984) robust twostep
small
* Next two are equivalent, assuming id is the panel identifier
ivreg2 n cap (w = k ys rec) [pw=_n], cluster(ind) orthog(rec)
xtabond2 n w cap [pw=_n], iv(cap k ys, eq(level)) iv(rec, eq(level))cluster(ind) h(1)
* Same for next two
regress n w k
xtabond2 n w k, iv(w k, eq(level)) small h(1)
* And next two, assuming xtabond updated since May 2004 with updatecommand.
xtabond n yr*, lags(1) pre(w, lags(1,.)) pre(k, endog) robust smallnoconstant
xtabond2 n L.n w L.w k yr*, gmm(L.(w n k)) iv(yr*) noleveleq robustsmall
* And next two
xtdpd n L.n L(0/1).(w k) yr1978-yr1984, dgmm(w k n) lgmm(w k n)liv(yr1978-yr1984) vce(robust) two hascons
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, gmm(L.(w k n))iv(yr1978-yr1984, eq(level)) h(2) robust twostep
* Three ways to reduce the instrument count
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, gmm(L.(w k n))iv(yr1978-yr1984, eq(level)) h(2) robust twostep pca
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, gmm(L.(w k n), collapse)iv(yr1978-yr1984, eq(level)) h(2) robust twostep
xtabond2 n L.n L(0/1).(w k) yr1978-yr1984, gmm(L.(w k n), lag(1 1))iv(yr1978-yr1984, eq(level)) h(2) robust twostep
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 10:43
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社