几个数据库使用记录 & DPD-GMM调整到通过检验 - 莫不造

时间:2024-03-09 12:37:20

几个数据库使用记录 & DPD-GMM调整到通过检验

CCER的M2只有月度和季度数据,1997年以前是季度,此后才有月度,抽查与2015的人行网站月度数据一致,认为月度数据可以使用

EPS上M2是年度,但以CCER月度计算均值并非等于EPS的数据,

国泰安的上市公司财务数据好用,界面舒适下载完的数据也整齐

 

动态面板GMM命令xtabond2说明: http://dy.163.com/v2/article/detail/CU46NKOR0519BB99.html

函数的基础含义

https://bbs.pinggu.org/thread-1369554-1-1.html

基本形式就是这样:
xtabond2 lnp  lnl.p  l(0/1).(cl il),gmm(l.lnp) iv(l(0/1).(cl il)) noleveleq small
注意:我只把p的滞后项当做一个内生变量(更严格应该是前定变量),其余的都设为外生变量。如果从经济理论上理解,你认为其他变量也存在内生性,请按照下面命令语法对应修改(详细请help xtabond2):
xtabond2 depvar varlist [if exp] [in range] [weight] [, level(#) svmat twostep robust cluster(varname) noconstant small noleveleq orthogonal gmmopt [gmmopt ...] ivopt [ivopt ...] artests(#) arlevels h(#) nodiffsargan nomata]
比如加noleveleq small代表什么意思等,请自己看帮助。
至于工具变量设置,在gmm()中一般放入内生变量和前定变量,iv()中放入所有外生变量(有时候也常把年份虚拟变量加入控制)。
ps:至于工具变量如何选择以及结果如何看,还请楼主自己看帮助文件,这样清晰多了。

检验要求:

Arrellano-Bond test :AR1显著AR2不显著

Arrellano-Bond test for AR(1/2) in first differences,是检验扰动项的差分是否存在一阶与二阶自相关,以保证GMM的一致估计,一般而言扰动项的差分会存在一阶自相关,因为是动态面板数据,但若不存在二阶自相关或更高阶的自相关,则接受原假设“扰动项无自相关”。

sargan检验:不显著

对于最下面的这些Sargan test of overid. restrictions和Difference-in-Sargan tests of exogeneity of instrument subsets,原假设是这些instruments valid, 因此p不显著,不reject原假设就是好的具体见这篇文章Roodman 2008 revised Note on too many instruments.pdf.pdf

 

hansan检验:不显著

 

 

 

  • 尝试调整工具变量个数或者调整滞后阶数

AR检验:调整l.y的滞后阶数

  • 你的工具变量过多了,Hansen test都达到1了,你用了稳健的标准差robust,sargan test是在同方差的情况下成立的,此时不用管sargan值,
  • 至于你的残差二阶自相关没有通过,那应该你的残差项存在自相关,你可以考虑使用xtdpd这个命令,xtdpd命令可以处理简单的自相关问题.
  • (1)AR1和AR2都显著,那么就该用3阶以及更高阶作为工具变量,然后检验AR3是否显著。

    (2)Hansen 的P值等于1,说明工具变量太多。一般工具变量的个数不能超过GROUP的个数。如果使用XTABOND2的话,可以使用collapse命令减少工具变量的个数。

    (3)如果存在异方差的话,SARGAN是不可靠的,应该看HANSEN,所以在这种情况下,SARGAN和HANSEN的结果可能不一致,但是也不是不能解释的。

sargan检验和hansen检验:https://bbs.pinggu.org/thread-350310-2-1.html

  • 大致来说,在同方差下 (不加 robust),Stata 报告 Sargan 统计量;但在异方差下 (加 robust),Stata 报告 Hansen 统计量 (因为 Sargan 统计量此时不对)。
  • 按照Roodman 2009的说法, hansen的p-value为1 的话,这可能是一个Instrument太多的信号,需要减少instrument的数量来验证结果是否robust。
  • 减少instrument的一种方法是使用collapse命令,另外一种方法是使用lag()命令自己选择instrument。
  • xtabond2 INV l(1/2).INV ING  INCD ,gmm(l(1/2).INV, collapse) iv(ING  INCD) small robust
  • hansen检验的缺点:一方面IV数量增加会导致J test难以拒绝原假设,一方面面板数据的异方差性也很难避免(尤其对于大N小T面板)。个人认为如果是短面板,那是用滞后及查分项作为IV的模型应该更相信J-test,反过来的话Sargan test可能更令人信服一些。
  • Srargan检验 不能自动处理异方差等,但是工具变量很多时不会削弱检验力;Hansen J检验,robust的,但是工具变量很多时会削弱检验力
  • 多时候sargan拒绝原假设,而hansen不会。尽管这两个检验各有优劣,我看到论文中多用sargan判断。估计是因为应用中工具变量较多,sargan不受工具变量个数影响。
    如果把更多的变量放在GMM()而不是IV()中,sargan就不会拒绝原假设了。但这样工具变量会很多,这样有何不妥?
  • 论文中多用sargan,若向你所说,iv()中减少变量,gmm()中增加变量,这样的话工具变量不是减少而非增多了吗?
  • 如果用xtdpdsys回归,用了vce(robust),此时sargan检验不可用,那么该如何检验工具变量有效性呢?
  • sargan检验多用来筛选模型,可以先不加入vce(robust),twostep情况下,看一下sargan值!
  • 我在筛选模型时,会出现好几个模型都符合检验标准的情况,不知道该如何从中选出最优模型。我用的模型检验主要有以下几个标准,麻烦看看是不是遗漏了其他必须通过的检验标准。检验标准:

1,sargan/hansen检验,p值大于显著性水平(0.10以上)

2,AR(1)p值小于显著性水平,同时AR(2)p值大于显著性水平
3,diff-sargan/diff-hansen检验,p值大于显著性水平(0.10以上)
4,工具变量数目不超过截面数
5,因变量滞后值的估计值在FE和混合OLS两者的估计值之间

通过上面的检验后,可能会有两个以上的模型都符合这5个检验标准。那么,应该如何从中筛选最优模型呢?是 【sargan/hansen值越小越好 还是 越大越好】如p值0.17还是0.93?
还是【工具变量数目越少越好】如截面数30,工具变量选28还是15的呢?还是有 其他标准呢?

 

GMM常见Warning:https://www.jianshu.com/p/a95e902de782

 

固定效应:reghdfe

 以前用areg来加入固定效应进行回归比较多,但是最近用的数据固定效应数目太多,性能良好的电脑进行运算依旧速度极慢,于是搜寻解决办法,发现reghdfe能有效解决这个问题。

Much faster than the alternatives (reg2hdfe, a2reg, ivreg2hdfe, felsdvreg, etc) in most scenarios. It\'s built in Mata and avoids some of the usual bottlenecks such as sorting the data every iteration or large memory consumption.
Allows more than two sets of highly dimensional fixed effects (HDFE), using the same absorb() syntax as areg.
Allows interactions of fixed effects: absorb(industry#year)
Allows absorbing for interactions with categorical variables. For instance, absorb(i.industry##c.t) will include industry fixed effects, and a different time trend for each industry.
Can run IV/2SLS regressions using either -ivregress- or -ivreg2- (if avaiable).
Allows factor variable and time series in the varlists.
In OLS regressions, it also reports FStats for the FEs (see option -nested-) as well as correlation between the fixed effects and xb.

 

生成年份虚拟变量

方法一:xi:xtreg y x i.year,fe

方法二:

tabulate year, gen(yr) // 如有五年数据,就会生成REG1,REG2到REG5共计五个虚拟变量
drop yr1 // 避免多重共线,删除一个
xtreg y x1 x2 REG* // REG*表示余下的四个年份虚拟变量

 

固定效应

1. xtreg y x1 x2 x3 i.year i.ind

控制id year industry
2. xtreg y x1 x2 x3, fe

控制id,xtreg默认是re

3. xi: reg y x1 x2 x3 i.year i.ind

控制year industry

xtreg y x i.year, fe cluster(id)

变量中包括宏观经济变量,再控制year,宏观经济变量就会omitted

 

系统学习「内生性」,一个帖子就够了

https://bbs.pinggu.org/forum.php?mod=viewthread&tid=6749682&pid=54739641&page=1