收益:
- 了解 p-hacking、HARKing、选择性报告和分叉路径花园会产生错误的发现,并了解人工智能如何加速这些陷阱
- 能够在人工智能支持下建立预注册、分析计划、多重比较规则和敏感性分析等防御
- 能够内化诚实的请求设计,这将使人工智能能够拒绝“找到有意义的结果”类型的请求,并且最终的责任在于研究人员。
在上一单元中,我们了解了 p 值是什么和不是什么。在本单元中,我们将探讨一个更黑暗的话题,即威胁统计完整性的系统性陷阱。其中大部分并非故意作弊;这些都是阴险的机制,即使是善意的研究人员也会在没有意识到的情况下陷入其中。人工智能 (AI) 使这些陷阱变得更容易、更快,因为它可以在几秒钟内运行数十项分析。该单元的目标是建立一门学科,将人工智能从“有意义的结果发现机器”转变为诚实的助手。
基本陷阱
p-hacking(p值狩猎):以不同的方式再次尝试分析,直到获得显着的结果(p<0.05)。添加和删除变量、选择子样本、更改异常值的定义、尝试不同的转换、使用不同的结果变量、在有意义时停止数据收集……每次尝试都给出一个新的“机会”;如果你足够努力,其中一个将会被证明是有意义的,即使它实际上没有任何效果。结果:虚假的发现已发表但不可重复。
HARKing(知道结果后进行假设):看到结果后做出假设,并表示为“我从一开始就这样预测”。您查看数据并找到最显着的关系,然后撰写论文,就好像它是为了检验该假设而设计的。这使这一发现看起来像是一种确认,从而误导了读者。
选择性报告(择优挑选):仅报告数十项分析中的“好的”报告,并默默地埋葬其余的。这也被称为“文件抽屉问题”:无意义的结果保留在抽屉中,使得文献存在系统偏差。
岔路花园:安德鲁·格尔曼的术语。即使没有一次有意的 p-hacking,研究人员也会根据数据做出许多合理的选择(哪个变量、哪个阈值、哪个子组、哪个变换)。这些调查的自由度如此之多,以至于您可以有效地从众多分析中选择有意义的自由度——即使没有任何恶意。结果再次是误报率上升。
注意:大多数陷阱都不是故意的。诸如“我刚刚尝试了更多模型”、“当我删除异常值时更干净”、“这个子组中的效果更清晰”等看似无辜的步骤的总和可能会产生虚假的发现。诚实是方法问题,而不是意图问题。
为什么人工智能会放大这些陷阱?
手工尝试 3 个模型需要时间; YZ 在几分钟内生成 50 种模型变体、10 种不同的转换、8 个子组。如果没有诚实的计划,这种能力将是灾难性的:像“在这些数据中找到有意义的关系”或“建立一个支持这个假设的模型”这样的请求会将人工智能直接变成一个 p-hacking 引擎。人工智能也想提供帮助;往往会找到一个让你满意的“有意义”的结果。这就是为什么你的提示设计是诚实的第一道防线。
辩护理由:公平的商业过程
1. 预注册:这意味着在进行分析之前以书面形式记录您的假设、变量、模型和测试(可能在带有时间戳的平台上)。因此,发现与确认是分开的;之后您更改的任何内容都会被标记为“explorer”。
2. 分析计划:即使无法预先记录,也要在深入数据之前编写分析计划:主要假设、主要结果变量、主要模型。从一开始就明确“主要分析”和“附加/探索性分析”之间的区别,并在报告中予以保留。
3. 报告一切:不要隐藏你尝试过的模型。在“敏感性分析”(稳健性检查)部分,显示不同的规格如何改变结果。只有当这一发现在许多看似合理的选择下成立时,它才是强有力的。
4. 多重比较规则:如果您做了太多测试,请纠正它们(第 6 单元)。回答“我做了多少次测试?”的问题。诚实地。
5. 敏感性分析:使用不同的样本、不同的控制集和不同的转换重复您的主要发现。如果结果发生变化,不要隐藏它,报告它。
比较表:诚实与陷阱
应用
陷阱形状
诚实等价
选型
尝试直到有意义(p-hacking)
预先规划的主模型
假设
事后安装(HARKing)
预先记录,数据之前
报告
不要只展示美丽的东西
所有规格+灵敏度
子群
选择最引人注目的
预定义、可纠正
数据收集
当有意义的时候就停下来
预定样本
四个可复制的提示
1.诚实主张框架:
你的角色:诚实的统计助理。我的目标不是找到有意义的结果,而是找到正确的结果。规则:- 不要给我“尝试模型,直到有意义”类型的建议,- 告诉我您是否建议多个规格,它们都需要报告,- 警告我任何可能导致 p-hacking 的步骤。首先帮助我澄清我的主要模型,将发现与确认分开。
2、分析计划草案:
帮助我起草一项研究的初步分析计划:主要假设、主要结果变量、主要模型规范、预定义子组、多重比较策略。将“探索性”和“验证性”分析放在不同的标题中。提醒我在不查看数据的情况下填写此内容。
3、敏感性分析:
我的主要发现是编写敏感性分析代码(R),我的目标是看看结果有多可靠,而不是选择最好的一个;显示所有结果。
4.自我监控:
我会解释一下我的分析过程;给我一份 p-hacking/HARKing/选择性报告清单,并标记我的哪些步骤有风险。询问我尝试过多少模型/测试以及我计划报告哪些模型/测试。
弱提示/强提示
弱提示:
哪些变量在该数据中显示出显着关系,找到最佳模型。
这个提示是直接的 p-hacking 指令:AI 尝试数十种组合并呈现“最有意义”的一种。结果几乎肯定是一个无法复制的虚假发现。
强力提示:
你的角色:诚实的助手。我预先确定的主要模型是:Y ~ X + 控件。编写预测该模型的代码。不要寻找另一个“更有意义”的模型。还建议进行敏感性分析,以便我可以看到结果的稳健性,但要知道我将报告所有结果,而不是选择最好的结果。不要让我将任何探索性发现视为“已确认”。
区别:强烈意志修复主要模型,禁止搜索,并要求报告所有结果。
三个迷你箱子
案例 1——分组狩猎。一位研究人员发现总体样本没有影响;他问AI“在哪个子组中显着?” YZ扫描了年龄、性别和地区组合,发现“35-44岁的城市女性p = 0.03”。这篇文章就是基于这个小组。他的复制没有发现任何效果:这是数十个子群体的偶然结果。教训:数据后选定的子组是在监听,而不是确认。
案例 2——转换狩猎。这种关系在学生水平上被证明是毫无意义的;尝试了对数、平方根、平方和滞后形式;他发现双对数形式的 p=0.048 并仅报告了这一点。幸运的是,所尝试的 5 种形式中的一种跨过了门槛。正确的做法是:用理论预选表格,并将所有表格的结果显示在灵敏度表中。教训:选择性报道会产生错误的意义。
案例 3——诚实框架如何发挥作用。一个团队在分析前预先注册:单一主要假设、单一主模型、两个预定义子组、Bonferroni 校正。主效应并不显着,但团队如实报告;这位探索者将一项发现标记为“需要在未来进行测试”。该研究具有可重复性和可靠性。教训:诚实的计划即使是“失败”的结果也是值得的。
常见错误
- 告诉人工智能“找到有意义的结果”。这就是直接的 p-hacking;将人工智能置于诚实的框架中,要求准确性,而不是结果。
- 将发现作为确认(HARKing)。将数据后成立的假设写成“我从一开始就预测到了”是有误导性的;标记探索性发现。
- 只是报告好的结果。显示所有测试的规格;隐藏情绪分析会损害完整性。
- 亚组/转化筛选。选择数十个子组或变换中最重要的一个会产生虚假的结果;提前识别并修复。
- 忘记你做了多少次测试。跟踪尝试的总数;如果不知道这个数字,就无法诚实地解释 p 值。
提示:在写下发现之前,问问自己:“我默默地尝试了多少种方法,直到找到这个结果,我是否将所有方法都报告了?”如果有些文章留在抽屉里,你的报告看起来会比实际情况更有说服力。
综上所述
p-hacking、HARKing、选择性报告和分叉路径花园;许多都是陷阱,它们无意中起作用,但会产生虚假的、不可重现的结果。人工智能加速了这些陷阱,因为它可以立即尝试数十种分析; “找到有意义的结果”类型的请求将人工智能变成了 p-hacking 引擎。防御;通过预注册和分析计划将发现与确认分开,报告所有规格和敏感性分析,纠正多重比较,并将人工智能置于要求“正确结果”的诚实框架中。最终责任始终由研究者承担。
应用任务
在查看数据之前选择一个研究问题并编写一个简短的分析计划:主要假设、主要模型、主要结果变量、预定义的子组、多重比较策略。然后估计主模型。然后进行敏感性分析(不同的对照、包含/排除的异常值、不同的函数形式)并将所有结果显示在一个表中。在一段中,评估哪些步骤会带来 p-hacking 的风险,以及您的诚实框架如何限制它们。
清单
- [ ] 在深入研究数据之前,我编写了分析计划/主模型。
- [ ] 我分别标记了探索性分析和验证性分析;我没有在听。
- [ ] 我已经报告了我尝试过的所有规格;我不只是选择了漂亮的那一个。
- [ ] 我事先定义了子组和变换,我没有在数据之后扫描它们。
- [ ] 我记录了我运行了多少测试并应用了必要的更正。
- [ ] 我在“发现真相”而不是“发现它有意义”的背景下使用人工智能;我承担了责任。