我想用两个外生变量,两个内生变量和一对固定效应来估计回归。每个内生变量都有自己的工具。
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))
答案 0 :(得分:2)
对不起,我很抱歉。作为lfe包的作者,我不知道对于不同的内生变量使用不同的工具集的任何理论。它也不应该在旧语法中被允许。如果其中一个工具与其中一个内生变量不相关,则第一阶段的系数将简单地估计为零。通过两阶段回归的IV估计理论仅使用一些矩阵身份将IV估计分为普通回归的两个阶段,以方便和简化为众所周知的方法。据我所知,没有IV为内生变量提供单独的工具集。
参见例如维基百科的条目: https://en.wikipedia.org/wiki/Instrumental_variable#Estimation