这个工具提供了哪些能力
点开任一能力,看清怎么用
每个能力展开后是三件事:它会给你什么、你需要准备什么、哪些必须由你把关。
常见场景:有面板或时间序列数据且存在准实验设计(政策冲击、阈值规则等)时;需要贝叶斯后验和HDI区间而非仅频率派p值时;需要安慰剂检验、留一法、密度检验等稳健性诊断来支撑因果结论时;需要生成含效应摘要、诊断图和假设陈述的自包含HTML报告时
当政策生效有明确时间点或分数线、没法做随机实验时,它帮你从观察数据里估出干预的真实效果:先算出“如果不干预本来会怎样”,再用实际结果减去它,得到带误差范围的效应估计。
它会给你什么
- 因果效应的估计结果,附带完整的抽样分布,可算误差范围。
- “如果不干预本来会怎样”的反事实预测值。
- 断点回归里分数线处的跳跃大小,或拐点设计里的斜率变化。
你需要准备
- 一份面板或时间序列格式的数据表。
- 一个模型公式,说明结果变量和哪些因素、交互项有关。
- 所选方法需要的设计参数,比如断点回归的分数线、干预时点、对照组和实验组名单、工具数据、加权方式等,不同方法要求不同。
由你把关
- 你选的方法是否匹配你的研究设计,比如阈值规则配断点回归、政策冲击配中断时间序列或双重差分,由你决定。
- 双重差分方法要求的“干预前两组走势平行”是否成立,由你核对。
- 工具变量法的前提是否成立,比如工具变量确实影响处理、又只通过处理影响结果,由你核对。
同一套估计方法既可以选贝叶斯算法(给出完整的不确定性分布),也可以选普通回归算法(只给点估计),它会自动把两者接进统一的流程;不指定时默认用贝叶斯。
它会给你什么
- 拟合好的模型,贝叶斯方式带完整抽样结果,普通回归带系数。
- 可以直接访问的模型对象。
- 对新数据做出的预测值。
你需要准备
- 你想用的底层模型实例;不指定就留空。
- 留空时兜底使用的默认模型类型。
- 所用方法自身声明支持贝叶斯还是普通回归。
由你把关
- 要不要完整的不确定性分布,要就选贝叶斯、只要一个点估计就选普通回归,由你决定。
- 贝叶斯抽样次数等设置是否足够、结果有没有正常收敛,由你核对。
- 留空会默认走贝叶斯、计算比较耗时,你是否清楚这一点,由你确认。
它把你整个分析流程串起来:先估计效应,再做敏感性分析,最后生成报告;开工前会先检查每一步的设置对不对,所有结果汇总成一份带图表的自包含网页报告,别人拿到就能复查。
它会给你什么
- 一整套结果包,包括实验对象、效应摘要、敏感性分析和报告。
- 一份自包含的网页报告,可以另存成文件。
- 各项诊断检查附带的图表。
你需要准备
- 分析用的数据表。
- 实验配置,写明用哪种方法和相关设置。
- 要做哪些步骤的清单,比如估计效应、敏感性分析、生成报告,每一步可带自己的选项。
由你把关
- 步骤顺序是否合理,估计效应必须排在敏感性分析和生成报告之前,由你核对。
- 敏感性分析结果要不要进报告,默认是不进,由你决定。
- 报告里的信息够不够别人复查,比如效应摘要、诊断图和假设说明,由你核对。
把算出来的因果效果整理成一份拿来就能用的摘要:效果有多大、误差范围多宽、效果为正的可能性多大、算不算得上实际意义上的显著,还附一段用日常语言写成的解读文字,方便直接写进论文或汇报。
它会给你什么
- 一张效应摘要表,列出平均值、中位数、误差区间、效果为正的概率、相对变化等指标。
- 几段自然语言解读,说明观察值与反事实的差距、可信程度和需要注意的假设。
- 用交错双重差分时,还会多一张按时间点汇总的效应表。
你需要准备
- 已拟合实验得到的因果效应结果。
- 反事实预测值,用来计算效果相当于基线的百分之几。
- 报告的各项设置:效果方向预期是增是减还是不限、置信水平、要不要算累积效应和相对变化、判断实际显著性的门槛、时间窗口等,大多有默认值。
由你把关
- 置信水平是否符合你领域的惯例,注意软件默认值不一定是你习惯的 95%,由你核对。
- 效果方向设置是否匹配你的研究假设,预期增加、预期减少还是不限方向,由你决定。
- 判断实际显著性的门槛有没有领域依据,不能随便设,由你核对。
对你已经算完的因果结论做一轮“体检”:用换假时点、去掉某个样本、换先验假设这类方法轮番试,每项检查告诉你通过还是没通过,并给出统计表和图,帮你判断结论是不是稳的。
它会给你什么
- 每项检查一份结果:通过与否的判定、统计表、文字解读和图表。
- 一份汇总,告诉你所有检查是否全部通过。
- 各项检查附带的诊断图。
你需要准备
- 已经拟合好的实验对象。
- 分析流程的上下文信息,包括实验配置和数据。
- 各项检查自己的参数,比如安慰剂检验要做几组、留一法要去掉哪个单元、先验敏感性要试哪些先验。
由你把关
- 哪些检查适用于你的研究设计,不同设计该做的检查不一样,由你决定。
- 安慰剂检验的组数够不够,太少不可靠、太多费时间,由你核对。
- 预期效应的先验设置有没有领域依据,由你核对。
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。开始前想清楚要用哪个能力、把对应材料备在手边——每张能力卡展开后有具体清单。
第一次直接复制
帮我安装这个库:https://github.com/pymc-labs/CausalPy 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
别这样用
这些判断,仍然由你负责
- 混淆贝叶斯HDI(后验概率区间)和频率派CI(重复采样区间)的解释
- 不运行稳健性诊断就直接采信因果效应结论
- 对DiD数据不做平行趋势预检验就进入估计
- 合成控制中选了本身受干预影响的donor单元
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
处理机制
- 01
核心处理链
用贝叶斯方法做准实验因果推断,含10+方法和稳健性诊断套件
已核对范围
- 读取 causalpy/experiments/diffindiff.py(DifferenceInDifferences:algorithm、反事实构造、输入校验、effectsummary)
- 读取 causalpy/experiments/syntheticcontrol.py(SyntheticControl:treatmenttime、control/treated units、mindonorcorrelation)
- 读取 causalpy/experiments/regressiondiscontinuity.py(RegressionDiscontinuity:treatmentthreshold、epsilon、bandwidth、donuthole)
- 读取 causalpy/experiments/interruptedtimeseries.py(InterruptedTimeSeries:双/三阶段、treatmentendtime)
- 读取 causalpy/experiments/instrumentalvariable.py(InstrumentalVariable:两阶段、vspriortype、binarytreatment)
- 读取 causalpy/experiments/inversepropensityweighting.py(InversePropensityWeighting:propensity 模型、weightingscheme)
- 读取 causalpy/experiments/staggereddid.py(StaggeredDifferenceInDifferences:BJS 2024 imputation 估计量)
- 读取 ARCHITECTURE.md 实验清单表(12 个实验类 + 后端支持矩阵)
仍待核对
- 未运行本机 PyMC smoke
- 未深读 PrePostNEGD、RegressionKink、PiecewiseITS、PanelRegression、SyntheticDifferenceInDifferences 的算法细节
- 未核对每个实验的 OLS fallback 分支
- 未深读 pymcmodels.py 各模型类的 buildmodel 实现(LinearRegression/WeightedSumFitter/InstrumentalVariableRegression/PropensityScore/BayesianBasisExpansionTimeSeries/StateSpaceTimeSeries)
- 未深读 sklmodels.py createcausalpycompatibleclass 的 patch 细节
- 未运行本机双后端对比 smoke
- 未深读 Pipeline.run 的验证前置逻辑("all steps validated before any fitting")
- 未深读 GenerateReport 的 HTML 渲染细节
读取版本
642f177d345bd65ad739e8a425ddbdf9faf6e2b1许可
Apache-2.0
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
科研之我见
AI 可以参与科研的哪些环节?一张 11 环节工作流全景图
从选题、文献、理论、数据到投稿,逐环节判断 AI 可以主导、需要人工校验和必须由研究者把关的工作。
查看内容具备相关能力的其他库
相关课程
把单项工具放进完整研究设计流程
课程一从研究问题、文献判断、理论假设和方法骨架继续推进,帮助你建立可以复用的研究设计档案。