# R语言工具变量与两阶段最小二乘法

### 原文链接：http://tecdat.cn/?p=5374

Y = A + BX + CD + EY = A + BX + CD + E，

## 生成数据

```##       x     d     z     e
## x 1.000 0.001 0.002 0.001
## d 0.001 1.000 0.700 0.300
## z 0.002 0.700 1.000 0.001
## e 0.001 0.300 0.001 1.000```

1. cor（d，e）= 0.3，这意味着是内生的; d
2. cor（d，z）= 0.7，这意味着是的强大工具变量; zd
3. cor（z，e）= 0.001，这意味着工具变量满足排除限制，因为它只影响到.zyd

```nvars = dim(U) 1
numobs = 1000
random.normal = matrix(rnorm(nvars*numobs, 0 , nrow=nvars, ncol=numobs);
X = U %*% random.normal
newX = t(X)
data = as.data.frame(newX)```

```##             x          d          z          e
## 1 -0.62645381  0.1830168 -0.4694601  1.7474361
## 2  0.32950777 -0.8201385 -0.2255741  0.2818908
## 3  0.57578135 -0.3048125  0.8670061 -0.1795257
## 4 -0.62124058 -2.2153200 -0.7481687 -1.0350488
## 5 -0.01619026  0.9438195  1.2471197  0.5820200
## 6  0.91897737  0.7830549  0.6025820 -1.5924689
```

```##             x          d            z           e
## x  1.00000000 0.00668391 -0.012319595 0.016239235
## d  0.00668391 1.00000000  0.680741763 0.312192680
## z -0.01231960 0.68074176  1.000000000 0.006322354
## e  0.01623923 0.31219268  0.006322354 1.000000000```

## OLS

```##
## Call:
## lm(formula = y ~ x + d)
##
## Residuals:
##     Min      1Q  Median      3Q     Max
## -3.2395 -0.5952 -0.0308  0.6617  2.7592
##
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  9.99495    0.03105  321.89   <2e-16 ***
## x            1.01408    0.02992   33.89   <2e-16 ***
## d            1.31356    0.03023   43.46   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9817 on 997 degrees of freedom
## Multiple R-squared:  0.7541, Adjusted R-squared:  0.7536
## F-statistic:  1528 on 2 and 997 DF,  p-value: < 2.2e-16```

b的估计系数是1.31 instread of 1. ## 2SLS ##现在我们使用2SLS来估计这种关系。我们使用z作为d的工具变量

```##
## Call:
## lm(formula = d ~ x + z)
##
## Residuals:
##      Min       1Q   Median       3Q      Max
## -2.59344 -0.52572  0.04978  0.53115  2.01555
##
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.01048    0.02383   -0.44    0.660
## x            0.01492    0.02296    0.65    0.516
## z            0.68594    0.02337   29.36   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7534 on 997 degrees of freedom
## Multiple R-squared:  0.4636, Adjusted R-squared:  0.4626
## F-statistic: 430.9 on 2 and 997 DF,  p-value: < 2.2e-16```

```##
## Call:
## lm(formula = y ~ x + d.hat)
##
## Residuals:
##     Min      1Q  Median      3Q     Max
## -4.4531 -1.0333  0.0228  1.0657  4.0104
##
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  9.99507    0.04786  208.85   <2e-16 ***
## x            1.01609    0.04612   22.03   <2e-16 ***
## d.hat        1.00963    0.06842   14.76   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.513 on 997 degrees of freedom
## Multiple R-squared:  0.4158, Adjusted R-squared:  0.4146
## F-statistic: 354.8 on 2 and 997 DF,  p-value: < 2.2e-16```

## 结果

b的真值：1 OLS estiamte of b：.00963 2SLS estiamte of b：1.31356

0 条评论

• ### 共享单车大数据报告

随着智能手机的普及和手机用户的激增，共享单车作为城市交通系统的一个重要组成部分，以绿色环保、便捷高效、经济环保为特征蓬勃发展。（数据样例可参考文末)

随着Web应用程序的发展和使用的增加，用例也变得多样化。我们现在正在建设和使用网站来执行比以往任何时候都更复杂的任务。其中一些任务可以进行处理，并将反馈立即转发...

• ### Python贝叶斯回归分析住房负担能力数据集

我想研究如何使用pymc3在贝叶斯框架内进行线性回归。根据从数据中学到的知识进行推断。

• ### Repeater 单选实现

很多的朋友都问过我这个问题，我就在这里把它写出来算了。在我们的WEB程序中，很多的时候都要实现多选和单选的操作，

• ### 特斯拉最强自动驾驶系统登场，实测视频火热出炉

这一升级是特斯拉实现L3级自动驾驶的重要节点，也是兑现其完全自动驾驶承诺的新进展。在Navigate on Autopilot的帮助下，自动驾驶体验进一步升级。

• ### mp3格式转wav格式 附完整C++算法实现代码

近期偶然间看到一个开源项目minimp3 Minimalistic MP3 decoder single header library 项目地址: https:...

• ### 斯坦福兔子 3D 模型被玩坏了，可微图像参数化放飞你的无限想象力

受过训练以对图像进行分类的神经网络具有非凡的意义和惊人的生成图像的能力。诸如 DeepDream，风格迁移和特征可视化等技术利用这种能力作为探索神经网络内部工作...

• ### [推荐系统读书笔记]利用用户标签数据

推荐系统的目的是联系用户的兴趣和物品，这种联系需要以来不同的媒介。GroupLens在一篇文章中表示目前流行的推荐系统基本上通过3种方式联系童虎兴趣和物品。

• ### iOS苹果审核2.1解决方案审核机制

近几个月来，在苹果审核中，只要应用中涉及，支付，定位等涉及用户隐私的功能，苹果都会部分青红皂白的打回来，这其实很可能不是APP本身的原因，只是苹果要你自查。