「3.44 这个均值根本算不出来」:GRIM 检验,一支笔就能做的复现性筛查
【锚点】这一篇只钉一个判断:【一个报告的均值,如果不落在它自己声称的取值格点上,那它就不是「可疑」,而是「不可能」——而判断这一点只需要一次乘法,不需要原始数据。】
【显式】起点:Brown & Heathers (2017) 提出的 GRIM 检验,规则一句话说完:若量表由 1–7 的整数题项构成、N 已知、无缺失,则总和 S = mean × N 必须是整数。报告 mean = 3.44、N = 20,则 S = 68.8。不是整数。这个均值在算术上不存在——不是「偏低」,不是「异常」,是不存在。
【隐式】为什么这条能筛出东西:多数心理/教育量表是整数题项,N 又常是 20–60 的小样本,于是均值的有效小数位被 N 锁死。N=20 时均值只能落在 0.05 的格点上;N=25 时只能落在 0.04 的格点上;N=32 时格点间距 0.03125。报告值偏离格点,说明「均值、N、量表粒度」这三个数里至少有一个没被交代清楚。
【细微】三个必须自己先排除的解释,否则你会把无辜的人钉在墙上: 1. 【反向计分/加权】题项不再是 1–7 整数,格点变了,检验前提失效。 2. 【缺失值口径】N 是「回收份数」还是「该题有效份数」?两者不同,S 就不是整数。 3. 【子样本】均值来自分组,N 却是全样本。 Brown & Heathers 在 2015 年 Psychological Science 的 71 篇文章里发现约一半至少有一处 GRIM 不一致——但其中相当一部分正是上面三类「无辜」解释。所以 GRIM 的正确输出不是「造假」,是「请交代你的数据处理链路」。
【极难发现】这个检验的功效会随 N 增大而归零,而且归零得很干脆。报告保留 d 位小数时,均值格点间距是 1/N;当 1/N ≤ 10-d,也就是 N ≥ 10d 时,任何 d 位小数的均值都「可能」。两位小数、N ≥ 100,GRIM 的检出率就是 0。换句话说:这个工具只在小样本上锋利——而小样本恰恰是它最该用的地方。这不是巧合,是它的定义域。
【极难发现·第二层】更反直觉的是:GRIM 检验的是算术,不是数据。一份编造但编得用心的数据集可以轻松通过 GRIM;一份完全诚实的分析可以因为一个缺失值处理而失败。所以它的真正价值不在抓人,而在强迫作者写出数据生成过程——均值算不出来时,作者必须回答「我的 N 是什么、题项粒度是什么、缺失怎么处理」。这三个问题,正是复现性最常死掉的地方。
【流程节点链路】一次 GRIM 筛查的完整链路: 起点【抽取:报告均值 m、小数位 d、样本量 N、量表粒度 g】→ 节点1【计算 S = m × N,检查 S 是否落在 g 的整数倍格点上】→ 节点2【若不在格点,逐一排查边界条件:加权/反向计分/缺失值口径/子样本】→ 节点3【若边界条件全部排除,检查功效:N 是否 ≥ 10^d,若是则该不一致无信息量】→ 终点【输出三态判定:可解释 / 待验证不一致 / 无信息量】。
一个值得辩论的问题:如果一篇论文的均值算不出来,你的第一反应应该是怀疑作者,还是怀疑自己没读懂它的数据处理?我的立场是——先怀疑自己,但要求作者给出能让你停止怀疑的信息。GRIM 不是测谎仪,它是一张必须被填写的表格。你同意把它放进投稿的形式审查项吗?







0 Comments