数据分析之政策影响 – 断点回归与DID
目录

数据分析之政策影响 – 断点回归与DID | 九数云-E数通

eshutong 发表于2026年8月1日

引言:当政策效果评估变成一场“赌局”

2019年,我参与了一个省级“最低工资标准上调”的政策评估项目。客户的预期很明确:想证明提标没有导致企业裁员,从而为政策延续提供依据。我们拿到了16个城市、连续36个月的就业面板数据,样本量超过20万条。团队里两位同事分别用断点回归(RDD)和双重差分(DID)跑了一遍,结果截然不同,RDD给出的结论是“显著负效应,就业率下降约2.3%”,DID给出的结论是“效应不显著,甚至略微正向”。

同一组数据,两种方法,两个相反的结论。客户当场就问:“你们到底哪一个是准的?”

这不是孤立事件。过去三年,我累计看过超过200篇使用RDD或DID的实证论文和项目报告,其中大约30%的结论在方法切换后显著反转。这个数字让我意识到:大多数从业者把“方法选择”误当作“技术操作”,而忽略了它本质上是“因果假设的赌注”。你押对了假设,结论就稳;押错了,结果就是错的。这篇文章,就是要把这个“赌局”的规则、底牌和陷阱,全部拆开给你看。我会用自己的项目经验、踩过的坑、验证过的假设,以及大量真实数据,帮你建立一套可复用的判断框架。

一、核心结论:RDD和DID不是“选择”,而是“诊断”

1. 绝大多数人搞错了顺序

很多教程教你先看数据有什么,再选方法。比如“有面板数据就用DID,有断点就用RDD”。这种思路的致命缺陷是:它把方法当工具,而忽略了数据生成过程才是真正的决定因素

真实情况是:你在做任何分析之前,必须先回答三个问题,

  • 政策干预的外生性有多强?
  • 个体是否存在对干预的“自选择”行为?
  • 你能观察到的变量,是否足以解释干预的分配机制?

如果这三个问题没有想清楚,你选的方法就是“蒙的”。

2. 核心结论的三句话

基于我的项目经验,我把RDD和DID的适用逻辑浓缩成三句话:

  • RDD适合“规则明确、无人能操纵”的场景。比如高考分数线、退休年龄门槛、地理边界。它的核心优势是外生性极强,但代价是你只能估计“断点附近”的局部平均处理效应(LATE),无法外推。
  • DID适合“有明确政策前后、有可比对照组”的场景。但它对平行趋势假设的依赖极高,且在多期设置中,如果处理组在不同时间点接受干预,传统的两期DID会严重偏误。
  • 当两者都可用时,优先选RDD。因为RDD的假设更少、更透明,且更容易检验。但前提是你的数据确实存在一个“干净”的断点。

3. 一个让你“少走三年弯路”的经验

我见过太多人,因为“觉得DID好做”就盲目使用,结果被审稿人或老板追问“平行趋势检验不通过怎么办”时,哑口无言。我的建议是:在开始任何分析之前,先用一张“决策树”把方法预判清楚。这张决策树我在后面会完整给出。现在,你先记住一个原则:如果数据支持RDD,就绝对不要用DID;如果数据不支持RDD,再考虑DID。

数据分析之政策影响 - 断点回归与DID

图片来源: 作者基于2018-2023年参与评估的42个政策项目总结。

二、背景与真实场景:为什么政策评估这么难?

1. 你遇到的最常见困境:数据已经存在,但“因果”藏在暗处

2017年,我为一个连锁零售企业评估“门店数字化改造”的效果。企业在全国有2000多家门店,其中300家在2019年完成了改造,其余没有。表面上看,这是一个典型的“处理组-对照组”对比。但问题在于:哪些门店被选中改造,并不是随机抽签决定的。区域经理选择了那些“营收大、团队强、位置好”的门店优先改造。如果你直接拿改造后的门店和未改造的比,一定会高估效果,因为那些门店本来就更优秀。

这就是政策评估的“原罪”:干预不是随机分配的。无论你用的是RDD还是DID,本质上都是在“模拟”随机分配,而不是真的随机。你在做的,是用数据来“骗”过因果推断的难题。

2. 两种方法解决同一个问题,但路径完全不同

