我试图在R中使用包systemfit和两阶段最小二乘(2SLS)来进行简单的工具变量估计:
y = b + b1*x1 + b2*x2 + b3*w + e当x1和x1是我想要测量的内生变量时,w是一个外生变量,e是残差。我的两种乐器是z1和z2。我想用z1表示x1,z2表示x2。因此,我的第一阶段回归将是
x1 = c + c1*z1 + c2*z2 + c3*w + e1
x2 = d + d1*z1 + d2*z2 +d3*w + e2我试过:
systemfit(y~x1 + x2 + w,inst=~z1 + z2 +w)但不确定这是否正确..。
发布于 2014-06-17 19:56:08
为什么不使用来自ivreg包的AER呢?你可以试一试,比较一下结果。
#install.packages("AER") # if not already installed
library(AER)
?ivreg发布于 2014-06-17 19:48:11
我认为systemfit函数只能处理每个方程中的一个内源变量。试着用两个步骤来完成这个任务。
lm1 <- lm(x1 ~ z1 + w, data = yourDataFrame)
lm2 <- lm(x2 ~ z2 + w, data = yourDataFrame)
yourDataFrame$x1.1st.step <- lm1$fitted
yourDataFrame$x2.1st.step <- lm2$fitted
lm.2nd.step <- lm(y ~ x1.1st.step + x2.1st.step + w, data = yourDataFrame)发布于 2016-12-28 19:57:46
我肯定会使用ivreg来估计2 2SLS模型。有时上传AER包可能会很棘手,如果您没有更新版本的R(检查哪个包更适合您的R版本,如果你被卡住了!)
https://stackoverflow.com/questions/24268137
复制相似问题