【问题标题】:Windmeijer correction for Arellano-Bond Test in R package plmR 包 plm 中 Arellano-Bond 测试的 Windmeijer 校正
【发布时间】:2020-09-21 09:09:35
【问题描述】:

假设我有一个简单的 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 校正的方差-协方差矩阵?如果没有,我该如何实施?文档对该主题守口如瓶。提前感谢您的帮助!

【问题讨论】:

  • 对我来说,您的代码会引发以下错误:Error in solve.default(crossprod(WX, t(crossprod(WX, A2)))) : system is computationally singular: reciprocal condition number = 3.5216e-19 这可能与您的样本数据中的工具过多有关。
  • 因为您对文档在这些类型的问题上的限制是正确的。我发现plm 包的作者所著的这本书是一个非常有用的资源,其中包含更详细的解释和示例。它被称为:Yves Croissant 和 Giovanni Millo 的“Panel Data Econometrics with R”
  • 函数pgmm 没有参数Robust。 pgmm 对象的summary 方法有参数robust(注意字母r 的非大写)。

标签: r plm


【解决方案1】:

不幸的是,Airline 数据的示例引发了一个错误,这似乎与您的 GMM 公式中的工具过多有关。如果您使用不存在此问题的不同数据,您可以通过使用mtest 中的vcovHC 选项来使用可靠的标准错误。在您的示例中,最后一次调用可能是:

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

【讨论】:

    猜你喜欢
    • 2017-09-04
    • 2016-07-15
    • 2022-08-20
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多