共计 1790 个字符,预计需要花费 5 分钟才能阅读完成。
为什么相关性不等于因果性?
想象一个医疗场景:统计发现喝红酒的人群心血管疾病发病率更低。这是否意味着红酒能预防心脏病?实际上,喝红酒的人群可能整体收入更高、饮食更健康(confounder/ 混淆变量)。这种虚假关联就是典型的「相关性≠因果性」问题。

随机实验 vs 观察性研究
- 随机对照试验(RCT):通过随机分组隔离混淆因素,如药物测试中的安慰剂组
- 观察性研究:现实中的数据往往存在选择偏差,例如教育程度与收入的关系
- 核心挑战:$E[Y(1)-Y(0)|T=1] \neq E[Y(1)-Y(0)]$
- 因果推断目标:估计反事实结果(counterfactual)
核心方法解析
双重差分法(Difference-in-Differences)
适用于政策效果评估,需满足平行趋势假设:
$$ DID = (Y_{post}^{treat} – Y_{pre}^{treat}) – (Y_{post}^{control} – Y_{pre}^{control}) $$
Python 实现示例:
# 使用 causalml 库
from causalml.inference import DID
import pandas as pd
# 模拟数据:时间点 / 组别 / 结果变量
data = pd.DataFrame({'time': [0,0,1,1,0,0,1,1],
'group': [1,1,1,1,0,0,0,0], # 1= 实验组
'y': [5,6,8,9,4,5,5,6] # 结果变量
})
did = DID()
# 关键参数:时间标识、组别标识、结果变量
ess = did.estimate_ATE(data, 'time', 'group', 'y')
print(f"DID 估计效果: {ess['ATE']:.2f}")
工具变量法(Instrumental Variable)
当存在未观测混淆时,需寻找满足条件的工具变量 Z:
1. 相关性:$Z$ 与 $T$ 相关
2. 外生性:$Z$ 只能通过 $T$ 影响 $Y$
from linearmodels.iv import IV2SLS
import numpy as np
# 生成模拟数据
n = 1000
z = np.random.normal(size=n) # 工具变量
confounder = np.random.normal(size=n) # 未观测混淆变量
t = 0.5*z + confounder + np.random.normal(0,1,n)
y = 2*t + confounder + np.random.normal(0,1,n)
data = pd.DataFrame({'y':y, 't':t, 'z':z})
# 两阶段最小二乘法
iv_model = IV2SLS.from_formula('y ~ 1 + [t ~ z]', # 公式语法
data=data
)
results = iv_model.fit()
print(results.summary)
倾向得分匹配(Propensity Score Matching)
通过构建「可比」的对照组减少偏差:
$$ e(X) = P(T=1|X) $$
from sklearn.linear_model import LogisticRegression
from causalinference import CausalModel
# 计算倾向得分
ps_model = LogisticRegression().fit(X, treatment)
ps_score = ps_model.predict_proba(X)[:,1]
# 进行匹配
caliper = 0.2 # 最大允许得分差异
matched = CausalModel(Y, treatment, ps_score)
matched.est_via_matching(bias_adj=True)
print(matched.estimates)
避坑指南
- 混淆变量识别
- 绘制因果图 (DAG) 明确变量关系
-
使用 do-calculus 验证可识别性
-
工具变量检验
- 弱工具变量测试:F 统计量 >10
-
过度识别检验(Sargan test)
-
常见误用
- 忽略中介变量偏差(mediator bias)
- 匹配后未检查平衡性
- DID 平行趋势不成立
延伸思考
- 稳健性测试设计:
- 安慰剂测试(placebo test)
-
不同方法交叉验证
-
无工具变量时的替代方案:
- 断点回归设计(RDD)
- 自然实验场景挖掘
因果推断就像数据科学的「侦探工作」,需要不断质疑:这个关系真的经得起推敲吗?通过本文的方法框架,希望你能更自信地应对这个挑战。
正文完
