@ 2015.11.10 , 15:00
17

科学是怎样被计算机玩坏的,以及我们能怎么补救

[-]
计算机……还是数据黑箱?US Army

可再现性是科学的基石之一,这个想法在十七世纪六十年代因英国科学家罗伯特·波义耳而流行,其含义是一项发现应该能够被再现,才能被接受成为科学知识。

本质上来说,如果你遵循我在学术出版物里宣布发现时所描述的方法,你就应该能够得出相同的结果,例如,如果研究者们能重现一种新药治疗一种疾病的有效性,那么这就是它对于该病所有患者都应该有效的很好迹象。如果不能,那么我们就要想知道是什么意外或失误产生了原始的良好结果,并且会怀疑该药的有用性。

科学历史上大部分时间,研究者们报告他们的研究方法的方式都使人能独立再现他们的成果,但是,自从个人计算机出现——以及使之更为用户友好的鼠标指点软件程序的进化——许多研究的可再现性就成了问题,如果不是根本不可能的话。现今的研究过程太多地被计算机的不透明使用所遮蔽,许多研究人员已经对之产生依赖,这导致外人几乎不可能重建他们的成果。

最近,几个小组都提出了解决这个问题的类似方案,他们将会协力把科学数据从未被记录的计算机操纵黑箱中解救出来,因此独立读者们又能批判性地评估和重现结果了。研究者、公众、和科学本身都会受益。

计算机看管数据,但也掩盖它

统计学家Victoria Stodden描述了个人计算机在科学史上的独特地位,它们不仅是一件像望远镜或者显微镜一样允许新研究的工具,计算机的革命性是另一种方式;它是一间制造所有各种新“镜”的微型工厂,能在科学数据中看到新的模式。

甚至在并不强烈定量的领域,也很难找到一个不使用计算机的现代研究者,生态学家们使用计算机来模拟灾难对于动物数量的效果,生物学家们使用计算机来检索巨量DNA数据,天文学家们使用计算机来控制巨型望远镜阵列,以及处理收集的数据,海洋学家们使用计算机结合来自卫星、船舶和浮标的数据来预测全球气候,社会科学家们使用计算机来发现和预测政策效果或者分析谈话记录。计算机帮助几乎每个学科的研究者们识别他们数据中的有趣之处。

计算机也往往是个人工具,我们通常独占使用自己的计算机,而它所包含的文件和目录一般被认为是隐私空间,不为公众所见。准备数据、分析它、可视化结果——这些都是在计算机上私下完成的任务,只有在流水线的最末端,才出来一篇公众可见的期刊文章来总结所有这些私有任务。

问题是,大多数现代科学都如此复杂,而大多数期刊文章又如此简短,这些文章不可能包括许多重要方法的细节和研究者们在他的计算机上分析他的数据时所作的决定。于是,另一个研究人员怎么能评判结果的可靠性,或者重现其分析呢?

[-]
祝重建分析好运吧。US Army

科学家们有多少透明性?

斯坦福统计学家Jonathan Buckheit和David Donoho早在1995年就描述了这个问题,当时个人计算机仍然是相当新的想法。

科学出版物中关于计算科学的一篇文章并不是学术本身,而纯粹只是该学术的广告,实际的学术是完整的软件开发环境和生成该结论的完整指令集。

他们做出了一个激进的要求,这意味着我们个人计算机上的所有那些私人文件,以及我们在准备发表时所做的私下分析任务都应该伴随期刊文章被公开。

这将会是科学家们工作方式的巨大变化,我们将需要从一开始就准备好,我们在计算机上做的每一件事最终都会公开给别人看,对于许多研究者来说,这个想法太过了。Victoria Stodden发现对于分享文件最大的反对意见是编写文档和清理文件所需的准备时间,第二最大的顾虑是这些文件如果被别人使用有得不到承认的风险。

增强可重现性的新工具箱

[-]
计算机里有什么秘密?US Army

最近,几组不同的科学家在使得追踪计算机上的文件和分析变得更容易的工具和方法的推荐上取得一致,这些小组包括生物学家生态学家核工程师神经科学家经济学家政治学家宣言一般的论文列出了他们的建议。当来自如此不同领域的研究者们汇聚于一个共同行动中时,这就是做科学的重大分水岭也许就将到来的迹象。

一个主要建议:把数据分析期间的鼠标指点过程尽可能地最小化,并替换为包含计算机执行的指令的脚本,这解决了转瞬即逝的鼠标移动留不下痕迹、难以与他人沟通、难以自动化的记录问题,这在使用Microsoft Excel之类电子表格程序进行数据清理、组织任务期间很普遍。而另一方面,脚本则包含无歧异的指令,能在遥远的未来(当具体细节已经被忘记时)被其作者和其他研究者们阅读。因为它们文件不大,也就能被包括在一篇期刊文章里,而且脚本能轻易改编为自动研究任务,能节约时间并减少人为错误的可能。

