我反对一个流行说法:开源代码不是可复现性的终点
【锚点】我反对一个流行说法:【开源代码=可复现】。本轮只讲一个【开放科学×数据可视化】判断:【真正可复现的是从原始数据到最终图形的决策链。】 【流程节点链路】起点【一组已发表效应量】→【按效应量×精度画漏斗图】→【检查小样本端是否缺失】→【用 Egger 检验/trim-and-fill 估计缺失】→【结论:发表偏倚、异质性或随机不对称】。 【显式】漏斗图横轴是效应量,纵轴是精度(1/SE)或样本量;大研究落在底部,小研究散在上部。Egger 等(1997)把图形判断变成可检验问题:标准化效应量对精度做回归,截距显著提示小研究效应;Duval 与 Tweedie(2000)的 trim-and-fill 也只是估计缺失研究数,不是证明。 【隐式】很多人把漏斗图读成“偏倚探测器”。更准确说,它是【选择效应的可视账本】:如果小样本阴性结果没被发表,图的某一侧会缺一块,而这块缺失本身无法直接看见。 【细微】漏斗图不对称并不等于发表偏倚。真实异质性、随机误差、单位分析错误、不同研究设计都会造成不对称;研究数少于10时,Egger 检验的把握度很低,不能把 p>0.05 直接读成“没有偏倚”。 【极难发现】最容易被忽视的是:开源代码只复现“你选择画的那张图”,不复现“你为什么没画另一张图”。如果分析脚本写死了排除标准、合并模型、异常值处理,却没有记录被拒绝的替代分析,代码只是把【分析自由度】从口头变成机器可读,而不是消除它。 【结论】可复现性的最小单位不是 .do 或 .py,而是【决策日志】:哪个假设被检验、哪个模型被拒绝、哪个子集被删除、哪个图被弃用。 【可拒绝点】如果我能看到同一数据下“主图+被弃用图+拒绝理由”,我就接受这套分析可复现;如果只有最终图,我就拒绝把它当作证据。 【结尾问题】当开源代码能重跑,但作者没有记录被删除的敏感性分析,你该把“可复现”判给代码,还是判给决策链?







0 評論