什么是full stack data scientist?兼谈Online VS offline data analysis

数据科学家当然是做数据分析的,Warald在《什么是数据科学》文章中进行过基本介绍。在这个文章里,我结合着两类数据分析,深入谈一下数据科学家工作内容。

数据分析可以分为两类:离线(Offline)分析和在线(online)分析。

什么叫离线分析?就是数据取下来以后,你分析的结果作为报告之类的形式,给人看,人来做出决定,然后去改产品。

而在线分析是分析结果,比如机器学习采用过去一个月数据,根据已经定义好的模型重新在新数据上跑出分类器、推荐之类的结果,然后这个结果成为产品的一部分,直接用来改良产品。

两方面各有各的用法和长处,都是必不可少的。比如在一件事情如果分析方法还不太确定,需要大量探索的时候,肯定是离线分析为主;如果公司不大,数据分析的工作量有限或者复杂程度有限的时候,也是离线分析为主;在尚未建立足够好的在线分析系统(也可以称为Data driven product即数据驱动的产品)之前,离线分析在所难免。这种分析可以使用最新的机器学习方法和复杂的统计模型,也可能只有简单的计算总和、统计个数。

最近有机会看到了几百份数据科学家(Data Scientist)工作职位申请人的简历,感觉做这个工作的人背景千差万别,牛人可以非常牛,挫人真的可以非常挫~同样顶着数据科学家的头衔,大家做得事情,实际上各种各样,也可以说鱼龙混杂。

有的人,只有本科学历,工作内容就是用Excel看总和和均值,也自称会做数据分析。这里不想鄙视Excel(这个工具其实还是很强大的),但是这种人顶多应该成为analyst,离真正数据科学家差距遥远,即使全力以赴追赶,2-3年时间内也无法弥补巨大的差距。这些人建模能力一般不行,有些人商业敏感度不错,大致知道应该去看什么数据来下结论,但是对数据敏感度又不够,因为缺乏定量分析(Quantitative Analysis)的背景。很多时候,这些人没有哪怕是最基本的编程能力,而且,即使知道一些基本统计概念,但是也一般无法正确理解统计假设检验,不懂得检查数据质量,回归什么的就不提了。对机器学习,往往只会点击的软件图形界面生搬硬套做分析,但是不知道是否在使用合适的方法;对结果,比如training vs test set, cross validation, accuracy vs ROC/AUC也未必能很好的理解。但是这些人对某些公司里来说仍然很有用,因为有时候公司数据就那么多,变化经常非常大,不需要最复杂的工具就可以分析个八九不离十。在公司人员和时间资源有限的条件下,稍微分析能达到八分准确,就已经足够了,没必要搞最复杂的办法。同时,因为这种分析并不需要多深的专业知识和技术能力,其实任何一个人都能做,从码农到项目经理到任何一个人。所以,门槛极低、可替代性极高。

作为对比,进行复杂的离线分析和开发在线数据产品的,就需要有专业知识的人才做的了。

哪些场合需要复杂的离线分析?一些数据量足够大的传统企业,比如大家熟知的银行、保险、制药、市场分析甚至信息技术IT,都需要。大多数场合下,是不需要“实时”分析的,比如保险公司和制药公司的数据,如果要花费几天、几周甚至几个月去分析数据,其实也不是那么要紧因为这些数据并不是瞬息万变、不需要实时调整。当然这些领域的数据对精度要求会非常高,比如事关人生命的制药公司数据显然对准确性的要求比计算机公司高出好多数量级,一个是要求慢而及其准确,另外一个是要求非常快和差不多即可,这些差别是在这两种企业之间跳槽者必须克服的一大障碍。

只有离线分析能力的人,很难自立门户或者参与早期的创业公司。因为早期的创业公司,数据量相对较小,有可能肉眼看看也就差不多了,用不到很复杂的方法去做离线分析,除了公司正好是开发离线分析工具的,否则,对他们来说,离线分析往往是“有了更好”而不是“没有就不行”。

我们可以设想这样一个“极端”的人才:本科数学,硕士计算机,博士统计或者统筹;或者直博计算机,专攻机器学习,但是业余跟朋友一起亲手做过搭建网站,自己做过产品;或者电子工程博士,选过所有核心统计课,业余项目做的很广很多。这些人的教育背景给了他们对数据的敏感度和各种软件以及分析方法的熟悉度,有强大的学习能力和分析能力。他们既有坚实的数学基础,不惧推导公式,又有统计和机器学习建模和分析的能力,最后,还有亲自写代码,把想法变为产品或者起码working prototype的经验和能力。这些背景的人毕业2-3年后就可以成为团队的领导或者起码是技术领袖(technical lead)。这些人将来发展前景会极为广阔。不光可以在少量高精尖的大公司做深度研究,也可以换一个小型公司,从亲手做分析和数据产品开始,建立和管理团队,最后,也完全有机会和能力自立门户。这些人经常因为有多个领域教育背景和业余做事经验,沟通能力一般都不会很差了。在工作一段时间之后一般可以轻松学会足够商业意识。这些人就成为了所谓的全栈数据科学家(full stack data scientist)。

目前市面的数据科学家很少有真正全栈的。工业界有个说法,说统计、编程、商业能力三者兼有的人是unicorn,是不存在的。也正是因为这种人才的缺少,绝大多数公司的数据科学工作都是一个团队、由各种背景的人员来做。

随着数据科学的热度,越来越多的人在学校里就注意加强统计和编程技术的学习,也越来越多的人会业余去做自己的爱好项目来积攒商业嗅觉(business sense),Warald相信5-10年后会出现越来越多的unicorn。

– Warald (Email: iamxiaoning@gmail.com)
博客: http://www.1point3acres.com,微博:http://www.weibo.com/warald
欢迎转载,转载必须在标题注明转载,在文章正文开始之前而不是最后,用不小于正文的字体大小,肉眼可以清楚识别的颜色,一字不漏的附带文章末尾的版权声明,包括作者ID、博客网址和原文链接。否则视为侵权!感谢合作。