外观
异质性分析教程
说明 STATAU 异质性分析模块的分组方式、分组回归输出、Stata 对照代码与结果解读方式。
常用 Stata 命令
reghdfe y x controls if group==1, absorb(fe) vce(cluster id) 在 STATAU 中打开此功能
异质性分析分组回归group regression
这个页面解决什么问题
同一条主结论经常不会对所有企业、地区或人群都一样强。异质性分析页面的作用,就是把样本拆开,看这条关系究竟集中在谁身上、在哪些组别里更明显。
方法原理
异质性分析通常不是换模型,而是换样本。最常见做法就是按某个组别变量,把样本拆成两组或多组,分别运行同一套回归,再比较核心解释变量系数。
核心公式
分组回归
其中,
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 中操作步骤
- 在“自变量 (X)”中只保留 1 个核心解释变量,并保持控制变量口径与主回归一致。
- 选择分组变量,再决定按原始类别、中位数或阈值分组。
- 运行后先比较各组核心系数的方向和显著性,再看页面下方的分组摘要。
结果怎么看
- 异质性分析最重要的是比较不同组别下核心解释变量系数的方向、大小和显著性是否明显不同。
- 如果页面给出两组之间的近似系数差检验,可以把它当成辅助判断,但正式写作时仍要结合经济含义。
- 当某一组样本量明显偏小,系数不显著不一定代表“没有效应”,也可能只是估计不稳定。
论文表述示例
- 可以写成:“分组回归结果显示,该影响主要集中在 A 组,在 B 组中系数明显减弱且不再显著,表明存在显著的组间异质性。”
常见使用误区
- 分组变量类别过多时,不要机械把所有组都跑出来,否则结果会非常宽,而且很多组样本量不足。
- 异质性分析的控制变量和固定效应口径,不要和主回归随意改来改去。
- 两组系数一个显著一个不显著,并不自动等于“组间差异显著”,还要结合系数大小和近似差异检验看。