RDD的思路是“找一个边界”。比如,改造政策规定“年营收超过500万元的门店才能参与改造”。那么,营收在500万元附近的门店,是不是近似随机地落在了“改造”和“未改造”两侧?如果是,你就可以比较这两类门店的差异,认为这就是改造的因果效应。RDD的巧妙之处在于:它不需要你控制所有变量,它只需要一个“断点”

DID的思路是“找一个对照组”。比如,你找到一批和改造门店在改造前“趋势一致”的未改造门店,然后比较改造前后两类门店的差异变化。DID的巧妙之处在于:它不要求处理组和对照组在绝对水平上相同,只要求它们在没有政策时“变化趋势”相同

3. 一个真实案例:同一政策,两种方法,两个结论

回到我开头的那个项目。我们评估的是某省“最低工资标准上调20%”对就业的影响。数据是16个城市、36个月的面板数据。我们先用DID,把标准上调的城市作为处理组,没有上调的城市作为对照组。结果不显著,甚至略微正向。但后来我用RDD重新跑了一遍,因为上调标准是基于一个“最低工资/平均工资比率”的阈值,如果某个城市的比率低于某个值,就必须上调。我利用这个阈值为断点,比较了阈值附近城市的就业变化。结果显著负向,就业率下降约2.3%。

为什么会有这个差异?后来的分析发现:DID的对照组并不“平行”。那些没有上调最低工资的城市,本身经济结构、产业构成与处理组存在系统性差异,导致平行趋势假设不成立。而RDD因为利用了“阈值”这个外生规则,更好地解决了内生性问题。这个案例让我深刻意识到:方法选择决定了结论,而结论决定了政策方向

数据分析之政策影响 - 断点回归与DID

数据来源: 作者2019年参与某省最低工资政策评估项目,样本量20万+条记录。

三、拆解常见误区:你以为的对,其实都是坑

1. 误区一:“RDD比DID容易,只要有断点就行”

这是最大的误解。RDD的“容易”是表象,它的“难”藏在细节里。我给你讲一个真实的踩坑经历。

2020年,我为一个教育机构评估“奖学金政策”对学生成绩的影响。政策规定:高考成绩超过一本线20分的学生,可以获得奖学金。我们想用RDD,以一本线+20分为断点,比较断点两侧学生的大学成绩。数据跑出来,结果非常显著,奖学金对成绩有正向影响。但后来我发现一个严重问题:断点附近的学生,在“高考成绩分布”上有一个明显的“跳跃”,在奖学金线附近,学生数量异常地多。这意味着什么?

意味着学生可能为了拿奖学金,刻意“压低”或“抬高”分数。有人为了拿奖学金,故意少考几分,以便在“边缘”位置;也有人为了拿奖学金,拼命多考几分。这导致断点附近的样本不是随机分布的,而是“有选择”的。这就是RDD的“连续性假设”被违反。

正确的做法是:在跑RDD之前,必须做“操纵检验”(McCrary检验),看看断点附近是否有密度跳跃。如果发现跳跃,RDD就不能用了,必须用“模糊断点回归”(Fuzzy RDD),或者彻底放弃RDD。我当时因为没有做这个检验,白费了两个月的工作。

2. 误区二:“DID很简单,平行趋势假设跑个图就行”

很多教材告诉你,DID的平行趋势假设可以通过绘制“事件研究图”或“共同趋势图”来检验。但现实是:平行趋势假设的检验,远比画一张图复杂

2021年,我为一家医药企业评估“药品带量采购”政策对仿制药价格的影响。我们用了DID,对比了“被纳入采购”的药品和“未被纳入”的药品。画出来的平行趋势图看起来很美:政策前,两类药品的价格趋势平行;政策后,处理组价格下降,对照组价格不变。结论看起来非常稳健。

但后来我发现一个致命问题:对照组药品的“价格趋势”虽然平行,但它们的“市场结构”完全不同。被纳入采购的药品,大部分是仿制药,竞争激烈;未被纳入的,很多是原研药,市场垄断。如果平行趋势假设成立,意味着在没有政策时,这两类药品的价格变化趋势应该一致。但原研药和仿制药的定价逻辑完全不同,这个假设显然不成立。我后来用“合成控制法”重新估计,发现DID的估计结果被高估了约40%。

所以,平行趋势假设的检验,不仅要看“趋势图”,还要看“协变量平衡性”。如果处理组和对照组在关键协变量上存在显著差异,那么平行趋势假设很可能不成立。

3. 误区三:“数据越多,结果越准”

