新的lfe / felm语法,特定于变量的工具

时间:2016-04-21 17:39:13

标签: r

我想用两个外生变量,两个内生变量和一对固定效应来估计回归。每个内生变量都有自己的工具。

  

Y = b0 + b1 * X1 + b2 * X2 + b3 * Q + b4 * W + C1 *系数(id)+ C2 *系数(公司)

     

W = d0 + d1 * X3

     

Q = e0 + e1 * X4

这是我使用Y,X,Q,W

生成数据的部分
require(lfe)
oldopts <- options(lfe.threads=1)
x <- rnorm(1000)
x2 <- rnorm(length(x))
id <- factor(sample(20,length(x),replace=TRUE))
firm <- factor(sample(13,length(x),replace=TRUE))
id.eff <- rnorm(nlevels(id))
firm.eff <- rnorm(nlevels(firm))
u <- rnorm(length(x))
y <- x + 0.5*x2 + id.eff[id] + firm.eff[firm] + u
x3 <- rnorm(length(x))
x4 <- 5*rnorm(length(x))^2
Q <- 0.3*x3 - 0.3*rnorm(length(x),sd=0.3) - 0.7*id.eff[id]
W <- 0.3*log(x4)- 2*x + 0.1*x2  - 0.2*y+ rnorm(length(x),sd=0.6)
y <- y + Q + W

我可以使用旧的 lfe 语法

来估算系数
reg <- felm(y~x+x2+G(id)+G(firm),iv=list(Q~x3,W~x4))

但是该软件包强烈反对使用旧语法,我不知道如何在新语法中指定不同的第一阶段方程。

如果我尝试这一行, x3 x4 将首先用于 Q W 阶段方程。

reg_new <- felm(y ~ x + x2 | id+firm | (Q|W ~x3 + x4))

1 个答案:

答案 0 :(得分:2)

对不起,我很抱歉。作为lfe包的作者,我不知道对于不同的内生变量使用不同的工具集的任何理论。它也不应该在旧语法中被允许。如果其中一个工具与其中一个内生变量不相关,则第一阶段的系数将简单地估计为零。通过两阶段回归的IV估计理论仅使用一些矩阵身份将IV估计分为普通回归的两个阶段,以方便和简化为众所周知的方法。据我所知,没有IV为内生变量提供单独的工具集。

参见例如维基百科的条目: https://en.wikipedia.org/wiki/Instrumental_variable#Estimation