我们能在微生物学生态学政治学考古学中见到这种例子,研究者们不再用鼠标乱点菜单和按钮、人肉编辑电子表格单元、或在不同软件程序间拖动文件来获得结果,这些研究者们写脚本,他们的脚本自动化文件移动、数据清理、统计分析,以及创建图表、插图和表格,这在核查分析以及重新进行分析以探索不同选项时能节约很多时间。而通过查看作为发表的一部分的脚本文件里的代码,任何人都能见到产生所发表结果的精确步骤。

其它建议包括使用普及、非专有文件格式来存储文件(如用逗号分隔变量CSV文件来做数据表格),用简单的规范系统性地把文件组织进文件夹,使得其他人能容易地知道信息是如何组织的。他们推荐在所有计算机系统(如Windows、Mac和Linux)上都可用的自由软件来分析和可视化数据(如RPython),对于协作,他们建议免费程序Git,它能在许多人编辑同一个文档时帮助追踪变化。

目前,这些是先锋的工具和方法,而许多职业生涯中期和高级研究人员们对它们只有一个模糊的认知,但现在许多大学生正在学习它们,许多研究生看到组织有条理、使用开放格式、自由软件和流畅协作的个人优势,正在从志愿组织(如Software CarpentryData CarpentryrOpenSci)寻求培训和工具,以填补他们正式训练中的差距。我的大学最近创立了eScience学院,以帮助研究者们采用这些建议,我们的学院是一个包括伯克利纽约大学的类似学院的更大规模运动的一部分。

随着学习这些技能的学生毕业并走上有影响的地位,我们将会看到这些标准变成科学的新常态,学术期刊将会要求代码和数据文件伴随发布,资助机构将会要求把它们放进能公开访问的在线存储库。

[-]
用来分析数据的一个脚本的例子。

开放格式和自由软件是双赢

研究者们使用计算机方式的改变会有益于公众参与科学,随着研究者们越来越愿意分享他们的文件和方法,公众将能更好地访问科学研究,例如,一名高中教师将能向学生们显示最近发表的发现中的原始数据,并带他们走过分析的主要部分,因为所有这些文件都会和期刊文章一样可用。

类似地,随着研究者们越来越多使用自由软件,公众也将能使用同样的软件来重新合成和扩展发表在期刊文章里的成果,目前许多研究者使用昂贵的商业软件程序,其价格使得大学和大公司以外的人们难以企及。

当然,个人计算机不是科学再现性问题的唯一原因,实验设计差、不恰当的统计方法、高度竞争性的研究环境以及新颖性和在高知名度期刊上发表所具有的高价值都有责任。

而计算机的作用的独特性在于,我们对该问题有一个解决方案,我们有着借鉴自计算机科学研究的成熟工具和经过良好测试的方法的明确建议,来提高任何种类的科学家在计算机上做的研究的可再现性。投资一小部分时间去学习这些工具,我们就能帮助恢复科学的这一基石。

本文译自 TheConversation,由译者 王丢兜 基于创作共用协议(BY-NC)发布。


给这篇稿打赏,让译者更有动力
支付宝打赏 [x]
您的大名: 打赏金额:

0.0
赞一个 (8)

TOTAL COMMENTS: 17+1

  1. 吴杰操
    @2 years ago
    2980812

    计算机:怪我咯?

  2. 蛋白
    @2 years ago
    2980813

    图中是不是perl语言?

  3. 李妈哔
    @2 years ago
    2980818

    管我屁事

  4. 噬嗑饕餮
    @2 years ago
    2980829

    计算机说你们买不起软件怪我咯

  5. KirinS
    @2 years ago
    2980830

    所以说,配图和文字关系并不大,只是想让我们觉得“嗯科学计算机就是这么严肃,严肃点!这是个严肃的话题”么

  6. 2980831

    @蛋白: 可能是R

  7. 2980832

    @蛋白: 这么规整,怎么可能是perl,当你看到一段像是乱码的东西,但是它又能神奇地运行的时候,八成就是perl了。比如:
    #! /usr/bin/perl
    @lines= `perldoc –u –f atan2`;
    foreach(@lines){
    s/\w]+)/\U$1/g;
    print;
    }

    [41] XX [2] 回复 [0]
  8. 幕后煮屎者
    @2 years ago
    2980837

    发表的论文附图,附表都这么漂亮,真以为是一次性过的实验啊?就算在电脑上数据处理没有取舍,多次现实操作的实验中也有所取舍的,不如不让你发表白忙活了。

  9. 2980838

    公开算法,初始数据和程序源码不就行了,连鼠标都要模拟这是有病啊,作者咋不说录屏,再搞个直播啊。

  10. 2980839

    所以编程即将成为跟数学一样的基础学科么。。

  11. forvord
    @2 years ago
    2980890

    发表后,提供网站链接就可以了,全部录入期刊不实用

  12. 石头大王
    @2 years ago
    2980902

    大名鼎鼎的ggplot 必然是R

  13. 刁民
    @2 years ago
    2981011

    @蛋白: 似乎R 赋值方式和参数使用之类很像

  14. 2981133

    knitr还要更普及

  15. 2982204

    我觉得计算机科学的核心还是算法
    但讽刺的是,算法跟计算机无关

  16. 李子
    @2 years ago
    2984595

    @Miu: 控制复杂度

发表评论


24H最赞