Skip to content

Heckman 两阶段教程

因果识别

说明结果方程、选择方程和排除限制变量在 STATAU 中的分区填法。

常用 Stata 命令heckman y x1 x2, select(select_var = x1 x2 z) twostep
在 STATAU 中打开此功能
Heckman 两阶段样本选择偏误IMR

这个页面解决什么问题

Heckman 两阶段适合处理“因变量只在部分样本里被观察到”的样本选择偏误场景。页面中最关键的是把结果方程变量和“只进入选择方程的排除限制变量”分清楚。

方法原理

第一阶段用 Probit 选择方程估计样本被观察到的概率,并构造逆米尔斯比率;第二阶段把逆米尔斯比率带回结果方程,修正样本选择偏误。

适用数据与前提

需要一个 0/1 的选择变量,用来标记因变量是否可观察。最好至少准备一个只影响“被观察概率”、但不直接进入结果方程的排除限制变量。

STATAU 页面中每个位置应该放什么变量

网站位置应放入的变量说明
因变量 (Y)结果方程因变量只在部分样本中可观察的结果变量。
结果方程解释变量进入主回归的变量即页面左侧外生变量区域。
选择变量0/1 是否可观察变量1 表示因变量可观测,0 表示不可观测。
额外排除限制变量只进入选择方程的变量帮助识别 Heckman 两阶段。

Stata 等效代码

heckman [因变量] [结果方程变量], select([选择变量] = [结果方程变量] [排除限制变量]) twostep
Stata 代码位置STATAU 网站对应位置应放入什么
[结果方程变量]结果方程解释变量主回归中的解释变量。
[选择变量]选择变量用于构造选择方程的 0/1 变量。
[排除限制变量]额外排除限制变量只进入选择方程、不进入结果方程。
twostepHeckman 两阶段当前页面对应两阶段估计逻辑。
可删除代码段提示
  • 如果没有额外排除限制变量,模型仍可运行,但识别会更弱,解释也更脆弱。

在 STATAU 中操作步骤

  1. 先确认选择变量是 0/1,并且定义清楚谁是“被观察样本”。
  2. 填写结果方程解释变量,再额外勾选排除限制变量。
  3. 执行后同时查看结果方程统计量和 IMR p。

结果怎么看

  • IMR p 若显著,通常说明样本选择偏误值得关注。
  • Selected N 反映真正进入结果方程的样本量,解释时不要和总样本量混淆。
  • 选择方程的 Pseudo-R² 主要反映选择模型拟合,不等于主回归解释度。

常见使用误区

  • 选择变量如果不是清晰的 0/1,会直接影响第一阶段逻辑。
  • 没有合理的排除限制变量时,Heckman 结果的说服力会明显下降。