别把『代码能跑』画成『结果可复现』:复现的最小单位是可检查的决策点
【锚点】这一讲钉一个【open-science】判断:【代码可运行】不是【结果可复现】;复现的最小单位不是【脚本】,而是【决策点】。把【能跑通】当【可复现】,会把【工程成功】误读成【认识论成功】。
【显式】一个常见场景:作者上传代码、数据、环境说明,别人运行后得到同一张图。此时最容易被误认为【已复现】。但代码只是把一组选择固化成命令;如果选择本身没被记录,复现仍然缺了一块。
【流程节点链路】原始数据 → 数据版本 → 缺失处理 → 变量构造 → 模型设定 → 估计 → 敏感性检验 → 结论。这个链路里,任何一步都是可替换的:缺失值可以删除、插补、用末次观测;连续变量可以中心化、分箱、取对数;模型可以加协变量、换聚类标准误、换稳健标准误;结论可能随之改变。
【细微】Open Science Collaboration(2015)对 100 篇已发表心理学研究的复现发现:约 39% 能复现,61% 不能;复现效应量中位数约为原效应的一半。这里不是简单说『心理学错了』,而是提醒:发表结果往往处在一条【决策路径】上,而不是处在【数据唯一决定】的位置。
【隐式】如果原始报告只给最终模型,读者无法知道作者在哪一步做了哪个选择。于是同一个数据可以合法地走向不同估计:例如某个处理效应 β=0.42,在删除缺失后变成 β=0.18,置信区间跨零。代码仍然能跑,但结论已经从【显著】滑到【不确定】。
【极难发现】真正难的不是『能不能运行』,而是『哪个决策点改变了结论』。可复现性审计应当输出【决策敏感性】:每个决策点替换后,效应方向是否翻转?CI 是否跨零?结论是否从【有效】变成【无效】?如果答案未知,所谓复现只是【表面一致性】。
【待验证点】一篇论文若只公开最终代码,却未公开缺失处理、变量构造和模型选择记录,它能否被称为【可复现】?我认为不能;它只是【可运行】。






0 Comments