2529 字

全栈科学家

本来是打算写别的,但今天下午的例会彻底把我搞怒了,我现在越来越明确地感到分工促进效率这句话在科研中是多么扯淡的事了。我在去年总结中提到不喜欢进取心强的人,其实有点一棒子打翻一船人了,也不用猜了,说白了就是西奈山这边的两个AP,一个P开头纽约城市大学毕业的,一个A开头哥大毕业的,我说的是名字。这二位有个共同点,都是所谓搞数据的统计学家。坦白说,从这二位的报告上我看不到任何闪光点,接触几次后更是再也不想打交道了。问题有两个,一个是目中无人,一个是外强中干。没有第二个其实我能接受第一个。

这些所谓统计背景出身的人每次例会一出现就是一副高高在上的样子,经常性习惯性打断别人说话,然而我不能接受的是满嘴“bull shit”去否定别人的研究且理由根本站不住脚。我统计学是纯外行,但我从来都是鼓励更多实验学科出来的坑主学一些统计学的概念与思想来解决实际问题,不过窃以为统计学纯理论的发展已经脱离实际了。不,确切说是实际问题的复杂性已经不能考虑理论上的精巧了。这二位显然是没受过实验室训练还装自己受过训练,拿块芯片去讲批次效应自己还只是个合作者,二代测序都预备过气了。另一位满嘴模拟数据,我自己收集过两位数的不同数据集去看分布,基本是一个实验一个样,你那个从理论分布里跑出的模拟跟垃圾没啥区别,也别去怪做实验的不懂,懂得才不会用。

前几年对数据的追捧让很多受过统计教育的人在学术界迎来了春天,我也觉得一个现代实验室需要配备统计学家。不过现在我不这样想了,我觉得需要配备的是统计思维与意识,真正解决问题绝对不能靠统计学家,特别是那些完全搞不清状况上来就胡说八道的主。跟他们提新概念一脸懵比,可重复性的理解只停留在代码脚本层上,讲起东西来倒是挺颐指气使的,讲火山图就讲火山图,找张火山照片问哪里拍的?鬼知道你哪里拍的,知道了对你讲火山图也没用啊,这种半吊子演讲技巧大概也是哥大特产吧。解决实际问题的人往往更关心问题的复杂,而沉溺于自己那一点点专长而到处挑刺的统计学家我觉得任何团队都不需要。解决问题需要工具箱,不是一个锤子就能走天下的。统计学家确实有开其他学科后门的钥匙,但也得对其他学科的问题有理解再喷啊,很多建议做过实验的一听就知道是“何不食肉糜”。

就代谢组学或非目的分析而言,实际问题从实验设计到数据处理到处都是坑,单纯纠结数据采集不完美或新手乱用软件包不解决问题。更让我感到搞笑的是当我说可以用rmarkdown来进行工作流的标准化时竟然来一句rmarkdown是 worst 中的worst,因为让很多人认为不了解算法单纯填空就能解决问题。好吧,其实我是同意使用者要对算法有了解的,但怪到rmarkdown上是几个意思。要是没有这个,学习使用R的精力成本是非常高的,重复别人的计算工作更是成了天方夜谭,sweave里LaTeX有多少坑,那是个不能说的秘密。更简单的工具的确降低了学习的门槛,能让更多人不用去面对大量的调参,但并不是说调参就是研究的全部。统计模型也好,仿真模型也好,说到底都是真实问题的抽象,用模型用错了与等待完美答案中前者更反映科学试错的本质而能被审稿人或同行纠正,后者则更像是逻辑爱好者的游戏。

分工促进效率在面对可分解为具体步骤的行业或学科是好使的,但面对真实问题例如疾病,实验者与数据处理者是不能脱节的。但指望两拨人放下成见平等交谈是很不现实的,因为占据理论高度的数据处理者或者说统计学家总会觉得做实验的是啥都不懂的。不过你不可能不湿鞋就过河,不了解实验具体操作就在那边对实验设计指指点点只会让实验者与统计学家的隔阂越来越大。所以我觉得解决实际问题需要培养全栈科学家,就是那种从采样到样品分析再到数据分析都有概念的科学家,即使以后实验可以外包也必须要进行所谓脏活的训练,数据科学家需要洗数据,全栈科学家可能连样品都要亲自采集,纸上谈兵绝对不行,养出一堆赵括天天跟你扯术语用的对不对完全就是浪费资源,全部开掉完全不影响进度,他们只是想通过凸显自己的专业性来找面子,根本就不打算解决问题。

很多时候模型是否精巧,参数是否最优确实会产生影响,但模型或软件的设计需要考虑用户体验。xcms 3 就很不人性的去掉了子文件夹识别为分组的功能,逻辑上没错,但你让一个做一天实验的研究生处理数据时写正则表达式找分组就任性了。我一直提倡的是默认值要能解决80%的问题,因为搞明白默认值里所有参数的含义基本相当于重写一遍这个模型,这个对使用者要求就有点过了。理解算法思想与核心参数然后调用函数解决问题应该是软件设计者对使用者的预设,不是说要让使用者用软件时重新走一遍设计流程,这是抬杠。这也是我说要标准化工作流的重要性,每个研究都有独特性不假,但有个基础工作流可以保证大多数工作不是在做无用功。要知道,工作流存在的意义就是哪怕一个新手去操作也不会犯低级错误,你管这个新手懂不懂干吗?不懂不还有同行评议来检验吗?标准化工作流就相当于软件默认值,有默认值我们回过头来讨论问题是很容易溯源的,连这个都反对,你是觉得大家都搞独门秘籍无法互相验证更好吗?科学的发展是建立在共识上的,各搞各的是打算开餐馆吗?

专业的人喜欢谈差异与术语,解决问题的人更关注问题背后的共性。统计学家不要拿起实验设计不够随机与混杂因素工具变量啥的一堆术语去居高临下教育别人,这些问题要是都解决了一个t检验不就天下太平了,还需要统计学家做什么。扎根实际问题然后抽象出可测量的统计量,然后在模型中进行控制或考察,让结果具有可比性与重复性才是更重要的。我觉得统计学家不能固步自封,新技术一直在出现,新理念也一直在出现,自己不懂就去打击是很幼稚的行为,没听说过 reproducible research 还没听过重复性危机吗?隔壁哥大 Gelman 大人天天那么努力写博客都不看吗?我觉得有些AP转正只能靠数据科学的风口了,骄傲而无知能撞到一个人身上也不容易。

吐槽半天说的还是美国,但毕竟人家都意识到统计学对其他学科的重要性了,国内的路更长,因为搞实验的还停在民工培养模式上。现在教学与技术手段已经足够发达了,培养一个全栈科学家可能并不比培养一个赵括更困难。上世纪科研界花费了大量精力去构建术语体系与专业学科的墙,这个世纪我们该尝试打破这些意义不大的墙去解决一些复杂而现实的问题了。