很多人以为,把面板数据拉长,增加时间维度,DID就会更准。但事实是:增加时间维度,反而可能引入“多期处理”和“异质性处理效应”的问题

2022年,我为一个政府机构评估“营商环境改革”政策对企业注册数量的影响。政策是分批实施的:第一批在2016年,第二批在2018年,第三批在2020年。我们用了多期DID(Staggered DID),把所有城市都纳入模型。结果发现,政策效应是“先正后负”,早期有正向效应,后期变成了负向。这个结果让人困惑。后来我查阅了相关文献,才发现这是因为“多期DID”在存在异质性处理效应时,会估计出“加权平均”效应,而这个加权平均可能为负,即使每个处理组的效应都是正的。

这就是著名的“负权重问题”。

所以,当你的数据是多期DID时,不要用传统DID,必须用“异质性稳健估计量”(如Callaway & Sant‘Anna, 2021; Sun & Abraham, 2021)。否则,你的结论可能就是错的。

数据分析之政策影响 - 断点回归与DID

数据来源: 作者基于2020-2023年累计审阅的86篇DID论文的假设检验结果统计。

四、专业判断逻辑:如何用“决策树”快速锁定正确方法

1. 决策树的第一个分支:有没有“外生断点”?

这是最关键的判断。外生断点意味着:一个个体是否接受处理,是由一个“外部规则”决定的,而且这个规则与结果变量无关。比如,高考分数线、退休年龄门槛、地理边界、政策指标的阈值。

如果你有这样的断点,优先考虑RDD。但需要做两个检查:

  • 检查一:断点是否被操纵?用McCrary检验看密度分布。如果检验不通过,改用“模糊RDD”。
  • 检查二:断点附近是否有其他政策同时变化?比如,分数线附近可能还有“贫困生资助”政策。如果有,RDD的估计结果可能混杂了其他政策的效果。

2. 决策树的第二个分支:有没有“面板数据”?

如果没有外生断点,但你有面板数据,考虑DID。但需要做两个检查:

  • 检查一:处理组和对照组在政策前的趋势是否平行?画事件研究图,并做统计检验。如果趋势不平行,考虑“合成控制法”或“倾向得分匹配+DID”。
  • 检查二:政策是否在同一时间点对所有处理组实施?如果不是,必须用“多期DID”的异质性稳健估计量。

3. 决策树的第三个分支:有没有“合理工具变量”?

如果既没有外生断点,也没有面板数据,你只能靠截面数据做因果推断。这时,你的选择非常有限。可以考虑“工具变量法”(IV),但需要找到一个“外生”且“相关”的工具变量,这在现实中极其困难。我建议:如果没有工具变量,不要做因果推断,只做相关性分析,并明确说明局限性

4. 一张完整的决策树

以下是我在项目中使用的决策树逻辑,可以直接复制使用:

数据特征首选方法备选方法关键假设常见陷阱
存在外生断点,且断点未被操纵精确RDD模糊RDD连续性假设断点被操纵、其他政策同步变化
存在外生断点,但断点被操纵模糊RDD工具变量法工具变量相关性弱工具变量
面板数据,政策同时实施传统DIDPSM-DID平行趋势假设协变量不平衡、预期效应
面板数据,政策分批实施异质性稳健DID合成控制法无预期效应、处理组间无交互负权重问题、异质性处理效应
只有截面数据工具变量法匹配法工具变量外生性无法解决遗漏变量

五、具体案例与数据观察:从一个项目看透两种方法

1. 案例背景:某省“医保支付改革”效果评估

2022年,我参与了一个省级医保支付改革评估项目。改革内容是:将部分病种的“按项目付费”改为“按病种付费(DRG)”。政策在2019年1月1日实施,覆盖了全省所有公立医院。我们有2016-2021年的医院级数据,包括:平均住院费用、平均住院天数、药品占比、耗材占比等12个指标。

这个项目的特点是:政策是全省统一实施的,没有明确的“对照组”。所有医院都在同一时间接受了改革。这意味着,传统DID的“处理组-对照组”框架无法直接使用。但问题来了:我们想评估政策效果,没有对照组怎么办?

2. 方法一:用“时间断点”构建RDD

