我是大学的最后一年学生,目前正在攻读学士学位(所以仍在学习 R),我真的希望您能提出一个潜在的解决方案(即使使用 Python)。
所以,我本科的主要模型如下: 论文的主要模型
我需要使用 GMM 来估计这个模型(最好是 Arellano 和 Bond (1991))。我一直在寻找解决方案近 2 个月,但仍未成功。
数据集可以在这里找到:https ://drive.google.com/file/d/15NBcZ7TBfoJ7TnM3BYgtt5JW3T3CmqGJ/view?usp=sharing
我的代码如下:
PDataA2 <- pdata.frame(DataA2, index = c("ID","Year"))
z1 <- pgmm(domega ~ lag(domega, 1) + ddebt + ff1 + ff1:ddebt + Age + ta + dsales | lag(domega, 2),
data = PDataA2, effect = "twoways", model = "twosteps", index = c("ID", "Year"), transformation = "ld")
summary(z1, robust = TRUE)
domega是 TFP 增长,ddebt - 债务增长,ta - 总资产对数,dsales - 销售增长。
ff1, ff2, ff3, ff4, ff5 代表模型中的金融摩擦。
在我创建了所有需要的变量之后,我试图通过使用plm包中的pgmm函数来估计系数。并收到 2 个错误:
如果我使用transformation = "d"
,错误如下:
1 类型的错误
如果我使用transformation = "ld"
,错误如下:
2 类型的错误
如果我从模型中删除滞后并将其放在“|”之后 我得到的标志: 3 种错误
我非常感谢提供的任何意见和建议,因为我不知道如何摆脱这个死胡同。先感谢您!)
请询问数据和任何解释,因为我真的很想找到解决方案。
UPD:这是一个相关矩阵:
domegaACF_A ddebt ff1 Age ta dsales lag1_domegaACF_A lag2_domegaACF_A
domegaACF_A 1.000000000 -0.014777102 -0.002600866 -0.019160423 0.02456158 0.256801279 -0.379350157 -0.027687422
ddebt -0.014777102 1.000000000 0.128264730 0.004706522 0.03878795 0.057488971 0.018800962 -0.003222902
ff1 -0.002600866 0.128264730 1.000000000 -0.048072279 -0.02868682 0.008979745 -0.002808377 0.008062733
Age -0.019160423 0.004706522 -0.048072279 1.000000000 0.27884112 -0.021440539 -0.051829392 -0.048162046
ta 0.024561579 0.038787947 -0.028686815 0.278841116 1.00000000 0.078247618 0.015304990 0.015539599
dsales 0.256801279 0.057488971 0.008979745 -0.021440539 0.07824762 1.000000000 -0.049518811 -0.004134281
lag1_domegaACF_A -0.379350157 0.018800962 -0.002808377 -0.051829392 0.01530499 -0.049518811 1.000000000 -0.358671174
lag2_domegaACF_A -0.027687422 -0.003222902 0.008062733 -0.048162046 0.01553960 -0.004134281 -0.358671174 1.000000000