反事实推理引擎
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_053d27d0/wzx-13。
技能介绍
要解决什么问题
做政策评估时,最常见的问题是"如果当初没有推行这项政策,结果会怎样"。纯计量方法(如合成控制法)能给出数值估计,却解释不了"为什么会这样";直接问 LLM "如果…会怎样",又容易得到看似合理实则空洞的回答。反事实推理引擎把这两条路合并:数据够的时候用数学方法算,数据不够的时候用叙事补位,并且把不确定性显式标注出来,而不是藏进一段流畅的文本里。
它如何工作
核心是双通道架构:
- 量化通道(
synthetic_control.py):基于纯 numpy/scipy 实现合成控制法。输入干预时间、处理单元、结果变量与候选池,引擎用scipy.optimize.minimize求解 donor 权重,约束为非负且和为一;随后计算观测轨迹与合成反事实轨迹的缺口,作为处理效应估计;最后对每个 donor 单元轮流做安慰剂测试,检验估计出的效应是否只是噪声。 - 质化通道(
narrative.py):LLM 围绕估计出的效应缺口生成结构化的机制解释,按直接效应、溢出效应、均衡调整、异质性响应四类机制组织。每条叙事都带置信标签:HIGH_CONF(多源印证)、MED_CONF(理论或部分证据支持)、LOW_CONF(合理但推测性强)、SPECULATIVE(仅理论可能)。 - 证据分级(
evidence.py):所有断言再按 A/B/C/D 四级评估证据质量,从"多源严格验证"到"无依据或自相矛盾"。Reporter 最终把量化估计与叙事合并为一份完整的AnalysisResult。
适用边界
- 不是通用因果推断库:没有 DiD、RDD、IV 等方法,只有合成控制。
- 不自动获取数据:donor 池需要用户自行提供或构造。
- 不做严格的统计假设检验:安慰剂测试之外没有正式检验。
- 只适合静态、批量的事后分析,不支持实时流式数据。
- LLM 叙事是推理辅助工具,
SPECULATIVE级别的结论不能当因果证据用,需要与领域知识交叉验证。
使用场景
- 评估某省医保报销新政的效果:给定干预时间、受干预城市与周边可比城市结果序列,估计自付医疗支出下降的处理效应。
- 判断高速公路收费取消是否带动物流成本下降:干预前后货运成本存在完整时间序列,需要用合成控制估计效应并做安慰剂检验。
- 分析新能源汽车补贴的传导路径:干预前样本仅 6 个时期,donor 池稀疏,需要机制叙事补位并确认置信标签是否下降。
- 复盘某地区限行政策:想从干预后的出行与排放变化中拆出政策净效应,并说明结论来自量化估计还是叙事推断。
适合人员
- 政策评估研究员:需要用合成控制法与安慰剂检验验证处理效应,再按证据等级组织报告结论。
- 公共政策方向的数据分析人员:手头有面板数据,要把反事实估计写成可审计、带置信标签的结论。
- 因果推断方向研究生:在写论文,希望量化估计与机制解释分开呈现,避免把推测写成因果证明。
- 经济与产业研究机构的量化团队成员:使用 Python/numpy,想把政策净效应估计加入研究流程而非只依赖 LLM 描述。