一个月的业余时间能做什么?能让一个不懂编程不懂算法的小白通过自学迅速蜕变,可以独立编写算法程序吗?
某年6月,笔者用了一个月的业余时间,通过自学基本掌握Python的基础函数、数据类型、程序结构等,理解三个算法的数学公式在Python中自编代码实现,并通过输入数据进行分析最终形成了人生第一份数据分析报告。

一年的时间又能做什么?答曰:虽然我是小白,但可以从零起步,成功转型数据分析师。
可能有许多像笔者一样的朋友,已经成功转型数据分析师岗位,或是正朝着这个方向努力。如果你很想转型却又有些自我怀疑,怕投入了时间、精力,最终不能成功等,笔者觉得上面这两段话应该能给予你一些力量,连笔者这样的小白也行,你一定也可以。

笔者打算用文字记录下这段转型的过程,以及未来可能的持续学习成长经历。一方面可以分享下自己转型数据分析师的一些学习心得,如果能让看到的你有些收获就太好了;另一方面也是想通过记录的方式反过来鞭策自己,因为感到自己还有很多没有学到、没有掌握的东西,需要持之以恒地去沉淀学习,继续成长。
Part 1 数据分析师的意义
在人类历史上,能源、交通、信息三个领域每次出现颠覆性的突破,都会带来整个社会的巨大改变,而每一次改变都会诞生整个时代最大的机会,这个机会的窗口期会持续数年甚至十几年。我们现在讲大数据的时代已经来临,其实也是这三个领域科技发展的必然结果,想想看在依靠手工制作、马车出行、信件交流的时代,才有多少数据的产生?而现在,工业4.0制造、智能交通工具、便捷的微信头条等等,现在一天全世界所产生的数据就可能是过往一年才能产生的数据。

再回顾一下现在你的生活,你通过网上购买物品、食物,留下了你的消费记录数据;你打车出行,平台和道路的摄像头记录下了你的出行数据;你在咨讯app上阅读的文章、看的视频,留下了你的历史浏览数据……是不是突然发现,你生活中80%所做的事情都以数据的形式被记录了下来。而假设分析你所留下来的这些数据,会不会由此知道你的饮食习惯、购物倾向、爱好偏好……,从而更精准地向你推送美食、物品等等呢?

从个人延伸到行业,也是一样的,通过分析财务的大数据,制造环节的大数据,产品使用情况的大数据,自然也能得到过去投资的毛病、生产的薄弱点、产品的寿命预测等等十分有用的价值信息,从而更好地指导未来的改善及解决方案。
但,大数据的几个特点——大数据数量之大、变量之多、异常值的夹杂等,注定了大数据的分析、解读,直至产生最后能指导决策的意见,并不是一件容易的事,于是“数据分析师”这一职能变应运而生了。

讲到这,大家可能对我在前文所说的“每一次能源、交通、信息三个领域每次出现颠覆性的突破,都会带来整个社会的巨大改变,而每一次改变都会诞生整个时代最大的机会”更能理解了,你看,科技的发展催动了数字制造工厂模式、新能源车智能互联车、电子化传媒购物平台的诞生,而后者又催动了大数据时代的降临,最终大数据时代对于数据分析的价值发现则缔造出了更多新型的工作方向,“数据分析师”是其中一个方向。

社会的运转需要360行各类职业,每一个职业都有价值。不过在大数据时代面前,如果能建立一定的数据分析能力(不以当数据分析师为目标)也会是一件划得来的事,比如你是老板,当小张(数据分析师)汇报给你一份数据分析产品,你可以看得出来有没有地方“美化“过。笔者有时看一些时政类公众号,都会提到未来有两种权——碳权和数据权,就是新时代的石油权。数据与数据分析,是未来绕不开去的话题。
Part 2 数据分析师的不同方向
我们讲到“数据分析师”这个岗位,其实目前在行业里的方向比较多,不同的企业依据自身不同的业务需求对数据分析师会有不同的定位,但大致总结可以分为两个方向:偏技术型数据分析师、偏业务性数据分析师;后续进阶方向则有数据专家、数据产品经理等等。

