到底什么是数据科学家?

2017 年 3 月 02 日

随着“数据驱动”的价值越来越明显,越来越多的企事业开始组建或扩大数据分析队伍,“数据科学家”这个职位也越来越被大家关注。

–“数据科学家”是不是“统计师”更性感的版本?

–起码得有统计、应用数学、计算机的背景?

–干了 5 年的软件开发,写 SQL 如反掌观纹,换行做数据科学家很容易吧?

–我们市场部也想更加“数字化”,但不懂编程,应该如何起步?

经历了一些不同阶段的大数据项目之后,我意识到,在“数据科学家”这个角色没定义好之前,“数据化”会遇到很多挑战。这个角色的定义相当模糊,造成很多混淆–很像对“数字化”本身的混淆。

我翻阅了一下招聘网站上数据科学家的职责,有的专门通过统计和机器学习来建立预测模型,有的定义则更加宽泛。那么到底“数据科学家”具备什么样的技能,能做哪些事?很多希望实现“数据驱动”的企业对数据科学家的期望比较笼统,并且在不断修正中,这很正常,那么,怎样才能更好地为这一职位做好准备?

网上已经有很多种答案,本文并不想提出新的诠释,而是尽量将最主流的观点提供给大家,并结合现有的技术,为有志于成为数据科学家的朋友,提供建议。

定义一:数据科学家起码是统计师

“数据科学家是对统计师更性感的称谓” -Nate Silver

Nate Silver 是个著名的统计师,凭借 2008 年美国总统竞选中,成功地预测了所有 50 个州里的 49 个州竞选结果,而一战成名,并被《时代周刊》评为 2009 年度最有影响力的 100 人之一。

他说:“数据科学家是对统计师更性感的称谓。…,数据科学家(这个称谓)有点多余,人们不应该批评“统计师”这个词”。

不过,数据本身在变化——越来越多,越来越快,种类越来越丰富,统计师们用以前的办法难以应对,所以数据科学家至少是比统计师们更善于编程的那些人。

定义二:数据科学家用编程和统计,将数据更有用

随着数据分析和业务需求的发展,以及分工的细化,这个称谓也在逐渐演化。 比如,Pandora 的研究部门负责人 Michael Hochester 是这样定义数据工程师的:

“数据科学家是一些能综合运用编程和统计技术的人,他们致力于通过各种方式让将数据更发挥作用。”

他认为数据科学家分为两类: (参见"What is data scientist"一文)

A 类: 分析型

主要像统计学家那样,进行静态的数据分析,并能清洗数据。他们用不同办法处理较大的数据集,可视化,非常熟悉某个领域,能很好解读数据等等;

分析型数据科学家也能通过写代码来处理数据,但不像工程师那样专业。他们更擅长实验设计,预测、建模、统计推断和其他统计工作。结论会更直白,而不是像 P 值和置信区间那么学术化。提炼出简洁有力的结论,并传达给其他人,是数据科学家常常被低估而异常重要的职责之一。

B 类: 搭建型

除了统计知识之外,搭建型数据科学家编程很强,关注于用在线生产数据搭建模型,并和其他系统连接,实现自动更新结果、或自动和用户互动,比如推荐系统(产品、你认识的人、广告、电影、查询结果等等)。

一个好的分析师具备哪些特点?

我最喜欢这个问题,网上的答案也五花八门。 有推荐一大堆技术的,有一大堆统计名词的。 Monica Rogati 的答案值得回味:她在《一个好的分析师由哪些条件组成?》里提出四点:

1. 务实

技术和模型是否最优,远不如所带来的影响更重要。 几个星期的工作,是否能为公司带来相应收益,结论能带来多大的改变? 务实,意味着在开始之间搞清楚:1)可能的,和最有可能的结果;2)所需的时间、人力和资源。

花几个星期研究一个新算法,甚至学一个新技术,很能带来成就感。但对公司来讲,是不是真的比一个基于简单的启发法 (Heuristics) 的结论有用得多? 不考虑机会成本,就可能纠结于一个最多能带来 2% 提升的难题,而忽略了能带来 20% 提升的课题。

所以,当产品经理跟你讲:“能不能帮忙把 xxx 产品今年的数据帮我汇总一下”,一定要问问用途,比如“为啥需要啊?”,“想看哪方面?”,对方也许关心渠道增长,或者想进行捆绑营销。不清楚目的,而一头扎进各种报表,不仅费时费力,而且结论的针对性和深度有限。

2. 好奇

数据分析有点像侦探工作。 重大发现都是从蛛丝马迹开始,看似无关的线索可能有深藏其后的关联。追,可能能获得重要的洞察,不追……也没人怪你。线索 = 数据,多种来源、不同规范程度的数据。80% 的精力都会耗费在提取、清理和规范数据上,所以,缺乏好奇心,就很难坚持追下去,而最终真相的价值可能超过最新最酷的机器学习算法。

