开放科学、开源和 R
自由软件将把心理学从可重复性危机中拯救出来。
“研究表明,很多心理学研究实际上只是‘心理学空谈’”。—The Independent。
2015 年 8 月 27 日,心理学永远地改变了。在此之前的四年里,“开放科学合作组织”的 270 位心理学家一直在悄悄地重新运行 100 项已发表的心理学实验。现在,他们终于准备好分享他们的发现了。结果令人震惊。重新运行的实验中,只有不到一半成功。
当有人尝试重新运行一个实验,但它不起作用时,我们称之为未能重复。科学家们早就知道未能重复的问题,但直到最近才意识到问题的严重程度。现在,一场几乎是关乎存亡的危机迫在眉睫。这场危机甚至有了一个名字:可重复性危机。很快,人们开始对其他科学领域提出同样的问题。通常,他们得到了类似的答案。经济学中只有一半的结果可以重复。在临床前癌症研究中,情况更糟;只有 11% 可以重复。
开放科学显然,必须采取一些措施。一种选择是得出结论,即心理学、经济学和医学的某些部分无法进行科学研究。也许宇宙的这些部分在任何有意义的方式上都不是合法的?如果是这样,如果两位研究人员做了同样的事情却得到了不同的结果,您不应该感到惊讶。
或者,也许不同的研究人员得到不同的结果是因为他们做了不同的事情。在大多数情况下,不可能判断您是否以与原始作者完全相同的方式运行了实验。这是因为您所能依靠的只有期刊文章——对所用方法和获得结果的简短摘要。如果您想要更多细节,理论上可以向作者索取。但是,我们十年前就已经知道,这种方法存在严重缺陷——在约 70% 的情况下,数据请求最终失败。
即使作者向您发送了他们的数据,通常也无济于事。最常见的问题之一是,当您重新分析他们的数据时,您最终得到的答案与他们不同!事实证明这很常见,因为期刊文章中提供的大多数数据分析描述都是不完整和模棱两可的。您真正需要的是原始作者的源代码——对他们采取的每个数据处理步骤的明确而完整的记录,从原始数据文件到最终报告中的图表和统计数据。在 2015 年的心理学领域,您几乎永远无法获得这些。
如果您最终设法重复了作者的分析,您能确信他们的结果是真实的吗?不一定。也许他们只测试了少数人,这些人并不能特别代表整个人群。在这种情况下,您可能希望自己重新运行实验,测试更多的人。或者,问题可能不在于他们的分析或数据,而在于他们收集数据的方法。在过去的 20 年里,心理学实验主要涉及基于计算机的测试。因此,对于非常多的实验,对所使用的方法有完整而明确的规范——测试程序的源代码。但在 2015 年,这也几乎从未公开提供过。
换句话说,可重复性危机开始时的心理学研究就像闭源软件。您必须完全信任作者的结论,就像您必须相信闭源软件的性能与描述的一样。基本上没有办法正确地审计研究,因为您无法访问实验所基于的源代码——测试软件、原始数据和分析脚本。
越来越多的科学家认为这种情况必须改变。前一年,即 2014 年,我读了 Stephen Levy 的黑客,并由此开始阅读更多关于 Richard Stallman、Eric S. Raymond 和 Linus Torvalds 的信息。对我来说,这是一个启示。我认为自由和开源软件社区展示了科学可以如何不同。Linux 的普及表明,成千上万具有不同观点和目标的人可以为了共同利益在一个复杂的项目上进行协作。同样重要的是,他们可以这样做,而不必一直喜欢彼此。这对科学来说是个好消息。学者之间的讨论可能会……好吧,我们只能说“激烈”。
因此,就像计算领域有开源软件的倡导者一样,心理学和其他科学领域也开始获得开放科学的倡导者。“开放科学”这个短语早在 1998 年就由 Steve Mann 创造出来,但一旦可重复性危机袭击了心理学,我们很多人就开始坐起来关注。早期,成立于 2013 年的非营利公司开放科学中心(Centre for Open Science)建立了开放科学框架(OSF)。OSF 是一个基于网络的公共存储库,用于存储与实验相关的数据和代码。它完全由自由和开源软件构建。
随着对可重复性危机的认识不断提高,同行评审员开始坚持要求公开数据和代码。研究中的同行评审有点像 IT 中的代码审查。科学家将他们的文章发送给期刊进行审议。期刊将文章发送给该领域的专家进行评论,只有当期刊编辑认为这些评论已得到充分解决时,该作品才会被接受发表。2015 年,Richard Morey 和同事发起了同行评审员开放性倡议,这是一项声明,声明他们不会推荐任何不符合开放科学某些基本标准的论文发表。在三年内,心理学领域有 500 多名同行评审员签署了该声明。
开放平台和 R
仍然有一个主要问题需要解决。发布您的科学源代码对于开放科学至关重要,但这还不够。为了完全开放科学,您还需要运行该代码的平台是开放的。如果没有开放平台,开源代码的未来可用性将面临风险。例如,曾经有一段时间,心理学中的许多实验都是用 Microsoft Visual Basic 6 或 Hypercard 编写的。两者都是闭源平台,现在都不再受到其供应商的支持。以这种方式使科学的永久档案记录无法使用是不可接受的。同样,如果只有那些有能力购买特定专有软件的人才能访问它,那么这是一种非常狭隘的开放科学形式。自 1997 年左右以来,心理学领域发表的所有期刊文章均为 PDF 格式。学术图书馆不会容忍这些档案文件采用 DOCX 等专有格式。我们可以而且必须将相同的开放性标准应用于我们研究的基础平台。
心理学长期以来一直使用闭源平台,最值得注意的是专有的数据分析软件 SPSS。SPSS 最初于 1968 年发布,并于 2010 年被 IBM 收购。奇怪的是,SPSS 是这样一个封闭的平台,如果 SPSS 输出文件是在 2007 年之前生成的,当前版本甚至无法打开它们!尽管它仍然是心理学中最常用的数据分析软件,但自2009 年以来,它的使用率一直在急剧下降。是什么弥补了这个缺口呢?
在很大程度上,是 R。R 是一个 GNU 项目,因此它是根据 GNU 通用公共许可证发布的自由软件。它在 Linux 下运行良好,但在 Windows 和 Mac OS 上也能正常运行。R 是一个历史悠久的项目,拥有强大的社区支持。R 也得到了包括微软在内的主要科技公司的支持,微软维护着 Microsoft R Application Network。
R 是统计语言 S 的一种实现,S 是在 UNIX 之后不久在贝尔实验室开发的,灵感来自 Scheme(Lisp 的一种方言)。在 20 世纪 90 年代,奥克兰大学的 Ross Ihaka 和 Robert Gentleman 开始开发 R 作为 S 的开源实现。R 在 2000 年达到了 1.0 版本。2004 年,R 基金会发布了 R 2.0 并开始了其年度国际会议:_useR!_。2009 年,R 获得了自己的专门期刊(The R Journal)。2011 年,RStudio 发布了 R 的桌面和基于 Web 的 IDE。通过 RStudio 使用 R 是大多数新用户的最佳选择,尽管它也可以与 Emacs 和 Vim 配合使用。R 的当前主要版本于 2013 年发布,并且大约每六个月发布一个点版本。
我于 2012 年在 Mac 上首次开始使用 R。那是在我听说自由软件概念的两年之前,也是在我经常运行 Linux 的大约三年之前。因此,我从 SPSS 转向 R 的选择并非基于哲学理由。那也是在可重复性危机之前,因此我也不是出于开放科学的原因而切换的。我开始使用 R 是因为它只是比 SPSS 更好——好得多。科学家们花费大约 80% 的分析时间用于预处理——将数据转换为可以应用统计检验的格式。R 在预处理方面非常出色,当然比心理学中最常见的替代方案(即在 Microsoft Excel 中进行预处理)要好得多。在 Excel 中进行数据处理非常容易出错。例如,遗传学中五分之一的实验被 Excel 搞砸了。另一个例子:英国政府的财政紧缩政策的理由是基于 Excel 的错误。
使用 R 的另一个重要原因是所有分析都采用脚本形式。因此,如果您完全在 R 中完成了分析,您就已经拥有了分析路径的完整、可重现的记录。任何有互联网连接的人都可以下载 R 并使用您的脚本重现您的分析。这意味着我们可以使用 R 非常轻松地实现完全开放、可重现的科学目标。这与心理学家主要使用 SPSS 的方式形成对比,SPSS 是通过点击式界面实现的。科学家们在延迟三个月后努力重现自己基于 SPSS 的分析,这是一种相当常见的经历。我自己多年来也为此问题苦苦挣扎。虽然我总是最终能够重现自己的分析,但通常需要花费与第一次一样长的时间才能完成。自从我转向 R 以来,重现我自己的分析变得像重新运行 R 脚本一样简单。这也意味着现在我的实验室的每个成员以及与我合作的任何其他人都可以轻松地共享和审计彼此的分析。在许多情况下,审计过程会大大改进分析。
使 R 如此出色的第三件事是,核心语言得到了超过 13,000 个软件包的补充,这些软件包在全球 Comprehensive R Archive Network (CRAN) 上镜像。您可以想到的每项分析或图表都可以在 CRAN 上以免费软件包的形式获得。甚至还有一个软件包可以绘制 xkcd 漫画风格或韦斯·安德森电影配色方案的图表!事实上,它非常全面,2013 年,SPSS 的作者为用户提供了在 SPSS 中加载 R 软件包的能力。他们的内部团队根本无法跟上 R 中可用的分析技术的广度和深度。
R 跟上最新数据分析技术的能力对于解决可重复性危机至关重要。这是因为危机的起因之一是心理学依赖于过时且容易被误解的统计技术。从总体上看,这些技术被称为零假设显着性检验,它们是在 20 世纪早期、低成本、高功率计算出现之前开发的。今天,我们越来越多地使用计算密集型但更好的技术,这些技术基于贝叶斯定理和蒙特卡罗技术。新技术在 SPSS 中出现之前几年就在 R 中可用了。例如,2010 年,Jon Kruschke 出版了一本关于如何在 R 中进行贝叶斯分析的教科书。直到 2017 年,SPSS 才支持贝叶斯分析。
R 教学20 多年来,心理学统计学教学一直是教人们如何使用 SPSS 的代名词。然而,在过去的几年里,一些大学已经转向 R,还有更多的大学正在考虑这样做。对这种改变的一种担忧是,心理学专业的学生会发现 R 比 SPSS 更难学,并且他们会不太喜欢它。事实证明这是不正确的。在格拉斯哥大学 Dale Barr 及其同事的开创性工作中,心理学本科生同时学习了 SPSS 和 R。然后,他们可以选择在期末评估中使用哪种软件。大约 三分之二的学生选择了 R。选择 R 的学生在考试中也获得了更高的分数。他们在统计焦虑的标准测量中得分也较低。在普利茅斯大学,我们心理学学位的新生现在只学习 R,课程中完全删除了 SPSS。我们看到学生在统计学方面取得的成就有所提高,同时保持了较高的学生满意度。
对于 R 项目而言,这种改变的附带好处之一是心理学家往往很擅长编写文档。Andy Field 的教科书《探索统计学》深受心理学本科生的好评,自 2012 年以来一直有 R 版本。最近,学者们开始开发与 R 一样开放的教学材料。例如,我自己的教学材料《R 语言研究方法》面向心理学一年级本科生,根据知识共享许可协议提供。Just Enough R 由 Ben Whalley 编写,面向研究生,也根据相同的许可协议提供。
R 语言中的开放科学:一个例子
在我在普利茅斯大学的实验室里,我们研究学习、记忆和决策的心理学。在许多情况下,我们正在检验的理论以计算机模型的形式表达。例如,关于我们如何学习将物体分组到类别(狗、猫、百吉饼等)中的经典理论之一称为 ALCOVE。该理论采用神经网络模型的形式,该模型预测人们将如何对物体进行分类。我们将这些预测与真实的人做出这些决策的数据进行比较,并在此基础上评估模型。
传统上,心理学的计算建模方面一直相当封闭。这些心智模型是中等复杂的程序,通常仅作为一组带有解释性文本的数学方程式发布。重现所报告结果所需的代码很少完全发布。结果是,重现这些计算机模型的结果可能需要几天到几个月的时间。这浪费的时间是巨大的。
从 2016 年开始,我们的实验室决定采取措施解决这个问题。具体来说,我们发布了一个名为 catlearn 的 R 软件包,它是 CATegorization 和 LEARNing 模型(分类和学习模型)的缩写。在 2018 年 7 月发布的当前版本中,我们实现了九种不同的模型。像所有 R 软件包一样,代码是开源的。该软件包还包括特定实验模拟的完整代码档案以及这些实验的数据集。我们开始在全球范围内建立一个社区,美国、英国、德国和瑞士的人们都贡献了代码。这是一个非常激动人心的时刻,我期待着今年晚些时候发布 0.7 版本。如果您想贡献代码,我们很乐意听到您的消息——我们迫切需要更多优秀的程序员。心理学方面的经验不是必需的。
最后的思考可重复性危机可能是发生在心理学领域最美好的事情之一。它成为我们科学流程急需变革的催化剂。如果我们能够以开放科学的原则构建 21 世纪的心理学,我认为伟大的和持久的发现正等待着我们。这些未来的成功将很大程度上归功于自由和开源软件社区的开创性榜样。提前感谢Linux Journal的读者们!
资源- “研究表明,很多心理学研究实际上只是‘心理学空谈’”,作者:Steve Connor,The Independent
- “评估心理科学的可重复性”,作者:Alexander A. Aarts、Christopher J. Anderson、Joanna E. Anderson 和 Peter Attridge,Science
- 可重复性危机
- “经济学研究可以重复吗?来自 13 家期刊的 60 篇已发表论文表示‘通常不能’”,作者:Andrew C. Chang 和 Phillip Li,金融和经济学讨论系列 2015-083。华盛顿:联邦储备系统理事会
- “可重复性:可疑工作的六个危险信号”,作者:C. Glenn Begley,Nature
- “心理学研究数据可用于再分析的可用性差”,作者:Jelte Wicherts、Judith Kats、Denny Borsboom 和 Dylan Molenaar,American Psychologist
- 黑客:计算机革命的英雄,作者:Steven Levy,Doubleday,1984 年(维基百科)
- 开放科学(维基百科)
- COS(开放科学中心)
- 开放科学框架
- 同行评审员开放性倡议
- SPSS Statistics(维基百科)
- “数据科学软件的普及程度”,作者:Robert A. Muenchen,r4stats.com
- R 统计计算项目
- GNU 操作系统
- GNU 通用公共许可证
- Microsoft R Application Network (MRAN)
- RStudio
- “清理大数据:最耗时、最不受欢迎的数据科学任务,调查显示”,作者:Gil Press,Forbes
- “基因名称错误在科学文献中普遍存在”,作者:Mark Ziemann、Yotam Eren 和 Assam El-Osta,Genome Biology
- “Microsoft Excel:全球经济的破坏者?”,作者:Peter Bright,Ars Technica
- Comprehensive R Archive Network
- xkcd
- “从 SPSS 调用 R”,作者:Catherine Dalzell
- 进行贝叶斯数据分析
- 贝叶斯统计(IBM Knowledge Center)
- LTC 工作坊
- 使用 R 探索统计学,作者:Andy Field、Jeremy Miles 和 Zoe Field,Sage Publishing
- R 语言研究方法,作者:Andy Wills(教学材料) Ben Whalley 的 Just Enough R
- catlearn GitHub 页面
- Acorn 程序