计量经济学:经典线性模型与 OLS 假设
1. 先明确问题:你想识别什么
在回归中,最常见的误区是“先跑模型,再解释系数”。正确顺序应是:
- 先定义因果参数(例如政策对结果变量的平均处理效应);
- 再判断线性模型是否是合理近似;
- 最后才进入估计与推断。
线性模型写作:
$$ Y_i = \beta_0 + \beta_1 X_i + u_i $$
若希望把 $\hat\beta_1$ 解释为因果效应,关键不是线性形式本身,而是 $E[u_i|X_i]=0$。
2. OLS 假设的实务含义
- 线性可加:模型在参数上线性。
- 随机抽样:样本具有代表性。
- 无完全共线性:解释变量不能完全线性相关。
- 条件零均值:$E[u_i|X_i]=0$。
- 同方差(用于经典标准误):$Var(u_i|X_i)=\sigma^2$。
其中真正决定“是否有偏”的是条件零均值;同方差更多影响标准误效率与显著性检验。
3. 常见偏误来源
- 遗漏变量偏误:遗漏变量同时影响 $X$ 与 $Y$。
- 反向因果:$Y$ 也影响 $X$。
- 测量误差:解释变量噪声导致衰减偏误。
- 样本选择:样本进入机制与结果相关。
4. Python 实操:基准 OLS 与稳健标准误
import pandas as pd
import statsmodels.formula.api as smf
# df 包含: y, x, age, income, city
model = smf.ols("y ~ x + age + income + C(city)", data=df).fit()
print(model.summary())
# 异方差稳健标准误(HC1)
robust = model.get_robustcov_results(cov_type="HC1")
print(robust.summary())
建议始终同时报告:
- 常规标准误结果;
- HC1 或 HC3 稳健标准误结果;
- 关键系数在两种标准误下是否稳健。
5. 最小可复现检查清单
- 变量定义与单位是否清晰;
- 基准模型与扩展模型是否一致报告;
- 稳健标准误是否给出;
- 是否讨论潜在内生性与识别局限。
如果内生性风险高,下一步应优先考虑 DID、IV、面板固定效应等识别策略,而不是继续堆控制变量。