3. 技术和解决问题的能力

技术、能力和业务知识,缺一不可。

技术意味着对统计、算法和软件工具的熟悉。 并不非要有统计学的硕士学位,但起码得明白最小二乘法之类的基本统计方法和如何解读结果。

能力意味着能解决实际问题,能坚持不懈地用各种技术进行探索,灵活地编程,使用命令行,对不同数据源进行清洗、转换, 应用不同的算法和模型。 计算机学位也不是必须的,实际上很多技术侠连正式的计算机课程都没修过。

业务知识是指和具体领域、公司或部门相关的背景知识。比如分析医疗设备数据时,如果了解哪些耗材配套哪些设备? 哪些医院科室常做哪些检测?就可以更明智地使用数据。

没人能对所有这些都熟悉。好在信息时代让学习变得更加简单。最快的途径是边做边学,比如自己做些小项目,并跟着有经验的数据科学家学习。不同的公司所看重的技术、工具、业务知识也不同。 很多公司非常看重统计学基础,比如提供网络游戏和社区的 Twitch 的数据科学家 Brad Schumitsch谈到

“在 Twitch, 我们的数据科学团队由三部分组成:统计、编程和产品知识。 我们从来不招统计学不强的人。你可以是个很强的程序员,但如果不懂贝叶斯定理, 我只能建议你去我们工程部。”

所以,不同企业或不同阶段,对技术、能力和业务知识这三方面的侧重不同。 Google 的数据科学家可能有博士学位,对计算机和数学很有研究。电商领域的同样岗位可能对电商非常熟悉,却不一定经过正式的数学或计算机培训。

4. 沟通能力

能不能把复杂的概念阐述得言简意赅,而不用专业术语? 能不能几秒钟之内就做一个简明扼要的图? 能不能忍住不把所有前提、场景、局限性都一股脑倒出来,来保证结论的绝对正确?

是不是觉得可视化和简洁的结论只是给不懂技术的人,或者不如你聪明的人看的?

我的大数据导师老丁曾是惠普全球运营报表部门的老大,当时我负责此平台开源后的市场工作。宣传资料做了两版之后,老丁扔过来一句话“太技术”,等到第三版,老丁急了,扔过来一本乳品生产企业的宣传册,说“按这办”。“乳品”vs“数据库”,我有点懵…老丁是 80 年代放弃成为第二批计算机学科院士的机会,毅然投入美帝数据库一线工作几十年的老 IT 了,那全局观,那思路,不可能错啊。

N 个月之后,我明白了。 宣传也好,数据科学家也好,有一点是相同的:我们的结论不应只追求正确,更重要的是简洁。让别人彻底明白,才有可能及时促成行动。

这个过程责任重大,所涉及到的前提、场景和局限性都很重要,但应先等一等,不能一股脑抛给你的听众。它们终究会被简化掉,由数据科学家主动去简化,不比被以后的人随意简化强吗?

如何成为数据科学家?

数据科学家的收入和职业前景不错,那么如何才能找到一份数据科学家的工作? 另一个相近的版本是,很多企业建立内部数据科学部门的时机也逐渐成熟,如何培养内部人员成为数据科学家? 网上能找到不少关于数据科学家方方面面技能的教程、课程或视频,包括分析方法、开源工具、编程语言等。如果英文较好,还能从 InfoQ、Quora、StackOverflow 等获得不少国外大牛的指点。不过许多攻略都是这样:1)你需要 A、B、C、D 这些技能;2)这里是链接。Python 的链接在这,R 的链接在那,机器学习的视频在最下面,再去安个 Hadoop 和 SPARK。 这是最常见的学习方式,但很费时费力,效果没那么好。 很多培训用的是处理过的规范数据,演示效果很好,但现实却不太一样。 实际上,大家更认可“边干边学”的效果,可是在找到数据科学家的工作之前,怎么才能得到“干”的机会? Monica Rogati 的《How Can I become a data scientist》和Tomi Mester 的《 How to get your first job in Data Science 》都提出了很好的方法。

第一步 四种工具

如果你想从最基础开始,有四种工具比较常用。这些工具都是免费的,Tomi Mester 提供了一个英文的攻略

- Bash 和命令行;

- Python

- SQL

- R

- 有时需要 Java

一般来说,不同的公司会选用其中两到三种。好消息是,一旦学会一种,学其他的也很快。 总共花一两周,选其中两三种掌握基本使用,就可以进入下一步。

Tomi 的攻略需要安装和连接到云上的虚机。这些服务国内众多的云服务商都能提供,可以直接选国内的即可。 具体的安装,如果自己不熟悉,也可以请朋友帮忙,不一定要花太多时间。