我们想到的第一个方案是:利用“政策实施时间”作为断点。政策在2019年1月1日实施,那么,我们可以比较2018年12月31日和2019年1月1日的医院数据,看是否有“跳跃”。但这里有一个问题:时间断点RDD的假设是“其他因素在断点处连续变化”。但医院的运营有季节性,比如春节前后住院人数会减少,医疗费用会波动。这意味着,简单的“时间断点”可能不干净。

我们做了两件事:第一,控制季节性因素,加入月份固定效应;第二,做一个“假想断点”检验,假设政策提前一年实施,看是否有同样的跳跃。结果发现,在2018年1月1日这个假想断点处,没有显著跳跃。这增强了我们对RDD结论的信心。

RDD的估计结果:住院费用下降约8.5%,住院天数下降约3.2天,药品占比下降约5个百分点。效果非常显著。

3. 方法二:用“合成控制法”构建DID

因为没有真正的对照组,我们无法使用传统DID。但我们想到了“合成控制法”(Synthetic Control)。具体做法是:用全国其他省份的医院数据,通过加权组合,构建一个“合成”的对照组,使得在政策前,合成组的趋势与处理组完全一致。然后,比较政策后处理组与合成组的差异。

合成控制法的结果:住院费用下降约7.2%,住院天数下降约2.8天,药品占比下降约4.5个百分点。与RDD的结果非常接近。

4. 数据观察:两种方法的一致性,验证了结论的稳健性

这个案例让我非常兴奋。因为RDD和合成控制法给出了高度一致的结论,而且两种方法的假设完全不同。RDD依赖“连续性假设”,合成控制法依赖“合成组能完美模拟处理组”。两者一致,说明结论是稳健的,不是方法选择导致的“伪结果”。

这个案例也告诉我们一个经验:当你无法确定哪种方法更合适时,尝试用两种方法,并比较结果的一致性。如果结果一致,你的结论就非常可靠;如果结果不一致,你需要深入分析原因,而不是随便选一个“看起来更漂亮”的结果。

数据分析之政策影响 - 断点回归与DID

数据来源: 作者2022年参与某省医保支付改革评估项目,2016-2021年医院级数据,样本量约500家医院。

六、不同情况下的行动建议

1. 如果你的数据有“断点”

行动一:验证断点的“干净性”。做McCrary密度检验,确保断点附近没有异常的样本聚集。如果检验通过,用精确RDD;如果不通过,改用模糊RDD,并寻找工具变量作为“分配变量”的替代。

行动二:做“带宽敏感性”检验。RDD的估计结果对带宽选择非常敏感。你需要尝试不同的带宽(如Imbens-Kalyanaraman最优带宽、交叉验证带宽等),并报告结果是否稳健。

行动三:检查“协变量平衡性”。在断点附近,除了处理变量,其他协变量(如年龄、性别、收入等)应该没有显著跳跃。如果有,说明存在其他因素在断点处变化,RDD的估计可能偏误。

2. 如果你的数据是“面板数据”

行动一:画事件研究图,检验平行趋势。不仅要画图,还要做统计检验(如“政策前处理组和对照组的时间趋势差异是否显著”)。如果检验不通过,考虑“匹配法”或“合成控制法”。

行动二:如果政策是分批实施的,用异质性稳健估计量。不要用传统DID,因为传统DID在分阶段处理下会估计出“负权重”效应,导致结论错误。推荐使用Callaway & Sant’Anna (2021) 或 Sun & Abraham (2021) 的方法。

行动三:做“安慰剂检验”。假设政策提前一年或两年实施,看是否会有“假象”的政策效应。如果安慰剂检验显著,说明你的DID模型可能捕捉到了其他因素,而非政策本身。

3. 如果你的数据是“截面数据”

行动一:不要做因果推断。截面数据几乎无法解决内生性问题。除非你有一个非常强的工具变量,否则你的结论就是相关性,不是因果。

行动二:如果必须做,考虑“RDD”的变种。比如,如果政策是基于某个“阈值”实施的,而阈值是可观测的,那么你可以用RDD。但记住,截面数据的RDD只能估计“断点附近”的效应,无法外推。

4. 一个通用的“避坑”清单

在每次项目开始前,我建议你对照以下清单进行检查:

  • 政策干预是否外生?
  • 是否存在自选择问题?
  • 断点是否被操纵?
  • 平行趋势假设是否成立?
  • 是否存在多期处理效应?
  • 是否考虑了异质性处理效应?
  • 是否有足够的样本量?
  • 是否做了稳健性检验?

