R封装plm中用于Arellano-Bond测试的Windmeijer校正

问题描述

假设我有一个简单的AR(1)面板数据模型,我使用R中的pgmm命令估计了该模型-可用数据:

library(plm)
library(Ecdat)
data(Airline)

reg.gmm = pgmm(output ~ lag(output,1)| lag(output,2:99),data= Airline,Robust=TRUE)

对于Robust=TRUE,我使用Windmeijer(2005)校正方差-协方差矩阵。现在,我想使用Arrelano-Bond测试二阶自相关:

mtest(reg.gmm,order = 2,vcov = reg.gmm$vcov)

我是否打算使用Windmeijer校正的方差-协方差矩阵?如果没有,我该如何实施?该文档对此主题有严格的规定。感谢您的任何事先帮助!

解决方法

不幸的是,带有Airline数据的示例引发了一个错误,该错误似乎与GMM公式中的太多工具有关。如果您使用的其他数据没有出现此问题,则可以通过使用vcovHC中的mtest选项来使用可靠的标准错误。在您的示例中,最后一次致电可能是:

mtest(reg.gmm,order = 2,vcov = vcovHC)