我没有成功尝试使用包中的 Arellano 和 Bond (1991)pgmm
估计plm
。为了查看问题是否出在我的数据中,我改为使用 plm 库中提供的数据,但在使用“summary”命令时遇到了同样的问题:
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 的平衡面板。当我包括更多年份时,一切都会好起来的。所以一定是面板的长度引起了麻烦。
任何帮助将非常感激。