"不一致的论点" pgmm错误(plm库)

时间:2015-05-13 11:31:28

标签: r plm

这是我的第一篇文章,希望我不要做任何错误。

我试图在plm库中使用pgmm进行Arellano和Bond(1991)估计是不成功的。为了查看问题是否在我的数据中,我改为使用plm库中提供的数据,但在使用"摘要"时遇到了同样的问题。命令:

  

t(y)%*%x时出错:不一致的参数

虽然可以获得模型的系数。

我自己的数据有T = 3,N = 290。据我所知,T = 3是最小值,但应该足够了。当使用Arellano和Bond数据时,当T = 4时,我得到相同的错误。

data("EmplUK", package = "plm")
library(sqldf)
UK<-sqldf("select * from EmplUK where year in ('1982','1981',
'1980','1979')")


z1 <- pgmm(log(emp) ~ lag(log(emp), 1) + log(wage) +
log(capital) + log(output) | lag(log(emp), 2),
       data = UK, effect = "twoways", model = "twosteps")
summary(z1)

我理解估计方法和R-公式的方式,左手项是因变量的差异,第一个右手项是滞后差。后一项由(t-2)

中因变量的水平进行检验

我已经验证我使用的子集是T = 4的平衡面板。当我加入更多年份时,一切都会成功。所以它必须是面板的长度导致麻烦。

非常感谢任何帮助。

比约

1 个答案:

答案 0 :(得分:1)

提出类似的问题here。建议该错误与mtest有关,这是由pgmm摘要方法执行的序列相关性测试。单独运行该功能似乎确认了这个

>mtest(z1, order = 2)
Error in t(y) %*% x : non-conformable arguments

T = 3足以估算模型,但这只会让您估算最后一个时期。第二个订单mtest要求残差包含至少3个期间,即您的模型的T = 5.