第二步 先定个小目标,比如动手做几个小项目

亲手做些项目,不仅是最快最有效地的学习办法,而且能让你的简历更引人注目,在面试时加分不少。

选个感兴趣的题目

结合可以找到的数据,选选自己感兴趣的题目,比如空气质量、气候变化、民航运输、旅游、医疗支出等等。网上有不少数据可以免费或者很便宜地下载。除了国内数据,一些美国网站上也有很多世界范围的公众数据,比如天气、各国经济、疾病、自然灾害等等。 常用的网站有国家统计局(“国家数据”)、美国政府公开数据 Data.gov 、Kaggle 比赛的数据集世界数据图册 CEIC 证监会新浪财经 AWS 公用数据集数粮、机器学习的 UCI 数据集等等。 如果是公司支持的项目,还可以从公司 IT 部门拿到数据。 重要的是,应该从容易上手的项目做起,找到数据,争取一周之内得出结果。

发个微博或微信,看看反映

在动手分析之前,先大概看看数据,把你想做的项目和初步印象用一两句话,在微博和微信上看看大家的反应。既要现实一点(能在一个星期内做出结果),又要保持乐观(相信自己能做出来,能找到些有趣的结论)。猜想一个可能的结果,不一定很准确(甚至可以编编),并邀请大家反馈,比如 Monica Rogati 曾经这么发微博:

“我用 LinkedIn 数据研究创业者,发现他们比想象的老,学物理的比学护理或神学的多。也许是因为风投们很难投一个新的宗教吧?”

“我用Jawbone 的数据研究天气对运动的影响–纽约人没有加州人那么容易受天气变化的影响,你们觉得是因为纽约人更强,还是他们主要在室内运动?”

“我结合BBC 的讣告和维基,来看看 2016 这一年对名人来讲,是不是真的很衰。”

如果你想学习某种技术的话,还可以这么写,比如:

Shelby Sturgis :“我为老师和管理者做了个 Web 应用,通过分析学校排名、考试分数的变化和不同科目的成绩,来帮助他们提高教育质量。我用了 MySQL、Python、Javascript、Highcharts.js 和 D3.js, 来存储、分析和展示加州 STAR 考试数据。”

“我用了 TensorFlow 来自动对黑白照片上色和还原,帮奶奶做了这个拼贴图–最棒的圣诞!”

想象自己在交流会和面试里反复介绍,刊登在《今日美国》或《华尔街日报》上。你会觉得无聊,难以讲清还是觉得自己聪明,并感到自豪?如果答案是否定的,就重新再找,或者回到上一步,直到找到 2-3 个信服的想法。 问问其他人–这个有意思吗? 你愿意面试做这个的人,来做数据分析的工作吗?

除了找数据和粗略地了解相关的技术和工具,此时你还没有写任何代码,或者做任何具体分析。你可以很方便地多次重复这个阶段,而不要太着急地一头扎进某些教程或者课程,花几个月时间毫无所获。

开始干

分析数据。清洗。绘制图表。重复。看看每个字段常见的前十个值。研究一下异常值。看看分布情况。如果数据不是很零散,可以把类似的值分组。分析相关度,处理缺失的数据。尝试不同的聚类和分类算法。调试。找找为什么有的效果好,有的不好? 如果数据多的话,搭建 AWS Data Pipeline。对非结构化数据尝试用不同的 NLP 库。可能会用到 Spark,numpy, panda, nltk, 矩阵分解和 TensorFlow。这些技术不是为了学而学,而是因为解决问题必须用到。

找个懂统计学、软件工具或业务分析的朋友,会有很大帮助。每周花一个小时或每两周聚一次,都会很快帮你理顺思路,或者解决实际问题。

做个侦探,提出新的问题和新的方向。数据的收集方式是否合理? 引入另外的数据集会怎么样?这应该是个有趣的过程,偶尔遇到障碍时,可以向网上、论坛、老师或做相同工作的朋友求助。 如果感觉不好玩,就重新找个题目。如果感觉很差,就重新思考要不要当数据科学家。如果这部分不能让你充满干劲,你很难坚持和干好真实数据工作中占 80% 的乏味的苦活。

表达

用简单的语言和干净、说服力强的图表来一目了然地表达。 学会用可视化工具非常重要。 如果你建了个原型,可以做一个简洁、有趣的演示或视频。把技术细节和代码放在链接里。发出去,并收集反馈。公开展示能让你提高标准,得到高质量的代码、表达和图形结果。

重复这一过程,逐渐就能形成自己的项目集,给招聘人员看,直到加入梦寐以求的团队。

有没有捷径?

很多朋友从事市场、财务等工作,不具备统计学背景,更没有编程经验,如何转向数据科学?

