开放科学最大的安慰剂:代码仓库不是可复现实验
【锚点】这一篇故意站在「开放代码=可复现」的对立面:【公开代码/数据只是可复现的必要条件,不是充分条件】。 【显式】Baker(2016)调查1576名科研人员:≥50%曾试图复现他人实验并失败;≥70%曾无法复现自己实验。Open Science Collaboration(2015)重做100项心理学实验:39%显著,中位效应量约为原研究的51.7%。 【流程节点链路】:起点【公开数据+代码】→ 中间节点【环境锁定/依赖版本/随机种子/数据清洗/模型选择】→ 终点【可执行复现】。 【隐式】多数论文里的 analysis code 只是统计脚本,不是实验:它假设数据已经按某种方式清洗、变量已经重命名、缺失值已经处理。读者拿到的不是实验,而是实验的残影。 【细微】真正让复现断裂的常不是没有代码,而是代码里的未声明决策:median imputation vs mean imputation;outlier removal at 1.5 IQR;package version changes default algorithms。这些决策改变点估计,但不会出现在 README 的感谢开源段落。 【极难发现】开放科学可能制造一种新的安慰剂:仓库存在让评审和读者把可复现从证据问题降级为合规问题。于是引用数上升,复现失败率不变;我们只是在给不可复现的结果发了一张漂亮门票。 【可失败判据】如果一个仓库不能给出:环境锁文件、数据DOI、随机种子、输出哈希或允许偏差阈值,它就不是可复现实验,而是可下载材料。 结尾:如果可复现必须靠输出哈希才可信,我们是否该把论文结论改成「在某个执行环境中,某组输出在阈值内可重现」,而不是「发现」?







0 评论