You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stata中含多分类变量交互项的2SLS回归报错求助

含多分类变量交互项的2SLS回归报错解决

问题背景

核心解释变量为0/1虚拟变量industry,工具变量为连续变量IV_jack,无交互项时2SLS回归可正常运行:

ivreg2 Y (industry=IV_jack) i.(year female),r

尝试将industry与多分类变量Field(取值1=生命科学、2=计算机科学等)构建交互项时,运行以下代码触发识别错误:

ivreg2 Y (industry##i.Field=c.IV_jack##i.major_field) i.(year female),r

错误提示:equation not identified; must have at least as many instruments not in the regression as there are instrumented variables

但将industry与0/1虚拟变量young交互时,以下代码可正常执行:

ivreg2 Y (industry##i.young=c.IV_jack##i.young) i.(year female),r

错误原因

多分类变量Field的主效应属于外生变量,无需工具化,但代码中通过industry##i.Field将其纳入了内生变量集合,导致内生变量数量远超工具变量数量:

  • 假设Field有k个类别,industry##i.Field会展开为:industry主效应 + k-1个Field虚拟变量 + k-1个industry#Field交互项,总计2k-1个内生变量
  • 工具变量部分(推测major_field为笔误,应为Field)c.IV_jack##i.Field仅展开为:IV_jack主效应 + k-1个IV_jack#Field交互项,总计k个工具变量
  • 工具变量数量不足,模型无法满足识别条件

而与0/1虚拟变量young交互时,industry##i.young和c.IV_jack##i.young均展开为3个变量,刚好满足识别要求,因此可正常运行。

解决方案

仅将内生的核心变量及其交互项放入工具化括号内,Field的主效应作为外生控制变量放在括号外:

方案1:明确指定内生变量与工具变量

这种写法最清晰,避免歧义:

ivreg2 Y (industry industry#i.Field = c.IV_jack c.IV_jack#i.Field) i.(year female Field), r

方案2:利用##简化写法(需注意变量范围)

若偏好##的简洁性,可通过语法限定仅工具化industry及其交互项,同时显式将Field主效应作为控制变量:

ivreg2 Y (i.industry##i.Field = c.IV_jack##i.Field) i.(year female) i.Field, r

注:i.industry##i.Field会包含Field主效应,但ivreg2会自动识别其外生性并转为控制变量,但方案1的明确写法更推荐,可避免潜在的语法误解。

内容的提问来源于stack exchange,提问作者Clara HL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:50:09