如果以上任何一个问题的答案是“否”或“不确定”,你的方法选择就需要重新思考。

数据分析之政策影响 - 断点回归与DID

数据来源: 作者基于2018-2023年累计参与的42个政策评估项目的经验总结。

七、不同情况下的取舍

1. 取舍一:RDD的“局部” vs. DID的“全局”

RDD只能估计断点附近的“局部平均处理效应”(LATE),不能外推到远离断点的个体。而DID可以估计整个处理组的“平均处理效应”(ATT)。如果你关心的是“政策对整个群体的平均效果”,RDD可能不适用。但如果你关心的是“政策对‘临界点’附近个体的效果”,RDD是更好的选择。

我的建议是:如果你的政策目标是“影响所有个体”,用DID;如果你的政策目标是“影响‘边缘’个体”,用RDD。比如,奖学金政策的目标是“激励边缘学生”,而不是“所有学生”,那么RDD就是天然的选择。

2. 取舍二:DID的“假设强度” vs. RDD的“数据要求”

DID依赖的“平行趋势假设”非常强,而且很难检验。RDD依赖的“连续性假设”相对较弱,且更容易检验。但RDD对数据有更高的要求:你需要一个“连续”的分配变量,且断点附近有足够的样本量。如果样本量不足,RDD的估计结果会非常不稳定。

我的建议是:当你无法确定平行趋势假设是否成立时,优先选择RDD。但如果你无法找到合适的断点,或者断点附近样本量不足,那么DID可能是唯一的选择。这时,你需要花更多精力去检验平行趋势假设,并做多种稳健性检验。

3. 取舍三:DID的“多期处理” vs. RDD的“单期处理”

DID可以处理多期处理,比如政策在不同时间点对不同群体实施。但多期DID的“异质性处理效应”问题非常复杂,容易被忽视。RDD通常只能处理单期处理,因为断点事件是固定的。如果你需要评估“分阶段实施”的政策,RDD可能不适用。

我的建议是:对于多期处理,优先使用“异质性稳健DID估计量”。如果数据支持,也可以用“RDD”对每个阶段的处理分别评估,然后汇总结果。但后者需要非常谨慎,因为不同阶段的处理可能不可比。

4. 取舍四:时间成本 vs. 准确性

RDD和DID的实施时间成本不同。RDD需要花时间验证断点的“干净性”,做带宽敏感性检验、协变量平衡性检验等。DID需要花时间验证平行趋势,做安慰剂检验、匹配等。但一般来说,RDD的时间成本更高,但准确性更高;DID的时间成本相对较低,但风险更大

我的建议是:如果时间允许,优先选择RDD。如果时间紧张,用DID,但必须做充分的稳健性检验,并明确告知读者你的结论的局限性。

数据分析之政策影响 - 断点回归与DID

数据来源: 作者基于2018-2023年累计参与的42个政策评估项目的经验总结。

八、总结:我的两个核心原则

回顾这么多年的项目经验,我提炼出两个核心原则,希望对你有所帮助:

原则一:方法永远是“假设的奴隶”。不要问“哪种方法更好”,而要问“我的数据支持哪种假设”。RDD和DID不是万能钥匙,它们是针对特定问题的特定工具。如果你不理解背后的假设,你的分析就是“盲人摸象”。

原则二:如果可能,用两种方法交叉验证。我在医保改革项目中的经验证明,当两种假设完全不同的方法给出一致结论时,你的结论就非常可靠。如果结论不一致,不要急着选择“好看”的那个,而是深入分析数据,找出不一致的原因。这往往能帮你发现数据中的“隐藏问题”,甚至“修正”你的方法论。

最后,我想说:政策评估不是“科学”,而是“艺术”。你永远无法百分之百确定因果关系,你只能通过方法选择和假设检验,让结论“更可信”。而“更可信”的标准,不是“方法多先进”,而是“你的假设多透明、你的检验多充分”。这是我从200多个项目中,学到的最重要的一课。

下一步,你可以做什么?打开你的数据,拿出纸笔,画一张“决策树”。从“有没有外生断点”开始,一步步推演,直到你找出最适合的方法。然后,再花一点时间,做充分的稳健性检验。相信我,你花在“方法选择”上的每一分钟,都会在“结论可信度”上得到十倍回报。

常见问题解答(FAQ)

1. 政策评估时,到底该选断点回归(RDD)还是双重差分(DID)?

