对于很多刚开始学习数据分析的人来说,最常被问道的问题就是:我感觉自己掌握了很多数据分析技术啊,但好像又什么也做不了。
拿到一堆数据,根本不知如何下手,从哪里开始分析?
统计分析、建模一顿骚操作,得出的结论竟然只是常识?
简单、规整的数据能够下手,遇到杂乱、多文件数据就懵逼?
………
这些问题看似简单,但是确实是大部分的人在学习过程中都会遇到的问题。真正去学习数据分析的人,都会有这样的感觉:数据分析本身并不困难,难的是真正获得能够支撑决策的结论。
就好像,即便你熟读Python各种语法,依然不能写出自己的程序一样。就是算你有一把锋利无比的剑,你不懂得招式方法,不懂驭剑之术,那就是一把废铁。
所以真实的数据分析应用,应该是工具与方法、逻辑、思维的结合,你仅掌握了工具(而且深入不够),自然不能得心应手。
那么到底应该掌握哪些技能,掌握到什么程度,才能够胜任真正的商业分析和职位需求呢?我们分别从技术、方法和业务三个方面来说明。
关于技术
技术应该是最能够直观感受的层面,请别人推荐书单、寻求专业人士的指导,搜索系统的教程,几乎都是去解决技术层面的问题。
通常我们去提升技术,无非是找一个资源,然后开始啃。比如要偶然听说要学Python,就哼哧哼哧开始数据结构、语句、函数、面向对象……;数据库要学习,就找来《十日精通mySQL》《MongoDB速成指南》……
这样毫无目的的学习,是一件收益极低的事情,且不说这样系统地啃大块头,很容易从入门到放弃,即便真正学习了一些东西,没有真正的输出,知识很快就不是你的了。
所以对于没有什么数据分析经验的人,更建议明确数据分析的流程,针对每个流程做针对性的学习,并在每个部分做实际的训练和内容输出。
我们通常把一个数据分析项目的技术流程分为“数据预处理、统计分析、探索性分析、预测性分析、可视化及报告”,那么我们就需要针对每个流程进行针对性的训练。
01 数据预处理
数据清洗虽然是“脏活”,但却是后续分析的重要保证。比如企业用户的数据,大量的缺失、异常、错误,要怎样将数据标准化?
这里面就涉及到数据的切片、拼接、过滤、排序以及基本的索引与运算,很多时候,数据清洗能够帮助我们掌握数据分布的基本特征,获得对整体数据的初步感觉。
02 统计分析
基础统计分析可以让我们直观地对数据进行描述,比如基本的统计量(极值、均值、中位数、众数、方差等),其实就可以为我们提供基础的描述性分析结论。
常见的排行榜、中位数对比、平均水平、相关性、影响因素等等结果,都可以从基本统计分析中得出,需要你要掌握基本的科学计算工具。
03 探索性分析
相对于有目的的统计分析(当然统计也可理解为探索),探索性分析适用于我们对数据中的信息缺乏经验的场景。通过数据可视化的方式,对数据进行更直观的展示,很多直接观察得不到的结论,通过图形却能够很好地掌握。
比如数据的分布规律、数据的变化趋势……这就要求你能够针对不同类型的数据,输出适合的图形(常见的条形图、箱线图、散点图、热力图、地图等),从中获得信息。
04 预测性分析
对未来数据进行预测,往往能够获得比较有指导意义的结论。这就要涉及基本的建模知识,像基本的线性回归、逻辑回归、决策树等模型,一般就可以建立不错的预测模型了。
做数据预测往往能直接提升我们的技术深度,往往一个优秀的数据分析师,也算是初级的数据挖掘工程师了。
关于方法论
为什么我们要说方法论呢?因为这在某种程度上,为我们做具体的数据分析项目提供了方向。
很多时候,我们拿到一个数据集、或者遇到一个分析问题,无从下手,很大的可能不是技术不足,而是缺少分析方法。
比如即便是最简单的统计分析,统计量的理解要非常深刻。哪些字段应该求和;哪些字段应该取均值;哪些字段应该进行方差分析;哪些应该进行频率统计……这些都是建立在你对统计分析理解的基础上。而仅仅是这些分析,就足够得出有价值的结论。
而对于刚上手数据分析的小白来说,探索性分析则是弥补方法论不足的重要方式。所以可视化的技能就显得尤为重要,有人认为可视化是单纯做最后的结论展示的,但事实上,可视化是进行数据分析的重要步骤。所以,尽可能多地用图形去观看探索数据内部的规律,是获得数据中隐藏信息的关键步骤。
这些比较通用的方法,只要你多做几个项目,你就会有一些初步的感觉:哪些统计信息是有用的,哪些字段的信息是相对重要的,这就是我们常说的数据思维。
当然涉及到具体的领域,还有一些比较常用的方法论,比如对比分析(数据变化、同比环比等指标)、比如用户增长的AARRR模型、生命周期模型、漏斗分析法……
当然,对于新手来说更重要的是,去熟悉更多的项目,尝试更多的实践,找到基本的分析感觉。我们遇到的大多是二维数据、时间序列、网络数据,了解不同数据类型的分析方法,就能掌握不同领域的数据分析。
经过实际训练,不用多久,你就会发现,对于数据分析豁然开朗,那么你就真正上道了。
关于业务思维
优秀的数据分析师一定是对业务非常了解的,这是输出价值结论、做出优秀决策的必要条件。在做数据分析时一定切记,对于你要分析的问题,你要有明确的输出:要得到什么结论,想弄明白的事情是什么。
很多人一开始只学习具体的技术,沉迷于炫技,势要写大段的代码,做炫酷的图表。当然提升技术深度固然没错,但很可能实际在分析思维和能力上的提升并不明显,也很难输出有价值的内容。
这是很多人都会走入的误区,认为努力弥补技术上的差距,就缩短了数据分析能力的差距,但很多时候,你和专业分析师差的是提出问题、梳理逻辑和解决问题的能力。
这种能力就源于对业务知识的理解。
对于一个具体的分析项目,你在拿到数据之后,知道具体要去解决什么问题?需要根据分析结论去做哪些决策?现有的数据能够去解决哪些方面的问题?
对于具体的业务来说,哪些指标是重要的?哪些字段之间通常会有很强的相关性?探索哪些数据之间的关系会大概率获得有价值的结果?
通过这些问题,你就有了一条非常清晰的分析逻辑,分析的先后顺序是什么,大概会得出哪些结论,甚至最终的报告如何呈现,就都不是问题了。
所以,在寻求技术突破的同时,更建议去找具体的数据集,或明确一个分析目标,做实际的分析项目,通过这种基于问题、结论的思考,获得数据分析的一般方法,这才是你的个人核心竞争力。
当然在具体的项目中,遇到技术上的空缺或不足,有针对性地弥补,效率也会更高。