2016 年底,一个朋友带给我一个很典型的场景:她在一家医疗仪器公司,负责市场工作,积累了不少的数据,包括客户、销售、产品等方面,分别来自于 CRM、财务和产品管理系统。最大的表 100 多 G,维度也比较全面。公司希望能培养自己的数据科学家,她也很感兴趣,问题是,如何开始?

一般来说,如果对 Excel 的统计函数(如 sum, sumif, count, 时间转换等),vlookup 和数据透视表比较熟悉,可以从可视化工具入手。如果公司有预算,可以考虑 Tableau,Power BI 等;也可以选用国内帆软、魔镜等。 Tableau 的教学视频比较系统,很容易从 0 基础开始。

同时可以快速翻阅几本经典书,包括《深入浅出数据分析》、《统计学》、《R 语言实战》、《深入浅出 Python》等。对数据分析本身的使命、基本概念、常见方法等获得总体了解,能让你更快地找到自己的目标,为自己的项目整理思路。

同样重要的,要以自己的项目为主线,限定期限,避免为技术细节,扎到浩瀚的资料里。遇到问题再去 Quora、知乎、Stackoverlow、微信群和相关工具的论坛问问题,项目进展会快得多,有时候几分钟就会有人给你答案。 做完第一个项目之后,再逐渐用更复杂的指标、算法或工具,再用一两周时间做出下一个项目,以此类推。

即使完全没基础,也不用担心。花点时间看看上面提到的书或可视化工具的教学视频,大概了解数据分析的基本概念和方法,你就可以开始选自己的题目,开始探索数据科学家的星辰大海,迎接崭新的未来。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 3 月 02 日 16:33 4084

评论

发布
暂无评论
发现更多内容

谁能让你安稳

Neco.W

工作 稳定性 努力工作

520 我用算法帮女朋友的闺蜜选男友

cherubines

Python 算法 数据分析 蒙特卡洛 最优解

Android | Tangram动态页面之路(四)vlayout原理

哈利迪

android

MacOS 下使用VSCode进行GoLang Test报错

北纬32°

golang macos vscode Unit Test debug

中小型城市商业银行数字化转型实践(一)整体技术架构转型(双态IT)

泡菜小仙

数字化转型 架构设计 技术架构

看得懂的区块链及智能合约概念

石君

区块链 智能合约

2020年5月19日 Java并发编程专题

瑞克与莫迪

Java、

生活就是这么讽刺,有时候你嘲笑他,有时候你想成为他......

代码诗人

中年危机 文艺 短片小说

从Deepl说起,聊一聊未来的“安全职业”

孤岛旭日

程序员 AI 职业

Oracle 数据恢复一例

wong

oracle windows dbf

Kubernetes时代的云容器平台:各家云产品模式逐渐丰富

韩超

腾讯云 阿里云 Kubernetes IaaS PaaS

《零基础学 Java》 FAQ 之 9-Java里的各种数据类型占用多少内存空间

臧萌

Java

关于键盘的一些事

BabyKing

vim 缓存 键盘 快捷键 karabiner

SQL 生成斐波那契数列

zero

sql 斐波那契 MySQ

部门最漂亮的妹子离职了

无箭的丘比特

团队管理 生涯规划 企业文化 职场

奇怪知识点系列:Office 365 CDN 揭秘

手艺人杨柳

Office 365 Microsoft 365 SharePoint Online

「Postman教程 」功能介绍-1

Megatron7

测试 Postman

如何设计一款“高可用高性能”的发号器?

小楼

Java 高可用 发号器 高性能 raft

回“疫”录(21):你这样做的样子真丑

小天同学

疫情 心理 回忆录 现实纪录 纪实

中小型城市商业银行数字化转型实践(二)集成关系ESB APIGateway ServiceMesh

泡菜小仙

架构设计 集成架构 ESB

在Gitlab-ce的Docker中使用自定义端口

天飞

Docker gitlab

MyBatis支持的jdbcType 枚举类型

Kevin Liao

比特币是新生事物吗?

Haiyung

比特币

项目提升服务过程与总结稿

Geek_bc0aff

linux文件系统-inode学习整理

戈坞昂

Linux inode

看完这篇 HTTPS,和面试官扯皮就没问题了

cxuan

https

重新强调完成的定义

Bob Jiang

Scrum 完成的定义 DoD definition of done

实现一个比LongAdder更高性能的计数器有多难?

小楼

Java jdk LongAdder

「Postman教程 」接口测试-2

Megatron7

测试 Postman

中小型城市商业银行数字化转型实践(三)数据中台建设思路和路径

泡菜小仙

数据中台 数字化转型 数据架构

我的读书笔记-樊登读书法

lmymirror

读书笔记 学习方法 方法论 学习笔记 读书方式

到底什么是数据科学家?-InfoQ