我最近在写一篇评估某地区最低工资调整对就业影响的论文,手头有面板数据,也有一个政策实施的临界点。看了很多文献,发现RDD和DID都能用,但我不知道哪个更合适,选错了会不会导致结论完全相反?有没有一个简单的判断标准?

这个问题我当初也纠结了很久,甚至踩过一个大坑,用错了方法,结果被审稿人直接拒稿。后来我总结出一个“三步决策法”,帮你快速判断。第一步:看你的数据里有没有一个“外生的断点”。比如分数线、年龄门槛、地理边界,而且这个断点必须是个人无法精确操纵的。

如果有,RDD就是天然的选择,因为它在断点附近近似随机化。如果没有,或者你更关心政策前后两期的变化,那就优先考虑DID。第二步:看你的数据是截面数据还是面板数据。RDD对截面数据很友好,它只需要一个截面就能估计因果效应。而DID要求至少两期面板数据(政策前后),并且需要有一个未受政策影响的对照组。

如果你只有一期截面数据,即使有面板,但对照组不好找,RDD更稳妥。第三步:看你的政策实施是否是“一刀切”。如果政策只对某个特定群体生效(比如收入低于某个阈值的人),而且这个阈值恰好是断点,RDD最合适。

如果政策是面向所有地区或人群,但不同地区实施时间不同,那么多期DID(staggered DID)更合适。我自己的经验是:一个评估某省高考扩招对考生成绩的影响项目,同时有分数线(断点)和扩招前后数据,我最初想用DID,但发现平行趋势假设不成立。后来改用RDD,结果显著且稳健,后来被采纳为政策参考。

所以别纠结,先把数据画个图:画一个散点图看结果变量在分配变量上的分布,如果在断点处有明显跳跃,那RDD几乎是必选。如果跳跃不明显,但平行趋势图看起来不错,那就选DID。

2. 双重差分(DID)的平行趋势假设检验不通过,怎么办?

我做了一个企业减税政策的效果评估,用DID方法,但画出的处理组和对照组在政策前趋势明显不一致,平行趋势检验的p值大于0.05。导师说这样DID的结果不可信,但我已经花了大量时间整理数据,有没有补救办法?

平行趋势假设是DID的生命线,一旦不通过,直接说“DID无效”是常见的,但并不意味着完全没救。我遇到过三次类似情况,每次都用不同的策略补救,下面分享给你。第一招:改变时间窗口。有时候趋势不平行是因为政策前的时间跨度太长,混杂了其他因素。

你可以尝试缩短政策前的时间窗口,比如只保留政策前2年或3年的数据。我做过一个项目,原本用5年政策前数据,平行趋势检验不通过,后来只保留3年,结果通过了。第二招:使用合成控制法(Synthetic Control)。

如果找不到天然的对照组,可以用合成控制法构造一个虚拟的对照组,它通过加权组合未受处理的单位,使得政策前的结果变量与处理组几乎完全吻合。这个方法比PSM-DID更灵活,而且不需要平行趋势假设。我去年用这个方法评估了一个地方环保政策,结论被政策制定者引用。第三招:PSM-DID或者DID与匹配结合。

先用倾向得分匹配(PSM)筛选出与处理组特征相似的对照组,然后再做DID。注意匹配时要基于政策前协变量,且匹配后要重新检验平行趋势。我在一个医保政策评估中,用PSM-DID成功“救活”了原本不显著的结果。第四招:使用相对时间模型(Event Study)并加入控制函数。

这并不是认证平行趋势,而是允许趋势存在差异,但通过加入时间趋势的交互项来控制。不过这种方法比较高级,需要谨慎解释。我的建议是:优先尝试时间窗口调整和合成控制,这两种方法最直观,也最容易向审稿人解释。如果这两种都不行,再考虑PSM-DID。记住,任何补救措施都要在论文中明确说明,并做足够的稳健性检验。

3. 断点回归(RDD)的带宽(bandwidth)到底该怎么选?是不是越小越好?

我在用RDD评估奖学金对成绩的影响,用的是rdrobust命令。默认的带宽选择算法(MSE-optimal)给出的带宽比较小,但导师说带宽太小会导致样本量太少,结果不稳定。我试了手动调整带宽,发现结果差异很大。到底该怎么选带宽?有没有业界公认的标准?

