8 案例:AI 解读 Wing (2024)
本章以 Wing et al. (2024) 的论文为例,介绍如何使用 AI 工具来解读论文。
与 ChatGPT 的对话过程:点击查看。
此前,我也用豆包帮我读过这篇论文,参见 豆包对话过程。
8.1 泛聊并形成大纲
我把 Wing et al. (2024) 的论文上传到 ChatGPT,并编写了如下提示词:
#论文解读:
> Wing, C., Yozwiak, M., Hollingsworth, A., Freedman, S., & Simon, K. (2024). Designing Difference-in-Difference Studies with Staggered Treatment Adoption: Key Concepts and Practical Guidelines.
Annual Review of Public Health, 45(1), 485–505.
[Link](https://doi.org/10.1146/annurev-publhealth-061022-050825).
我想写一篇论文推介,介绍这篇论文。
你帮我列个提纲。包括如下要点:
- 论文的核心观点和主要结论是什么?
- 文中介绍了哪些主要方法 (参见 Table 1)?
- 作者提供了哪些实操建议?参见 Section 5
ChatGPT 的回答简明扼要,基本上抓住了这篇论文的要点。让我有点惊喜的是,它居然还贴心地列了一个表格,把文中提到的五种方法对应的 Stata 和 R 实现命令也总结好了。
## 1. 论文的核心观点与主要结论
核心问题:传统 DID 在处理“分期处理”(staggered adoption)时会面临严重的混淆偏误(confounding),尤其是在存在时间异质性处理效应的情况下。
关键结论:
两大核心理念:
- 复杂 DID = 简单 2×2 DID 的加权平均,理解这一点有助于解析 TWFE 存在哪些“坏的比较”;
- 干净的控制组(clean controls)设计是避免偏误的关键。
TWFE 估计量存在混杂:它不仅包括“treated vs untreated”,还包括“late vs early”这种有偏比较;
推荐使用的新方法(如 stacked DID 和 Callaway & Sant’Anna 方法)能更清楚地识别组 × 时间的异质性效应,并给出更可信的平均处理效应。
## 2. 文中介绍的主要方法(Table 1)
方法 | 软件支持 | 输出内容 | 优点 | 注意事项 |
---|---|---|---|---|
Stacked DID | STATA/R 通用实现 | 加总或 event study 图 | 保证干净控制组;结构直观 | 权重不透明;标准误需聚类 |
Callaway & Sant’Anna (2021) | did (R), csdid (Stata) |
所有 ATT(a, t),可自定义加权 | 明确估计每个 group × time 效应 | 稍复杂;推荐用包 |
Gardner (2022) | Did2s (R) |
加总效应或 event study | 利用未处理组构建双重残差 | 加权等权,需理解设计 |
Sun & Abraham (2020) | eventstudyinteract |
event study 图 | 区分 group × period 的处理异质性 | 无法处理时间变化协变量 |
Wooldridge (2022) | 回归可实现 | ATT(a, t),加总 ATT | 可以纳入时间变协变量 | 无专门包 |
de Chaisemartin & D’Haultfoeuille (2020) | did_multiplegt |
单一加总效应 | 利用“状态切换”识别处理效应 | 假设较强,解释为首次变化效应 |
## 3. 作者提供的实操建议(Section 5)
作者提出了 6 条实用建议,帮助研究者在实际操作中避免偏误和提升估计质量:
- 明确定义研究问题:是否目标是估计长期效应?平均效应?还是事件时间上的动态路径?
- 数据准备中避免混淆比较:识别每个组的处理时间,排除已经处理过的“污染对照组”。
- 慎用 TWFE 回归:除非确认处理效应恒定,否则应避免直接使用。
- 优先使用 event-study 构建组 × 时间 ATT:推荐 Callaway & Sant’Anna 或 stacked DID 实现。
- 合理使用协变量调整:特别是时间不变协变量,可用于强化并行趋势假设。
- 图形化展示 ATT 路径和 pre-trend 检验:通过 event-study 图来验证 no anticipation 和 common trends 假设。
如需将其撰写为一篇推文文章或教学讲义,我可以按结构扩写每节内容,并添加图例说明和代码演示。是否继续?
我担心自己遗漏重要内容,便追问:
除了我提供的三个要点,你认为这篇论文推介海英包含哪些要点?
ChatGPT 认为需要再补充三个要点:
很好的问题。在你已指定的三个要点基础上(核心观点、主要方法、实操建议),为了使这篇论文推介更系统、完整、适合教学与学术传播用途,我建议增加以下 3 个要点,一共构成 6 个板块的完整推介结构:
## 4. 样例设计与图形直观解释(Section 2)
- 推荐加入理由:作者构造了一个关于磺胺药物(sulfa drugs)分期推出的模拟案例,并通过图形展示了不同组别(早期、中期、晚期、未处理)在 mortality 变化上的差异。 ……
## 5. 异质性与 TWFE 偏误的来源与后果(Section 3.5)
- 推荐加入理由:该部分系统总结了 TWFE 偏误的数学机制(由 Goodman-Bacon 提出),是该领域的核心争议之一。 ……
## 6. 软件与实操实现建议(Section 4.3, Table 1)
- 推荐加入理由:Table 1 对当前主流 DID 实现方法做了清晰对比,有利于读者选择合适的工具。 ……
- 建议用途:可以补充一个附录,提供 R 和 Stata 用户分别应如何使用这些方法(如
csdid
、did_multiplegt
、eventstudyinteract
等)。
8.2 总结:建议的论文推介结构(共 6 节)
- 论文核心观点与主要贡献(What and Why)
- 主流估计方法与适用情境(Table 1)
- 作者的实操建议与方法选择(Section 5)
- 教学案例与图形展示(sulfa drugs 模拟实验)
- TWFE 的偏误与异质性陷阱(Goodman-Bacon decomposition)
- 软件工具与实证操作建议(含软件包、命令、标准误估计等)
虽然我对这个结构比较满意,但我担心 AI 写东西太过教条,或者过于简略。于是,我设定了读者的角色、他们的知识背景,并征询 AI 对篇幅的看法。
如果想写一篇适合初学者,主要是博士生和青年老师,他们的理论基础有些薄弱,希望能能通过通俗的语言,简明扼要的数学公式了解文中提到的各种方法的要点、适用场景和结果的解释方法。
我应该如何安排这篇论文的结构和篇幅,每个部分大概多少字?
非常好的设问。
我建议这篇文章安排为如下 7 个部分,总篇幅建议控制在 8000–10,000 字左右(中文字符),既适合长推文,也便于改写为课程讲义或公众号文章。
## 拟定结构与篇幅建议
序号 | 模块标题 | 内容要点 | 建议字数 |
---|---|---|---|
1 | 导言:分期处理的 DID 为什么值得关注? | - 现实案例(如政策滚动式推出) - TWFE 的流行与质疑 - 本文阅读指南与学习目标 |
600–800 |
2 | 直觉解释:DID 的本质与“分期处理”的陷阱 | - 用简单例子解释 2×2 DID 的逻辑 - Goodman-Bacon decomposition 的直觉化说明(配图) - “坏的比较”如何引入偏误 |
1000–1500 |
3 | 最常用的几种估计方法:思想、公式与适用场景 | - 逐一介绍以下方法: a. TWFE(回顾) b. Stacked DID c. Callaway & Sant’Anna (csdid) d. Sun & Abraham e. Gardner (did2s) f. de Chaisemartin & D’Haultfoeuille - 每种方法配一句话直觉、一组简要公式、一个适用场景 |
3000–3500 |
4 | 一个教学例子:sulfa drugs 与死亡率(图 + 模拟) | - 作者构建的模拟示例介绍 - 图 1 与图 2 解读:每组死亡率的变化逻辑;哪些 DID 比较是有偏的 |
800–1000 |
5 | 推荐的分析策略:设计、估计与解释的 checklist | - Section 5 的总结 - 6 条建议的通俗表达与应用建议 - 表格呈现每条建议与推荐方法 |
800–1000 |
6 | 结果解读技巧:估计量、ATT、Event Study 的含义 | - 估计的 ATT 是哪个? - 如何理解组 × 时间的动态路径? - 如何做稳健性分析(pre-trend)? |
600–800 |
7 | 附录:软件实现对照表与入门路径推荐 | - R 与 Stata 的软件包对应 - 推荐教程、代码仓库(如作者的 GitHub) - 延伸阅读(几篇核心综述文献) |
600–800 |
……
如你愿意,我可基于该结构逐一撰写每一节,并配合教学/推文风格的 markdown 文稿。是否开始撰写第一节?或者是否要我提供一个样板段落?
看到这个提纲后,我意识到,我这篇推介应该重点强调「实操建议」,这是读者最关心的内容。为此,我编写了如下提示词:
这篇推文的主要目的是给读者提供一些实操建议,因此,各个 section 的内容尽量循序渐进,确保各个模型的介绍与 Section 5 中的实操建议能有机衔接,让读者看完这篇推介后能上手应用到自己的论文中。
AI 对提纲你进行了调整,并给出了一个更为详细的结构 (详情参见原始对话),受限于篇幅,这里进列出它的提供的总结:
非常好,我已理解你的目标:这篇推文不仅是综述,更是实践指南,要让初学者「看得懂、用得上、写得进论文」。基于这个要求,我对之前的结构做了进一步优化,以实现 从直觉启发 → 方法入门 → 模拟案例 → 实操建议
的自然过渡,并确保每个方法介绍最终都能在 Section 5 实操建议中找到落地应用。
8.3 撰写论文推介正文
接下来的工作就很简单了:按照上面的提纲,逐步撰写每个部分的内容。
此时,建议明确说明对正文的撰写要求。比如,是否需要使用教学风格的语言,是否需要配合图表,是否需要提供代码示例等。
下面是我经过长时间打磨形成的一个比较稳定的提示词:
按照 {优化后的推文结构(强调“实操衔接”)} 的结构来写,每个 section 输出一次。
字数严格按照计划执行,不要缩减。
格式要求:
- 按照 ## 1. sec_title; ### 1.1 sub_sec_title 的方式编号 ;每个 section 添加一个标签 {lab-sec#},便于后续修改时定位
- 语言风格:中文讲义,20 年从教的老教授的风格,语言平和,准确,有力
- 不要使用任何表情符号
- 重要文献和链接务必在文中 提供超链接,文末提供完整的引文信息
- 引文信息尽量使用如下格式,如果 PDF 链接无法获取,可以留空或删除
[-PDF-]()
部分的信息 引文信息采用 APA 格式,附加[Link](), [PDF](), [Google](), [github]()
信息。即: Authors. ({Year}). {title_of_paper}, 45(1), 485–505.[Link](https://doi.org/{DOI}), [PDF](http://sci-hub.ren/{DOI}), [Google](<{title_of_paper}>), [github-replication](https://github.com/{ID}/{rep_name})
- 文中的例子最好具体化,并保持全文一致,逐步推进和扩展。
细心的读者可能会注意到,我在提示词的第一行,用比较严肃的语气写到「字数严格按照计划执行,不要缩减。」。这是因为,有些 AI 工具经常会「偷工减料」。虽然到目前我还没有完全搞清楚背后的原因,但大体上应该有如下可能:由于内存的限制,多数 AI 工具只能记住最近的 1-2 个对话的内容;此外,也有可能某些参数的设定,使之倾向于提供较为简洁的回答。为了避免这种情况,我在提示词中明确要求它严格按照计划的字数来输出结果。
8.4 最终文稿
ChatGPT 输出的 Section 1 的内容基本符合我的要求。然后他开始输出 Section 2 的内容,并询问我是否需要继续输出。我给出了如下提示词,然后陪儿子去楼下散步 (回来后就可以收割所有输出结果了)。
继续输出所有 sections,无需停顿
👉 点击查看 最终成稿。