偏向技术性的数据分析师,对算法、数据结构方面的知识要求会高一些,需要拥有较深的计算机基础。所以在大厂里一般是计算机专业的同学去到这个方向更多。比如说算法方面,可能不仅需要会用、会写代码、了解优缺点,也能熟悉算法的原理、推导,甚至开展变种创新。
偏向业务性的数据分析师,市场上更多的是这种类型,如果去猎聘、BOSS上兜一圈,可能大多指的是这个方向。职能方面的工作有像“建立营销数据管理体系,以数据引领营销”、“分析行业竞品数据,输出数据建模产品”、“数据可视化系统搭建,提供分析决策支持”等等。
对于转型来说,当然第二个方向会更容易一些,但也需要一定的能力矩阵。要注意,不要把数据分析做成了单纯的报表分析,数据分析师的待遇还是挺香的,要对自己有更高的要求,为公司输出更高的价值。一个较好的数据分析师除了必要的能力矩阵外,相当重要的是数据分析思维。这种思维可以体现在你在分析过程中变量的选择上面、特征的研究建立、给予管理层决策的方向倾向等等方面,有了好的数据分析思维,往往工作起来事半功倍。

另外,如果在转型数据分析师后,仍能结合之前的工作积累与经验,是比较优的一种解。好比你原先就从事新能源汽车的制造质量管理工作,转型后仍旧从事与新能源行业或制造质量管理相关的工作,就相当于把两者的优势都结合起来了,契合度越高,就越容易出东西。
Part 3 数据分析师的能力矩阵
可以看下数据分析师的能力矩阵,这里根据网上大牛的分享结合自己的当下认知,一共列出了5个要素,分别是:必备工具、算法学习、项目实践、理论知识、数据分析思维。

可能有人会觉得,按照一般逻辑不是应该把理论知识和数据分析思维放到最前面吗?在这里放在后面,主要是因为两点原因:
一是个人觉得理论知识和数据分析思维偏向于自我看书比看他人分享更方便、更为直接,属于自我打基础和感悟的这一类,后面可以推荐些书籍;
二是结合网上他人分享的一些经验及自己的经历,直接从必备工具学起来也是可以的,必备工具、算法学习、项目实践这三个要素可以说不仅仅是数据分析师的必修课,具备一定的底层通用性。
就好比大多数菜都要放盐、料酒、生姜,掌握了盐、料酒、生姜的精髓,那么换个菜来做仅需略作调整即可。
Part 4 能力对应的学习矩阵
1.必备工具之Excel——
对于Excel大家都太熟悉了,网上的教程也很多,如果要学习直接看各类视频即可。Excel实际上功能非常强大,如果你不是奔向那种纯以Excel为基础的数据分析师岗,那必然要会各类函数、VBA。

但如果你会其他的语言比如Python,那很多功能都可以用Python来实现,多数情况下会更简便些,这种情况下对于Excel掌握到大多数函数的地步就可以了(遇到问题时可以大概想起来使用哪个函数),比如match、index等不同函数的组合应用以实现表格内容的自动化关联。
2.必备工具之Python——
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,由于Python语言的简洁性、易读性以及可扩展性,Python已经成为最受欢迎的程序设计语言之一。Python已经是高级语言中最为易简单的一种语言之一,但相对于Excel和SQL,Python的学习难度还是会稍微大一些。不过Python在网上也有不少教程,后续笔者也会分享一些学习方法及要点(尽量大白话版),大家可以结合着看。