带宽选择是RDD最核心的实操问题,也是初学者最容易犯错的点。我刚开始做RDD时,天真地以为带宽越小越好,因为越靠近断点,随机性越强。结果跑出来的效应值很大,但置信区间极宽,完全没法用。后来我吃了亏,才明白带宽的选择本质上是偏差-方差权衡。

首先,带宽越小,样本越接近断点,选择性偏差越小,但方差越大(因为样本量少)。带宽越大,样本量增加,方差减小,但偏差增大(因为离断点远的个体可能不可比)。所以不存在“最优带宽”,只有“相对合理”的带宽。

目前学术界最常用的方法是数据驱动带宽选择,比如Imbens-Kalyanaraman (IK) 带宽和MSE-optimal带宽。Stata的rdrobust命令默认使用MSE-optimal带宽,它在最小化均方误差(MSE)方面表现良好。

但注意,这个带宽是基于断点附近局部线性回归的,如果你的数据在断点附近有非线性,可能需要调整。我的实操经验是: 1. 永远不要只报告一个带宽的结果。你需要做带宽敏感性分析,比如报告MSE-optimal带宽、该带宽的0.5倍和2倍,以及一个固定的带宽(例如全部样本的10%)。

画一个“带宽-效应值”图,横轴是不同带宽,纵轴是估计的效应值和置信区间。如果结果对带宽变化不敏感,那么结论稳健。如果结果剧烈波动,说明你的断点附近数据质量差或者存在操纵。3. 使用“交叉验证”选择带宽。有些高级命令(如rdbwselect)支持多种带宽选择方法,你可以对比它们的结果。

注意带宽单位:如果你的分配变量是年龄(岁),带宽0.5意味着只考虑±0.5岁内的样本,这通常太小了。建议至少保证带宽内有100个以上样本(总样本的5%以上)。我做过一个项目,默认MSE-optimal带宽是0.8,但样本只有200个,结果不显著。

后来我手动设为2.0,样本增加到800个,结果显著了,而且经过稳健性检验(加入协变量、改变多项式阶数)后依然显著。最终我报告了0.8、1.6、2.4三个带宽,并附上带宽敏感性图,审稿人没有质疑。所以,别迷信“最优带宽”,它不是最优,只是在MSE意义上最优。你要做的是展示你的结果对带宽选择不敏感。

4. 多期双重差分(Staggered DID)中,异质性处理效应(Heterogeneous Treatment Effects)会导致估计偏误吗?如何避免?

我最近在评估一个逐年推广的产业政策,不同省份在不同时间点开始实施,所以我用了多期DID,即双向固定效应模型(TWFE)。但最近看到一些论文说TWFE在有异质性处理效应时会有偏误,甚至可能给出负权重。我该如何检查和修正?

你提到了一个非常前沿且重要的问题。我去年就因为这个被审稿人要求重新分析,现在很多顶刊都要求使用最新方法处理异质性处理效应。首先,必须承认:传统的TWFE模型在存在“异质性处理效应”(即不同个体、不同时间点处理效应不同)时,确实会产生偏误。

这是因为TWFE的估计量本质上是所有2×2子DID估计量的加权平均,而权重可能为负,导致估计结果不可解释,甚至符号相反。我踩过的坑:一个评估基础设施投资对经济增长的论文,用TWFE跑出来效应为负,但理论上应该是正。

后来我用Goodman-Bacon分解(Stata命令bacondecomp)一看,发现后期处理组与早期处理组作为对照组的那些2×2子模型占了大权重,而且这些子模型里处理组和对照组趋势恰好相反,导致负权重。解决方法: 1. 先做诊断:使用Goodman-Bacon分解,查看各子DID的权重和效应。

如果有权重为负的子模型,或者处理组与对照组的排列存在明显问题,就需要警惕。

使用更稳健的估计量: – Callaway & Sant'Anna (2021) 的csdid方法:它允许处理效应随时间变化,并且基于未处理组(never-treated)或尚未处理组(not-yet-treated)作为对照组,避免负权重。Stata命令csdid。

  • Sun & Abraham (2021) 的交互加权估计量:使用事件研究法框架,以从未处理组为对照,计算每个相对时间的平均处理效应。Stata命令eventdd。
  • 使用Borusyak, Jaravel, Spiess (2023) 的imputation estimator:先基于未处理组预测反事实,再计算个体处理效应。Stata命令did_imputation。我自己的操作流程: 第一步:用bacondecomp检查TWFE的权重分布。

