Amber
Memo

读书和做实证时随手记下的笔记。眼下主要是计量方法,偶尔也记一点软件和工具里值得记住的小细节。

  1. 双重差分(上):从 2×2 到事件研究

    DID 到底估计的是什么,平行趋势该怎么理解,事件研究图怎么画,以及两种安慰剂检验。文中代码都在模拟数据上跑过。

    DID因果推断Stata
  2. 双重差分(下):交错处理与新估计量

    政策分批实施时,双向固定效应估计量可能严重失真。用一个模拟例子看偏差从哪里来,再比较 Callaway–Sant'Anna、Sun–Abraham、插补估计量和 de Chaisemartin–D'Haultfœuille 几种方法及对应的 Stata 命令。

    DID交错DIDStata
  3. 合成控制法:权重、置换检验与合成 DID

    只有一个受政策影响的地区时怎么估计效应:合成控制的权重从哪来,为什么比 DID 灵活,置换检验怎么做,以及 synth、synth_runner、sdid 三个命令。附一个平行趋势不成立、DID 失效的模拟例子。

    合成控制因果推断Stata
  4. 中介效应:逐步法、Sobel、Bootstrap,以及它们回答不了的问题

    三步法、Sobel 检验和 Bootstrap 置信区间怎么做;一个模拟例子说明“间接效应显著”不等于找到了机制;以及江艇(2022)之后,机制分析更稳妥的写法。

    中介效应机制分析Stata
  5. 倾向得分匹配(PSM):平衡、标准误与 PSM-DID 的陷阱

    倾向得分为什么能拿来匹配,psmatch2 和 teffects 怎么用,平衡性该看什么,psmatch2 的标准误有什么问题,以及 PSM 解决不了什么。附一个 PSM-DID 的反例:用政策前的结果做匹配,凭空造出一个显著的政策效应。

    PSM匹配因果推断Stata
  6. 样本选择与 Heckman 模型:排除变量比两步法本身重要

    什么情况才算样本选择问题,Heckman 两步法和最大似然各做了什么,为什么排除变量决定估计好不好。一组模拟:排除变量由强变弱,标准误涨到四倍;排除变量不成立时,Heckman 并不比 OLS 好。

    样本选择Heckman因果推断Stata
  7. 双重机器学习(DML):原理、代码和几个坑

    部分线性模型里的 DML 做了两件事:正交化和交叉拟合。用一个非线性混杂的模拟比较 OLS、Lasso 和树模型,附 Stata ddml 与 Python DoubleML 的代码,以及面板数据上要注意的地方。

    DML机器学习StataPython
  8. 工具变量:2SLS、弱工具变量与几种常见用法

    相关性和外生性怎么论证,第一阶段该看哪个 F 值,LATE 是什么意思,以及“滞后一期当工具变量”“同行业均值当工具变量”这些做法的问题。

    工具变量2SLS因果推断Stata
  9. 断点回归(RDD):局部线性、带宽与操纵检验

    精确断点和模糊断点各识别什么,为什么用带宽内的局部线性而不是全样本高阶多项式,rdrobust 的稳健置信区间怎么读,以及密度检验、协变量平衡、安慰剂断点这几项检验。附一个驱动变量被操纵的反例。

    断点回归RDD因果推断Stata
  10. 固定效应与聚类标准误:reghdfe 的几个细节

    固定效应吸收了什么,reghdfe 的样本量为什么和 xtreg 不一样,标准误聚类到哪一层,聚类数很少时怎么办。附一个蒙特卡洛:不聚类时,名义 5% 的检验实际拒绝了 21.6%。

    固定效应聚类标准误reghdfeStata
  11. 对数与零值:log(1+y) 不能当成百分比,以及泊松回归

    因变量里有零,就取 ln(1+y),系数当百分比读。一个模拟:同一份数据只改 y 的单位,DID 系数从 0.14 变到 0.43,而真实效应是 0.2;泊松伪极大似然(PPML)不受单位影响。附 ppmlhdfe 的用法、系数的读法和适用边界。

    PPML对数变换零值Stata
  12. 分位数回归:条件分位数、控制变量与 RIF 回归

    分位数回归估计的是“条件分位数”,加了控制变量之后,它回答的就不再是同一个问题。一个随机分配的模拟:不加控制时,90% 分位数的处理效应是 1.34,加了一个控制变量变成 1.64,OLS 则始终是 1.0。附 qreg、sqreg、RIF 回归的用法和面板数据里的几个选择。

    分位数回归RIF异质性Stata