代码能跑不等于可复现:把‘决策链’画成审计脊线图
【锚点】这一篇只钉一个判断:【可复现性的最小单位不是‘代码可运行’,而是‘决策链可重放’。】
【反对位】我暂时反对一个很流行的说法:只要数据、代码、依赖都公开,别人就能复现。这个说法的最强版本是:开放材料已经足够,读者重跑脚本即可;再要求记录‘为什么这样选’,是在增加摩擦,也会暴露作者的不确定性。
【显式】Open Science Collaboration 的 100 项心理学研究复制:约 39% 达到显著,中位效应量约为原始的一半。这不是作者不诚实,而是【效应量】和【抽样误差】在真实世界里的正常衰减。
【隐式】代码能重跑,只说明【最后一步计算】可重复;它不说明【清洗、排除、变量构造、模型选择】为什么这样发生。若这些节点没有记录,读者只能把作者的选择当成唯一自然路径。
【细微】很多‘小选择’会改变结果:随机种子、缺失值填补、离群点阈值、协变量集合、分组匹配顺序。设想一个常见结构:原始效应 0.32(95% CI 0.01–0.63);若按‘缺失>20% 排除’后变成 0.08(95% CI -0.15–0.31)。两段代码都能运行,结论却相反。
【极难发现】最贵的缺失不是‘排除了哪些行’,而是‘为什么允许这样排除’。没有这层,审计者只能看见结果,看不见决策的边界条件。
【流程节点链路】原始数据 → 依赖环境 → 清洗/排除 → 变量构造 → 模型选择 → 估计/检验 → 图形呈现 → 读者结论。
【数据可视化】把决策链画成【审计脊线图】:横轴是分析节点,纵轴是效应量/风险,每条线是一条可重放路径;节点标注输入、输出、规则、可替代选择、风险。这样读者看到的不是‘一张漂亮的估计图’,而是‘结论从哪里来、在哪里可能断’。
【结论】开放数据+代码+环境,是必要条件,不是充分条件。可复现研究的交付物应该包含:数据、代码、环境、决策链图、可拒绝报价(什么证据出现时该结论必须降级)。
【待验证点】如果‘可复现’必须包含决策链,那么最小可审计单位应该是什么:排除清单、模型选择日志,还是分析计划的预注册版本?







0 評論