数据科学家沉思录

最近因为工作缘故,需要承担一部分数据科学家的职责,这里是我的一些思考。作为菜鸟中的菜鸟,希望大家踊跃拍砖指导。


更新记录:

  • 2017.03.14: 内容更新
  • 2016.07.24: 完成初稿

数据科学家(data scientist)是一个非常模糊,游走在工程与研究边缘的职位,不同的公司,不同的业务其实就有不同的重点。能够精确定义的基本都是搬砖活,反而越是前沿的,越会是模糊的,越会是需要全才的。当然,这篇日志不扯具体的技术,主要是对职位和人本身的思考。

特质

先来说说就我自己的观察,一个靠谱的数据科学家需要什么样的特质吧。

首先是强烈的好奇心,以及配得上对应好奇心的观察力和判断力,延伸点就是透过现象看本质的能力,这就需要有一定的阅读量和思考深度。其次是对数据相关领域有比较深的了解(也就是行业经验丰富),毕竟所有的分析最终都需要落实到具体的计划,而这个计划一定要是可实现的,不然纸上谈兵没有任何意义。最后就是一定的统计学基础和工程师精神,借用知乎上的三句顺口溜就是『抬头能搞架构、平视能做业务、低头能码代码』。

还有一个不可或缺的就是展示和沟通的能力。因为数据分析的结果往往跟不同部门不同团队有关联,如何真正利用数据来驱动研发和销售,除了说得通的结论外,沟通才是重中之重,如何展示数据,如何让他人理解数据才是真正重要的。

职责

正如前面所说,数据科学家是一个太广泛而模糊的称谓,这里结合自己目前的工作,来说说我理解的数据科学家的职责吧。

核心的要点只有一个:化无形为有形。

也就是说,从浩如烟海的数据中,找到内在的规律,从问题(或者需求)出发,大胆假设,小心求证,科学分析,合理验证,最终得出结论,并可以结合行业规律落地到实际可执行计划。

具体到工作中,可能有下面三个方面:

  1. 基础数据平台建设:主要就是数据收集处理分析平台的搭建,收集各产品线各业务线各团队关注的相关指标数据,提供统一的访问接口和展示方式。为之后更高级的应用提供基础数据支持和运算能力支持,另外也需要保证数据平台的高可用性和容错性
  2. 历史数据分析挖掘:结合不同的数据和日志,为完善产品、划分用户等提供以数据挖掘分析为基础的可执行的结果和建议,简单来说就是从数据的角度来处理需求和问题
  3. 基于数据改进决策:在历史数据的基础上优化现在并预测未来,诸如推荐系统、用户画像、建立模型支撑产品的研发和公司决策都属于这个范畴

这三点从基础到进阶,每一层都是前一层的基础,需要夯实基础才能在下一阶段走得更轻松。当然,这就是数据科学家需要思考的事情了。

习惯

数据科学家和传统程序员其实还是有很多不同的,主要还是思考方式和习惯的不同,这里列几点

  • 数据可视化的重要性不是展示结果,而是多角度观察找到新的思路
  • 只有最合适的模型,没有真实的模型,所以要看具体如何分析验证解释结果
  • 不会讲故事的数据科学家都饿死了,尤其是给老板和合作团队讲故事,要讲好故事
  • 数据虽然是中立的,机器虽然是中立的,算法虽然是中立的,但是人不可能绝对客观,所以数据就很容易骗人,即使结果看起来再合理,也要用业务和常识去检验
  • 对行业信息和业务信息的深入理解可能比统计和数据更重要,理论一定要结合实际才有意义
  • 保持好奇心与走出去多沟通,一旦发现数据异常,就要主动找对应部门去了解情况,看看能不能从中找到原本不容易发现的问题
  • 业务方的数据敏感度因为长期的实际接触往往会比纯粹操作数据的数据科学家高得多,虚心学习,兼听则明,刚愎自用只会导致出乱子

写在最后

做事儿总是不易的,尤其是做好,但是这绝不是做不好的理由。

溯洄从之,道阻且长。溯游从之,宛在水中央。
溯洄从之,道阻且跻。溯游从之,宛在水中坻。
溯洄从之,道阻且右。溯游从之,宛在水中沚。

捧个钱场?