首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统拟合和2 2SLS在R中的仪器变量估计

系统拟合和2 2SLS在R中的仪器变量估计
EN

Stack Overflow用户
提问于 2014-06-17 15:47:28
回答 3查看 5.2K关注 0票数 1

我试图在R中使用包systemfit和两阶段最小二乘(2SLS)来进行简单的工具变量估计:

代码语言:javascript
复制
y = b + b1*x1 + b2*x2 + b3*w + e

当x1和x1是我想要测量的内生变量时,w是一个外生变量,e是残差。我的两种乐器是z1和z2。我想用z1表示x1,z2表示x2。因此,我的第一阶段回归将是

代码语言:javascript
复制
x1 = c + c1*z1 + c2*z2 + c3*w + e1
x2 = d + d1*z1 + d2*z2 +d3*w + e2

我试过:

代码语言:javascript
复制
systemfit(y~x1 + x2 + w,inst=~z1 + z2 +w)

但不确定这是否正确..。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-17 19:56:08

为什么不使用来自ivreg包的AER呢?你可以试一试,比较一下结果。

代码语言:javascript
复制
 #install.packages("AER") # if not already installed
 library(AER)
 ?ivreg
票数 3
EN

Stack Overflow用户

发布于 2014-06-17 19:48:11

我认为systemfit函数只能处理每个方程中的一个内源变量。试着用两个步骤来完成这个任务。

代码语言:javascript
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2016-12-28 19:57:46

我肯定会使用ivreg来估计2 2SLS模型。有时上传AER包可能会很棘手,如果您没有更新版本的R(检查哪个包更适合您的R版本,如果你被卡住了!)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24268137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档