Skip to content

异质性分析教程

回归分析

说明 STATAU 异质性分析模块的分组方式、分组回归输出、Stata 对照代码与结果解读方式。

常用 Stata 命令reghdfe y x controls if group==1, absorb(fe) vce(cluster id)
在 STATAU 中打开此功能
异质性分析分组回归group regression

这个页面解决什么问题

同一条主结论经常不会对所有企业、地区或人群都一样强。异质性分析页面的作用,就是把样本拆开,看这条关系究竟集中在谁身上、在哪些组别里更明显。

方法原理

异质性分析通常不是换模型,而是换样本。最常见做法就是按某个组别变量,把样本拆成两组或多组,分别运行同一套回归,再比较核心解释变量系数。

核心公式

分组回归

Yg=β0,g+β1,gXg+γgControlsg+εg

其中,g 表示不同组别。比较重点在于不同组别下 beta1,g 是否存在明显差异。

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

网站位置应放入的变量说明
因变量 (Y)被解释变量最终结果变量。
自变量 (X)核心解释变量这里只保留 1 个核心解释变量。
分组变量组别划分依据可以是类别变量,也可以用中位数或阈值把连续变量二分。
分组方式原始类别 / 中位数二分 / 自定义阈值二分组别太多时建议改用二分方式。

Stata 等效代码

reghdfe [被解释变量] [解释变量] [控制变量] if [分组变量]==A, ///
    absorb([固定效应变量]) vce(cluster [聚类变量])
reghdfe [被解释变量] [解释变量] [控制变量] if [分组变量]==B, ///
    absorb([固定效应变量]) vce(cluster [聚类变量])
Stata 代码位置STATAU 网站对应位置应放入什么
if [分组变量]==某组按原始类别分组针对每组样本分别估计。
if [分组变量] <= median按中位数二分把连续变量分成高低两组。
if [分组变量] <= threshold按自定义阈值二分按用户输入阈值分组。
可删除代码段提示
  • 如果分组变量本身就是二元类别,可直接用原始类别分组,不必再做中位数二分。
  • 如果主回归没有固定效应或聚类标准误,对应部分可删除。

在 STATAU 中操作步骤

  1. 在“自变量 (X)”中只保留 1 个核心解释变量,并保持控制变量口径与主回归一致。
  2. 选择分组变量,再决定按原始类别、中位数或阈值分组。
  3. 运行后先比较各组核心系数的方向和显著性,再看页面下方的分组摘要。

结果怎么看

  • 异质性分析最重要的是比较不同组别下核心解释变量系数的方向、大小和显著性是否明显不同。
  • 如果页面给出两组之间的近似系数差检验,可以把它当成辅助判断,但正式写作时仍要结合经济含义。
  • 当某一组样本量明显偏小,系数不显著不一定代表“没有效应”,也可能只是估计不稳定。
论文表述示例
  • 可以写成:“分组回归结果显示,该影响主要集中在 A 组,在 B 组中系数明显减弱且不再显著,表明存在显著的组间异质性。”

常见使用误区

  • 分组变量类别过多时,不要机械把所有组都跑出来,否则结果会非常宽,而且很多组样本量不足。
  • 异质性分析的控制变量和固定效应口径,不要和主回归随意改来改去。
  • 两组系数一个显著一个不显著,并不自动等于“组间差异显著”,还要结合系数大小和近似差异检验看。

相关页面