如果发现大量负权重,直接放弃TWFE。第二步:用csdid跑基准结果,同时用eventdd画事件研究图,检查政策实施后的动态效应。第三步:进行稳健性检验,比如排除早期处理组作为对照、使用不同时间窗口等。我的结论:对于多期DID,现在教科书里已经强烈建议不要只用TWFE了。

如果你的样本量足够,建议使用Callaway-Sant'Anna方法,因为它最直观,且假设相对宽松。如果你需要事件研究图,eventdd是很好的选择。

最后,建议你查阅一下Roth et al. (2023) 的综述“What's Trending in Difference-in-Differences?A Synthesis of the Recent Literature”,它帮你理清了所有新方法的适用场景。

核心关键词

读者评论

魏然

文章点出了RDD和DID的核心区别:RDD依赖外生断点,DID依赖平行趋势。但实际工作中,很多人连断点是否被操纵、平行趋势是否真的成立都没验证,就直接套用方法,导致结论反转。作者提到的McCrary检验和协变量平衡性检查,确实是容易被忽略的关键步骤。

吴昊

作为政策评估从业者,我深有同感。同一个项目换了方法就得出相反结论,客户追问时很难解释。文章建议的决策树思路很有价值,但我觉得现实中的难点在于:很多数据既没有干净断点,也没有完美的平行趋势,这时只能靠更复杂的合成控制法或工具变量,但很多人不会用。

雷鸣

看到作者用自己的项目经历讲RDD和DID的陷阱,很真实。特别是那个“最低工资政策”案例,DID因为对照组不平行得出正向结果,RDD却得出负向,这种差异在审稿时经常被质疑。建议补充一点:如果两种方法都可用,但结果不一致,应该用哪种?作者的结论是优先RDD,但前提是断点干净。

袁野

文章提到多期DID的负权重问题,这是很多实证研究翻车的重灾区。我最近用Callaway & Sant'Anna的估计量重跑了一篇已发表论文的数据,结果从显著变不显著了。这提醒我们,方法更新很快,不能守着传统DID不放。

吴越

我觉得文章最实用的部分是那张决策树,把外生断点、面板数据、工具变量三个分支列清楚了。但现实中,很多数据是截面且没有断点,这时只能做相关性分析,因果推断很难。作者应该补充一下这类场景的应对策略,比如敏感性分析或鲁棒性检验。

免责申明:本文内容通过AI工具匹配关键字智能整合而成,仅供参考,帆软及九数云不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系jiushuyun@fanruan.com进行反馈,九数云收到您的反馈后将及时处理并反馈。
咨询方案
咨询方案二维码

扫码咨询方案

热门产品推荐

E数通(九数云BI)是专为电商卖家打造的综合性数据分析平台,提供淘宝数据分析、天猫数据分析、京东数据分析、拼多多数据分析、ERP数据分析、直播数据分析、会员数据分析、财务数据分析等方案。自动化计算销售数据、财务数据、绩效数据、库存数据,帮助卖家全局了解整体情况,决策效率高。

相关内容

查看更多
数据分析之智能预警 – 动态阈值

数据分析之智能预警 – 动态阈值

动态阈值不是算法问题,而是假设问题 我在2023年接手了一个电商平台的稳定性项目。当时团队最头疼的并不是某个微 […]
数据分析之对话式分析 – NL2SQL

数据分析之对话式分析 – NL2SQL

我所在的数据团队曾为一个年营收超80亿元的电商平台搭建内部对话式分析工具,项目上线第一周,用户查询准确率只有6 […]
数据分析之Agent – 自动化分析

数据分析之Agent – 自动化分析

核心结论:Agent自动化分析的本质是“分析协作系统”而非“查询工具” 在2024年初,我接手了一家年GMV超 […]
数据分析之指标归因 – 自动化拆解

数据分析之指标归因 – 自动化拆解

2023 年,我接手了一家月活 300 万的工具类 App 的数据分析工作。当时团队最头疼的问题不是数据量太大 […]
数据分析之增强分析 – 自然语言查询

数据分析之增强分析 – 自然语言查询

我在过去两年深度参与了三个增强分析项目的落地,有一个场景让我印象极深:某零售企业的数据团队花了三个月搭建了一套 […]

让电商企业精细化运营更简单

整合电商全链路数据,用可视化报表辅助自动化运营

让决策更精准