如何做好数据分析?

作者:毕然
链接:https://www.zhihu.com/question/20129061/answer/136284143
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如何做好数据分析?

要想做好数据分析,有以下4个关键点:

(1) 业务调研:理解业务是基础,否则分析是无本之木。

(2) 创新思考:广阔的知识面和积极的思考力,是分析思路的源泉。

(3) 逻辑推理:对数据指标做出正确的归因和判断。

(4) 可行建议:产生对业务切实有效的改进建议和执行方案。

<img src="https://pic2.zhimg.com/v2-69472874efd4c70f5b2f6c3aa7f3f755_b.jpg" data-rawwidth="840" data-rawheight="575" class="origin_image zh-lightbox-thumb" width="840" data-original="https://pic2.zhimg.com/v2-69472874efd4c70f5b2f6c3aa7f3f755_r.jpg">如何做好数据分析?
业务调研”是数据分析的起点,也是获取分析思路的基础,但需要兼具深度和广度的“创新思考”,才能获取更独到的分析思路。分析思路也可以认为是统计数据的角度,完成数据统计后,需要“逻辑推理”来保证从数据到结论判断的正确性。最后,用“可行建议”来保证分析结论的落地执行,产生可量化的业绩。这就是数据分析从业务中来,回业务中去的完成过程。

换个角度说,可以把这四个关键点分解为数据分析的5个执行步骤:

选择分析主题、确定方案思路、实现数据统计、产出分析报告、推进业务落地。

<img src="https://pic1.zhimg.com/v2-8a5f440c4204015b1b9d7fbc19bf1f7c_b.jpg" data-rawwidth="1171" data-rawheight="320" class="origin_image zh-lightbox-thumb" width="1171" data-original="https://pic1.zhimg.com/v2-8a5f440c4204015b1b9d7fbc19bf1f7c_r.jpg">如何做好数据分析?
业务调研和创新思考决定了“分析主题”的高低和“方案思路”的好坏;逻辑推理决定了从统计数据得出的“分析报告”是否可信;可行建议决定了分析报告的“业务落地”效果。做好这四个关键,才能确保数据分析项目的每个步骤都卓有成效,最终产生业务改进。


加入数据技术领域的三步曲

如果有技术背景的朋友想入行,应该做哪些准备呢?通常,首先决策想成为偏重业务的数据分析人员,还是想成为偏重技术的数据建模人员。这两种人在技术基础和掌握的领域知识面上均有所差别。偏重业务的数据分析人员不需要有深入的数学和统计学背景,更需要对业务的深刻理解、灵活的头脑和清晰的逻辑,在学习时偏重很多与业务分析相关的领域知识,如经济学、心理学、营销学,甚至财务和企业管理方面的学科。偏重技术的数据分析人员需要有良好的数学和统计背景,专注于数据挖掘和机器学习的算法原理与应用场景。但无论选择哪个方向,下面三个项准备均需要做好:编程技术、项目实践和理论学习。

(1) 编程基础

数据技术是一门实践科学。在学习理论之前,最好具备处理数据的能力,否则一切都是纸上谈兵。在这个领域使用较多的统计编程语言有:Awk、R和Python,分别是计算机科学家、统计学家和数学家的发明。Awk是Linux下方便处理数据的脚本语言。因为它的底层用C语言实现,所以处理文本日志的速度非常快,是做数据统计的不二之选。但缺点是没有强大功能的函数库,不适于处理逻辑复杂或期望调用模型算法的场景。与之相反,R与Python这两种语言都带有大量的数学函数库和算法库,使用起来非常方便。两者的区别是R的函数封装更加高层,Python则提供了很多底层的数学函数库。如果想快速验证某个模型在应用数据上的有效性,使用R更快捷。如果需要优化算法细节或工程实现,则用Python更适合。

除了基本的编程语言外,处理超大数据量还会用到分布式编程框架,用并行化的方法解决大数据计算的性能需求。业内常用MapReduce思想与Hadoop工具将计算过程并行化。

也许有人会问,是否可以不学编程,用一些数据挖掘软件解决需求呢?只用软件不再适合大数据的时代。一方面处理的数据量受软件性能的限制,另一方面即使不需要处理大数据量,在分布式编程也要比软件在单机处理速度快很多。虽然很多商业化软件均逐渐支持分布式部署,但终不如自己写程序处理来的方便。传统咨询公司的朋友都开始学习编程,因为随着客户企业的数据量逐渐庞大,不用编程的方式很难做数据分析。甚至统计学家都拿自己开涮:“统计学要被计算机学替代了,因为现在几乎没有非大数据量的统计应用”。

有次和数据技术团队的负责人聊天,他问团队组建时优先招什么样的人才,我提出的首要标准是熟练编程。不懂数据分析或模型算法可以边做边学,但如果没有编程基础,最基本的工作都无法完成。

(2) 项目实践

数据技术是一门实践科学,需要大量的项目实践。当然,了解数据分析的基本方法和数据挖掘的常见模型,有个整体的认知还是很必要的。但没有经过项目磨练,即使读了再多的理论书籍,也很难深刻理解模型并灵活应用。只有通过项目实践的打磨,才能把这些方法和工具转变成手拿把掐的技能。对于一个刚入门的菜鸟,去哪里寻找实践项目呢?给大家两个建议:

1. 公开题目:很多学术和商业的组织,经常发布一些公开题目,配有相对完整的数据集和业务需求。不仅可以用公开题目练手,还可以与其它更专业团队的方案进行对比,弥补自己的不足。

2. 免费给中小企业做项目:很多中小企业有不少业务问题可以用数据分析或数据建模解决,主动以实习的形式加入该团队,用实际项目锻炼自己对业务的感觉以及对数据技术的使用。

(3) 理论知识

除了掌握编程并不断实践项目外,还需要持续的补充理论知识。切入不同数据技术职位的朋友,所要学的内容也不尽相同。偏业务数据分析的人员,除了温习统计知识,还需要读很多跨学科的书籍,如经济学、营销学、心理学、产品设计等;偏技术的数据分析人员,需要好好温习数学知识,如微积分和线性代数等,再阅读与数据挖掘和机器学习相关的专业书籍。以下是个人读过,感觉适合无背景的同学阅读的入门书籍。这些书不一定是最著名的书,有些甚至不是专业书。

<img src="https://pic1.zhimg.com/v2-b04580d32286637a116a62467ee5233c_b.jpg" data-rawwidth="813" data-rawheight="676" class="origin_image zh-lightbox-thumb" width="813" data-original="https://pic1.zhimg.com/v2-b04580d32286637a116a62467ee5233c_r.jpg">如何做好数据分析?


最后,附上亚马逊上的书评,期望对大家有所帮助!:)
<img src="https://pic1.zhimg.com/v2-8e3b3191006fc5871b0d83ac46388e60_b.jpg" data-rawwidth="1476" data-rawheight="1129" class="origin_image zh-lightbox-thumb" width="1476" data-original="https://pic1.zhimg.com/v2-8e3b3191006fc5871b0d83ac46388e60_r.jpg">如何做好数据分析?