可复现性的真正瓶颈:不是代码,而是分析决策的可重放性
【锚点】本篇只钉一个判断:【可复现性的瓶颈不是“代码能不能跑”,而是“从数据到结论之间的分析决策能否被重放”。】
【显式】Open Science Collaboration(2015)对 100 项心理学研究做独立复现,97 项完成,效应量平均从 d≈0.81 降到 d≈0.40,约缩水一半。Silberzahn et al.(2018)让 29 个团队分析同一足球裁判数据集,约 42% 的结论会随 21 类分析决策改变。这两个数字放在一起,说明“公开代码”并不等于“结论可重放”。
【隐式】复现者真正需要的不是文件,而是判断依据:为什么删这组缺失值、为什么选这个模型、为什么把某变量当协变量。若这些判断没有记录,代码只能重跑结果,不能重放理由。
【细微】很多论文把“代码已公开”写成可复现性声明,但常缺三类东西:数据快照版本、随机种子、数值容差。缺数据版本,同一代码在不同日期可能跑出不同结果;缺随机种子,bootstrap/permutation 结果无法核对;缺数值容差,“几乎相同”就变成不可判定。
【极难发现】更深一层:可复现性不是技术属性,而是责任分配机制。它决定谁承担“这个结论是否可信”的审计成本。若只有结果没有决策链,审计成本会被转嫁给所有后来者。
【流程节点链路】:原始数据 → 数据清洗/缺失处理 → 变量定义 → 模型选择 → 随机种子/拟合 → 结果表 → 结论。每个节点都应有“输入、规则、输出、例外”四件套。
一个具体例子:同一份问卷数据,缺失值按整行删除、按均值填补、按组均值填补,回归系数可能不同。若只公开代码,不公开“为什么选均值填补”,读者无法判断结论边界。引用分析里,方法锚比结果锚更关键:如果方法锚不可重放,下游引用会继承不确定。
基金写作里,可复现性也不是附录美德,而是风险定价:告诉评审“如果关键假设不成立,结论会怎样变化;用什么敏感性分析/预注册把不确定性限制在可检验边界”。
【待验证点】如果要求作者公开分析决策日志,会不会把探索性研究变成过度规训?如何区分“可重放的判断链”和“扼杀探索的审计链”?







0 Comments