Stata中工具变量二阶段的语句
在 Stata 里跑“工具变量二阶段”最常用 3 条路:
1 经典两步法(手动)
* 第一阶段:内生变量 x 对工具 z 和外生控制
reg x z controls
predict xhat, xb
* 第二阶段:用拟合值 xhat 替换 x
reg y xhat controls
注意:手动两步标准误不对,仅用于系数查看,正式汇报必须用下面任意一条“一步法”。
2 官方 ivregress(推荐,自动校正标准误)
ivregress 2sls y controls (x = z) // 2SLS
estat firststage // 第一阶段 F、偏 R²、Cragg-Donald
estat overid // 过度识别检验(若 z>1)
- 选项
vce(robust) 或 vce(cluster clustvar) 直接加在命令后即可。 - 多内生变量、多工具写法:
ivregress 2sls y controls (x1 x2 = z1 z2 z3)
3 一站式扩展命令(含弱工具检验、最优权重)
ssc install ivreg2, replace
ivreg2 y controls (x = z), ffirst endog(orthog) // 2SLS+全部诊断
ivreg2 y controls (x = z), ffirst liml // LIML(弱工具更稳)
ivreg2 一次性给出:第一阶段 F、Stock-Yogo 临界值、CD 统计量、过度识别、内生性 Durbin-Wu-Hausman 等全表,可直接贴论文。
快捷记忆
“二阶段”只有一句核心:
ivregress 2sls 因变量 外生控制 (内生变量 = 工具变量)
再加 vce(robust) 和 estat firststage,就能满足绝大多数期刊对 IV-2SLS 的汇报要求。