Python能做很多事情,对于数据分析师来说,首先应该打好基础,掌握基础函数、数据类型、程序结构、数据类型这些基本板块,具备一定的认知;然后扩展到模块,主要包括Pandas、Numpy、Pywin32 和机器学习库Sklearn等。
其中Sklearn中内嵌了很多机器学习的算法,比如空间聚类算法DBSCAN、k均值算法等,但需要注意的是,虽然这些算法可被直接调用,但仍旧需要输入参数、调整参数,才能获得你想要的结果,因此,学习算法背后的原理依然需要。有同学可能会问业务型数据分析师也需要会算法吗?个人的建议是,要学。
3.必备工具之SQL——
SQL是一定要学习的,通常面试的时候都会考到。SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言,具有数据定义、数据操纵、和数据控制的功能。对于SQL的学习,零基础的同学可以从《深入浅出SQL》看起,了解一些基本知识,后面笔者也会分享一些要点内容、学习心得。

4.算法学习——
可能有人刚开始听到算法,会有既难又高大上的感觉,笔者也是这个样子。但后来慢慢发现,其实我们在脑海里把算法显现成这样的描述,是我们觉得算法都是什么深度学习、神经网络啊这样的概念,广义上的算法则包括很多,有统计学类的,也有机器学习类的,有些算法感觉是统计学的难,有些算法感觉机器学习的简单,并没有机器学习就一定难的说法。然后由易到难,今天吃透一些,明天吃透一些,等某个时间点回过头来看,就会发现一切水到渠成。

像笔者一开始接触的三个算法,分别为均值归一算法、卡尔曼算法、空间聚类DBSCAN算法,当初就感觉卡尔曼算法最难,有基本五大公式,而且这五大公式也是由其余公式推导而来,属于机器学习的空间聚类DBSCAN算法反而理解起来最简单,但等到了真正编写代码的时候,卡尔曼的代码又远少于DBSCAN的(这里指的是自编代码,锻炼自己的算法认知及编码能力,平时应用的话DBSCAN可以在Sklearn直接调用)。
总的来说,算法的学习过程中有3点:基础理论的学习,这是为了搞懂原理;算法本身代码的编写,这是进一步为了落地;多看不同的算法,这是拓展边际。在初开始学习的过程中,有一个迅速提高的方法,就是锚定一个算法,无论如何先把它弄通,找到感觉。
5.项目实践——
当具备一定的编程及算法能力的时候,这时候要对自己提出进阶要求,可以试着做Leetcode的题、参加Kaggle的比赛。这些地方可以很好地帮助你认识到自己的不足点,然后认识到了不足也不要觉得挫败,向优秀的人学习思路和编码方式。

话说,谁还不是从小白一路成长起来的呢~
6.理论知识——
理论知识方面还是要多看书,统计学方面:书籍可以选择《深入浅出统计学》、《统计学完全教程》等,视频可以网上找资源;机器学习方面:书籍可以选择《机器学习基础之预测数据分析》、《西瓜书》等,视频也可以网上找资源。后续笔者也会试着分享一些内容(分享顺序应该放在Python和算法之后)。

7.数据分析思维——
一种思维的建立可以通过广泛阅读逐渐培养起来,什么是数据分析思维呢?具象表现在对数据的洞察力、变量择优、逻辑判断、输出产品等方面。可以看以下书籍《数据挖掘与数据化运营实战 思路、方法、技巧与应用》、《从点子到产品:产品经理的价值观与方法论》、《麦肯锡思维》等等。看多了,自然悟道。

Part 5 结语与展望
计划从下一篇文章开始就要进入干货环节,每一篇都会针对某个或某几个同类的技术点进行阐述,会讲得尽可能通俗易懂,其实很多东西如果按照一定的步骤、方法去慢慢学习,一步一级、拾级而上,可能你会发现并不是那么难。那么今天为什么花这么大的功夫写下这篇0.5万字长文呢?
其实,这篇文章笔者想讲的是“道”层面,笔者也喜欢看道家书籍,道带给人的是方向与意义,阐述了“为什么做”与“怎么做”,这两点十分重要,有了这两点,剩下的就是“术”层面的坚定执行了;而“术”层面,只要你执行了,就一定会有收获,执行一分就有一分的收获,执行十分就有十分的收获。道阻且长,但行则将至;与君共勉,一起成长。