最近有很多人在问数据分析的一些问题。关于数据分析到底应该怎么学?如何快速入门,以及技术和业务之间的瓶颈如何突破?
其实,要学数据分析之前,至少要了解一下数据分析师,到底需要哪些技能。有的同学看到数据分析几个字,就马上开始Python函数+控制语句、R语言和ggplot库……上来一顿骚操作,还没入门就放弃了。
这就是需求不明确导致的,当然学习方式也值得商榷,那到底数据分析需要什么样的技能呢? 这里作为例子,从招聘网站上找了几个数据分析的岗位,我们来看看具体的要求是怎样的。
其实企业对数据分析师的基础技能需求差别不大,可总结如下:
- 分析工具:一般要求R、Python、FineBI等分析工具至少会一种,会两种以上加分,有的企业因内部需求,会指定的一种;
- 数据库:绝大会要求会SQL,部分要求SQL、NoSQL会一种,高级的分析师或者大型企业要求能够处理大数据,需要Hive(较少的需要Hadoop/Spark);
- 统计学:若无相关专业背景,需要具备相应的统计学、概率论等基础知识;
- 数据挖掘:少部分要求会建模,了解基本的算法模型,能够做数据预测,即便不要求,算法也是加分项;
- 结果输出:Excel、PPT、Tableau、FineBI等专业BI工具。Excel和PPT要求的比较多,主要用作常规的数据呈现,与业务部门沟通等,Tableau、FineBI等一般作为可视化或者分析工具的加分项或者要求之一;
- 业务/思维:对某个领域(如电商、金融等)相关业务的了解或具有产品、运营方向的分析经验,有自己的数据分析的方法论和项目经验。
看上去很简单呀,对吧,但其实你把每个技能拆分开来,都是一个不小的知识体系。如果我们按照数据分析的流程来细分的话,每个部分应该掌握的技能,大概是这样的:
那对于这个技能体系,应该如何进行技能的训练呢?先后顺序是什么?哪些地方可能出现困难和瓶颈?
这可能是初学者最困惑的地方,我们可以看看数据分析的不同层次:
一、初级阶段:懂基本操作
这个要求真的不高,如果是用Excel,也就是画个分布图、用用场函数和Vlookup的事情,当然对于专业数据分析师而言,仅会Excel是远远不够的,特别是对于拥有海量数据的巨头。
用Python来做的话,也就是numpy、pandas和matplotlib的一些基本操作,简单来说,你需要掌握基本的数据分析处理和可视化,进行探索性的数据分析,观察数据分布、计算各种统计量,得出一些基本的结论。
FineBI自助式分析工具
当然你还需要补补基本的统计知识。
所以开始上手的话,就两个部分,Python库和统计学知识,当然你可以找一些数据集来进行这些操作。
在这个时候你已经可以做一些基本的数据清洗、数据分析工作了,像数据专员这样的职位都可以尝试,如果懂一些业务,初级数据分析的工作也可以着手了。
这个阶段的工作主要进行基本数据处理,对于明确的分析任务能够进行技术上的基本实现,能够正常推进具体的分析计划落地实施。
而处于这个阶段,欠缺的能力在于技术的熟练度、全面性以及整体业务分析的规划。
一方面是对于实际的项目缺乏多重技术的对比,对于复杂项目缺乏有效实施手段;
二是对于整体的业务缺乏清晰的拆解方向,对于用什么指标,需要构建什么模型等问题的缺乏系统性思考。
二、中级阶段:深入技术,做全方位的数据分析
能够做基本的操作之后,接下来你应该可以更深入下去了,掌握更多的技巧,以满足不同的数据和场景。
所以这应该是一个连续的、循序渐进的过程。 当然这个时候你更多的是要通过具体的数据集,去进行真实场景的分析,尽可能多的从不同的角度进行探索,得出更多的结论。
考虑到更多的场景,你可能还需要数据库(SQL or NoSQL)的技能,至少能够顺利提取、查询公司的数据库,能够通过数据库的管理实现基本的数据清洗和分析。
还有就是爬虫的技术,如果你有获取网络数据的需求,你需要掌握另外的Python包(比如BeautifulSoup、Requests等)。当然这些可能并不是当下必须的技术,可以等到有需求的时候再去学习。
总的来说,这个部分,是数据分析工具深入和全面实战的部分。
确定你能够熟练完成项目并输出结果后,就完全可以去尝试初级数据分析师相关的职位了。
当然在此之前,你需要去大量进行项目练习,一来为熟悉流程和工具,二来培养分析思维,这些项目经验也是求职的优质资源。
三、高级阶段:数据挖掘
别慌,并不是要去真正地系统学习数据挖掘。只是在做数据分析的时候,通常会涉及到预测型的数据分析,比如预测广告的点击、出行需要的时间、未来某个时间的销售额……这些对未来情况的预测是做决策的重要依据。
那其实就是要掌握一些数据挖掘的方法,比如逻辑回归、朴素贝叶斯方法、决策树等等。当然你需要用到Python库scikit-learn,scikit-learn里都可以直接调用这些算法,知道怎么调用就可以了。
但随着深入,你会有了解算法原理的需求,那可以帮助你去调参,提升算法效果。当然特征选择也是提升预测效果不可忽视的部分,如果算法应用没问题了,可以尝试做特征工程提升效果。
数据挖掘技能(或者说算法能力)并不是分析师的必修项目,但你去看招聘JD就会发现,这是一个很好的加分项,优秀的分析师应该具有一定的构建算法模型的能力。
四、终极阶段:从数据分析到商业决策
老实说,这个步骤并不是最后来训练的,而是贯穿在整个数据分析的过程中。因为数据分析的本质,或者说终极追求是为商业目的服务的,比如提供用户增长的策略,为销售提升提供解决办法,通过数据分析提供更人性化的用户体验……
方法、技巧皆为工具,你将会总结出自己的一些方法论,如何通过一个完整的分析得出一个高价值的商业报告,甚至是一套自动化分析决策的商业系统(比如推荐系统,用户画像系统,风险模型)。
这些才是更高层次的数据分析工作应该去做的事情,在任何项目推进之前明确目标,并系统地解决数据获取、数据存储、数据建模和可视化呈现的问题,推动整个项目的进度。
我们的终极目的不是去获取几个数据,也不是呈现几张炫酷的图表,而是去探索一个问题的解决方案,寻找一个市场的突破口,以技术的方式去降低策略制定的风险。
所以当你不再聚焦于具体的技术点、工作流程,而是重于不同业务指标的选取,解决问题的模型的构建,高效和低成本的决策辅助等时候,你就真正上升到比较高的层次了。