向科学家学习,养成一些好习惯:
数据科学家/统计学家应该养成哪些好习惯?
关丹辉,For Data Science: www.datakit.cn
个人观点,仅供参考:
1、永远不要轻信自己的分析结果,多用业务和常识去检验。
很多时候,我们的分析都是含有一些潜在的假设,而在分析过程中被忽略。比如最经典的案例是在 1948 年,盖洛普错误地预测了杜威能击败杜鲁门而当选总统,原因是多方面的,但是抽样中的潜在不平均是不可否认的。再比如有个人分析结果得到刚毕业的专科的平均薪资比同专业的本科要高,就找一堆理由来说明这个结论。但是领导说这个不符合常识,打回去重新分析。之后发现是因为样本男女比例不均衡导致的。所以,我们不要轻信自己的分析结果,尤其是不能给自己的分析找正向的理由。因为只有你找理由,总会能给自己的结论找到一堆理由。有多从实际出发,如果不符合常识,那就更要多方面论证,才能发声。否则,就会是个笑话。
2、阅读人文:数据科学不仅是一门科学,也是一门艺术。
数据科学,你可以认为是一门探索人性的科学。我经常跟周围做数据或者 IT 人的说的一点是,因为我们是做数据或者写一些代码的,这里的数字是 1 就是 1,不会是 2,TRUE 了就不会是 FALSE,所以做久了,人容易偏执,不会享受生活,那就无法引进艺术。也举一个例子,美国有一家大型商场,业务经理想能否预测一个客户是否是孕妇,以此来针对性的营销呢?之后他们的数据科学家通过分析找到了一个模型来预测。那么他们是直接把孕妇相关产品推荐给客户吗?不是的,因为这个数据科学家不仅是数学好还是一个社会学家,他说如果全部推荐相关产品,那么客户会觉得自己的隐私被侵犯,甚至会觉得反感,所以他的策略是把真正想要推荐的东西放在一堆其他东西里。当然,这里只是简写,实际过程非常有趣。
3、了解行业信息和业务信息
这一点非常重要。分析和挖掘,最终都是要落到具体的业务上来的。所以做数据,不能脱离业务和行业规律。了解行业信息,能够让你在分析的时候更加的接地气、更好的把握分析框架。尤其是,联系刚才说的第一点,你积累的行业信息和业务信息都会帮助你检验你的分析,同时让你更还的认识到什么样的分析是有价值的分析。此外,对于业务中的乱七八糟的各种概念更是要深入理解,不能停留在表面。有时候,一个业务概念理解失误(比如 0 是否有参与计算),会导致分析出完全相反的结论。据说,数据分析会导致经验累积加速,简单的说一般业务人员工作 10 年的工作经验,数据分析 5 年就能掌握。
4、好奇心与多沟通
在我个人经验中,按照既定的一些分析框架分析,一般都只是完成了既定的任务而已。但是,你对分析中的一些异常多问几个为什么,很容易找到一些业务的突破口。比如你分析销售业绩,你发现一个人,成单比例总是比别人高,甚至有时候比特别有经验的人还高,你就问问为什么呢?否则,你就只能发现这个数字而已。后来,你通过分析和直接询问等方法,发现他发现了新注册的用户容易成单,所以每天盯着新用户呢!当然,这样的例子是比较多的,比如为什么要让用户自己选择一些信息呢?然后一个数据产品就出来了。
5、多实践与多走一步
这里涉及到模型了,也是我个人做的比较多的地方。
对于其他的,比如责任心、细心啥的,这些是其他职业也要求的,而专业性,这个就更不用说了。
注意:本人不是统计学家,也不是数据科学家。只是在数据科学道路上,个人的一点感受。望各位知晓。
1、永远不要轻信自己的分析结果,多用业务和常识去检验。
很多时候,我们的分析都是含有一些潜在的假设,而在分析过程中被忽略。比如最经典的案例是在 1948 年,盖洛普错误地预测了杜威能击败杜鲁门而当选总统,原因是多方面的,但是抽样中的潜在不平均是不可否认的。再比如有个人分析结果得到刚毕业的专科的平均薪资比同专业的本科要高,就找一堆理由来说明这个结论。但是领导说这个不符合常识,打回去重新分析。之后发现是因为样本男女比例不均衡导致的。所以,我们不要轻信自己的分析结果,尤其是不能给自己的分析找正向的理由。因为只有你找理由,总会能给自己的结论找到一堆理由。有多从实际出发,如果不符合常识,那就更要多方面论证,才能发声。否则,就会是个笑话。
2、阅读人文:数据科学不仅是一门科学,也是一门艺术。
数据科学,你可以认为是一门探索人性的科学。我经常跟周围做数据或者 IT 人的说的一点是,因为我们是做数据或者写一些代码的,这里的数字是 1 就是 1,不会是 2,TRUE 了就不会是 FALSE,所以做久了,人容易偏执,不会享受生活,那就无法引进艺术。也举一个例子,美国有一家大型商场,业务经理想能否预测一个客户是否是孕妇,以此来针对性的营销呢?之后他们的数据科学家通过分析找到了一个模型来预测。那么他们是直接把孕妇相关产品推荐给客户吗?不是的,因为这个数据科学家不仅是数学好还是一个社会学家,他说如果全部推荐相关产品,那么客户会觉得自己的隐私被侵犯,甚至会觉得反感,所以他的策略是把真正想要推荐的东西放在一堆其他东西里。当然,这里只是简写,实际过程非常有趣。
3、了解行业信息和业务信息
这一点非常重要。分析和挖掘,最终都是要落到具体的业务上来的。所以做数据,不能脱离业务和行业规律。了解行业信息,能够让你在分析的时候更加的接地气、更好的把握分析框架。尤其是,联系刚才说的第一点,你积累的行业信息和业务信息都会帮助你检验你的分析,同时让你更还的认识到什么样的分析是有价值的分析。此外,对于业务中的乱七八糟的各种概念更是要深入理解,不能停留在表面。有时候,一个业务概念理解失误(比如 0 是否有参与计算),会导致分析出完全相反的结论。据说,数据分析会导致经验累积加速,简单的说一般业务人员工作 10 年的工作经验,数据分析 5 年就能掌握。
4、好奇心与多沟通
在我个人经验中,按照既定的一些分析框架分析,一般都只是完成了既定的任务而已。但是,你对分析中的一些异常多问几个为什么,很容易找到一些业务的突破口。比如你分析销售业绩,你发现一个人,成单比例总是比别人高,甚至有时候比特别有经验的人还高,你就问问为什么呢?否则,你就只能发现这个数字而已。后来,你通过分析和直接询问等方法,发现他发现了新注册的用户容易成单,所以每天盯着新用户呢!当然,这样的例子是比较多的,比如为什么要让用户自己选择一些信息呢?然后一个数据产品就出来了。
5、多实践与多走一步
这里涉及到模型了,也是我个人做的比较多的地方。
在数值计算(或者任何其他工程领域)里,知道一个东西的基本算法和写出一个能在实际中工作得很好的程序之间还是有一段不小的距离的。有很多可能看似无关紧要的小细节小 trick,可能会对结果带来很大的不同。当然这样的现象其实也很合理:因为理论上的工作之所以漂亮正是因为抓住了事物的主要矛盾,忽略“无关”的细节进行了简化和抽象,从而对比较“干净”的对象进行操作,在一系列的“assumption”下建立起理论体系。但是当要将理论应用到实践中的时候,又得将这些之前被忽略掉了的细节全部加回去,得到一团乱糟糟,在一系列的“assumption”都不再严格满足的条件下找出会出现哪些问题并通过一些所谓的“engineering trick”来让原来的理论能“大致地”继续有效,这些东西大概就主要是 Engineer 们所需要处理的事情了吧?这样说来 Engineer 其实也相当不容易。这样的话其实 Engineer 和 Scientist 的界线就又模糊了,就是工作在不同的抽象程度下的区别的样子。在工作和平时学习练习中,都是这样。很多人问的太多,做的太少,导致眼高手低。比如你问用 Ensemble,会怎么怎么样呢?对哇,很多人能问这个问题,但是就是不去试一试。再比如,有偏样本的问题,有过抽样、欠抽样、阈值调整等等方法,都可以去自己实践一下,才会有更加直观的认识,否则只停留在讨论阶段是没用的。多走一步,每个问题都是自己成长的阶梯。
对于其他的,比如责任心、细心啥的,这些是其他职业也要求的,而专业性,这个就更不用说了。
注意:本人不是统计学家,也不是数据科学家。只是在数据科学道路上,个人的一点感受。望各位知晓。
Comments
Post a Comment