回归分析第24讲:交互项——为什么平均效应有时候靠不住?
这一讲,我们讨论一个在实证研究中极其常见、但经常被忽略的问题:
当一个变量,对不同人、不同环境、不同对象产生不同影响时,回归模型该怎么写?
在前一讲中,我们已经强调过:
很多经济关系并不是简单的线性关系,对数模型往往是对现实的一种改进。
但即便你已经用了 log,仍然可能犯一个更隐蔽的错误——
因为你在模型中默认:
同一个变量,对所有人、所有地区、所有时期的影响都是一样的。
这一讲要讲的“交互项(interaction term)”,正是用来打破这个假设的。
【一】什么是交互项:当“平均效应模型”不再成立
在大多数实证研究中,我们最常写的模型是:
在这个模型中, 只是作为控制变量出现,但它隐含了一个经常被忽略的前提:
无论 Z 处在什么状态,X 对 Y 的影响强度都被认为是一样的。
不管研究对象是谁、环境如何、条件是否不同,X 的作用都被压缩成同一个系数 。
一旦这个前提不成立,问题就来了:
-
对一部分样本是正效应
-
对另一部分样本是弱效应,甚至负效应
-
回归结果给你一个“平均值”,看起来不显著
-
或者显著,但并不对应任何一个真实群体
这时,并不是“模型没跑出来”,而是模型写错了。
交互项,正是用来处理这种情况的。
当我们认为:
的作用,取决于 Z,就需要在模型中写出二者的“相遇”:
交互项,就是两个自变量相遇后,产生了新的效果。
不是“多加的一个控制变量”,它回答的是:
在不同的 Z 条件下,X 对 Y 的作用强度是否不同。
【二】什么时候需要考虑交互项?如何在原模型中“发现”它
是否需要交互项,不能只靠感觉。只要研究中出现下面这些情况,就该警惕:
第一,研究对象本身就存在明确分组。
例如城乡、性别、行业、是否试点、是否高风险人群。如果你默认“一个系数管所有人”,这个假设本身就值得怀疑。
第二,同一个变量在不同子样本中表现很不一样。
分组回归时方向或显著性明显不同,往往意味着你在整体模型中遗漏了条件效应。
第三,结论经常变成“不显著但又说不清楚”。
不是没关系,而是关系被平均掉了。
第四,理论本身就暗含“在……条件下”。
只要你的理论表述中出现了“在……情况下”“对……更明显”“主要体现在……”,那几乎可以肯定:模型里应该有交互项。
一句话判断法:
只要你开始关心“对谁更有效”,而不是“有没有效”,就该考虑交互项。
【三】最常见、也最安全的交互项写法(只记这几种)
在实证论文中,真正高频、且不容易翻车的交互项,其实不多。
第一类(最常见的一类):
连续变量 × 虚拟变量
例如:
收入 × 城乡
教育 × 性别
数字化 × 行业
污染暴露 × 是否高风险人群
这一类交互项,本质上回答的是:
同一个变量,对不同群体的作用是否不同?
第二类:
连续变量 × 连续变量
例如:
收入 × 年龄
资本 × 技术水平
它刻画的是边际效应的变化,但解释成本更高,写作时要克制。
第三类:
虚拟变量 × 虚拟变量
常见于政策评估,但解释必须非常清楚基准组,否则容易误读。
【四】案例与实操:加了交互项,结论为什么立刻清楚了
本案例使用一组关于健康水平与污染关系的个体层面数据,共 200 个观测值,旨在说明在存在群体差异的情况下,引入交互项的必要性。数据包含以下变量:
- health_index:健康指数(因变量,数值越大表示健康状况越好)
- pollution:污染暴露水平
- high_risk:是否属于高风险人群(1=是,0=否)
- age:年龄(控制变量)
本案例在 Stata 中完成。图 1 给出了主要变量的描述性统计结果。
图1 描述性统计分析
- 不考虑交互项的模型:一个“平均效应”的结论_
在不引入交互项的情况下,模型估计的是污染对健康的平均影响。这一设定隐含地假定:
污染对不同人群的影响强度是相同的,即尽管不同人群的健康水平存在差异,但污染对健康的边际影响并未区分人群类型。
表2 不包含交互项的回归结果
表 2 报告了不包含交互项的回归结果。结果显示,污染变量的回归系数约为 −0.38,且在 1% 显著性水平下显著,表明在控制其他因素后,污染水平每上升 1 个单位,健康指数平均下降约 0.38。同时,高风险人群的系数约为 −30,说明在污染水平相同的情况下,高风险人群的健康水平显著低于普通人群。
但在该模型中,高风险人群的健康劣势被刻画为一个固定差距,不会随着污染水平的变化而变化。换言之,该模型只能识别污染对健康的平均效应,无法揭示其在不同人群中的差异化影响。
- 引入交互项后的模型:平均效应被“拆开”
在模型中进一步引入污染与高风险人群的交互项后,回归结果显示,污染对健康的负面影响在不同人群之间存在显著差异。
表3 包含交互项的回归结果
表 3 报告了包含交互项的回归结果。在引入交互项后,污染对普通人群的健康影响仍为显著负向,其回归系数约为 −0.13;而污染与高风险人群的交互项系数约为 −0.61,同样在 1% 显著性水平下显著,表明污染对高风险人群的健康损害显著强于普通人群。
综合主效应与交互项可以发现,普通人群中污染的健康效应约为 −0.13,而在高风险人群中,该效应约为 −0.74,约为普通人群的 6 倍。这意味着,在包含交互项的模型中,高风险人群的健康劣势不再是一个固定差距,而是会随着污染水平的变化而动态放大。
- 模型对比带来的启示
对比不含交互项的平均效应模型与包含交互项的模型可以发现,前者掩盖了污染对不同人群影响的显著差异;而通过引入交互项,模型能够更准确地刻画污染作用的实际机制,从而使结论更加清晰,也更符合现实
【五】一句话总结
交互项的引入,使回归模型不再停留于平均效应,而能够揭示同一变量在不同人群中的差异化影响。