当前位置:首页>python>顶刊都在用:社科学者如何用 Python 做双重差分(DID)因果识别

顶刊都在用:社科学者如何用 Python 做双重差分(DID)因果识别

  • 2026-10-11 11:21:35
顶刊都在用:社科学者如何用 Python 做双重差分(DID)因果识别

一、DID 在顶刊中的地位

双重差分是现代实证社科研究最核心的准实验方法之一,被广泛使用于:

  • • American Economic Review
  • • Quarterly Journal of Economics
  • • American Political Science Review
  • • American Sociological Review

双重差分(Difference-in-Differences, DID)的核心目标不是“做回归”,而是:

利用“时间变化 + 组别差异”构造反事实。


二、识别逻辑:从反事实到平行趋势 

在社会科学中,我们关注的核心问题往往是:

某项政策是否“导致”某种结果变化?

但现实世界中,政策并非随机分配,因此无法直接观察反事实。

设:

  • • 处理组(Treat = 1)
  • • 对照组(Treat = 0)
  • • 政策前(Post = 0)
  • • 政策后(Post = 1)

DID 估计量为:

即:

“处理组变化”减去“对照组变化”

真正的关键在于一个假设:

平行趋势假设(Parallel Trends Assumption)


平行趋势图示

顶刊论文几乎都会做两件事:

  1. 1. 画出处理前趋势
  2. 2. 做事件研究(event study)

三、平行趋势如何检验

方法一:图形检验(必要但不充分)

import matplotlib.pyplot as pltdf.groupby(['year','treatment'])['outcome'].mean().unstack().plot()plt.axvline(policy_year, linestyle='--')plt.show()

顶刊逻辑:

  • • 处理前趋势是否平行
  • • 是否存在明显预趋势

方法二:回归形式的前趋势检验(更严谨)

构造 leads:

如果处理前系数显著 ≠ 0,则平行趋势可能不成立。

在 Python 中可使用:

  • • linearmodels.PanelOLS
  • • 或手动构造虚拟变量

四、基准模型(Two-way Fixed Effects)

标准顶刊基准形式:

Python 实现:

from linearmodels.panel import PanelOLSimport statsmodels.api as smdf = df.set_index(['id','year'])model = PanelOLS.from_formula('outcome ~ 1 + treatment*post + controls + EntityEffects + TimeEffects',data=df)res = model.fit(cov_type='clustered', cluster_entity=True)print(res.summary)

注意几个顶刊标准:

  1. 1. 个体固定效应
  2. 2. 时间固定效应
  3. 3. cluster 标准误(通常按个体或政策单元)

五、结果如何解读(高阶写法)

不要写:

“系数为0.05,在1%显著”

要写:

“该政策使处理组结果变量平均提高5%,相当于基准均值的12%。”

顶刊表达包括:

  • • 经济意义(economic magnitude)
  • • 统计显著性
  • • 标准误来源说明
  • • 识别假设讨论

六、是否需要稳健性检验?

答案是:必须。

没有稳健性检验的DID,不可能进入顶级期刊。

常见稳健性包括:

  1. 1. 更换控制变量组合
  2. 2. 不同样本窗口
  3. 3. 替代被解释变量
  4. 4. 不同聚类方式
  5. 5. 安慰剂检验(placebo test)

示例:假政策年份

df['fake_post'] = (df['year'] >= fake_year).astype(int)

如果假政策显著,说明模型存在问题。


七、异质性分析

DID 只是平均效应。

顶刊更关心:

  • • 谁受影响更大?
  • • 哪些地区效果更明显?
  • • 不同收入组是否不同?

形式:

Python:

df['interaction'] = df['did'] * df['high_group']

八、动态效应(Event Study)

这是现代DID的标准配置。

画出:

  • • 政策前3期
  • • 政策后5期

看是否:

  • • 政策前无显著趋势
  • • 政策后逐渐显现效果

这是目前 AER / QJE 论文的常规做法。

最新文章

随机文章