1

文章首发:公众号『知秋小梦』

2020,努力做一个无可替代的人!

长文预警,全篇无代码,只讲小一我在数据分析之路上的心得收获


前言

最近有朋友问了小一一些关于转行和入门的问题,问题大概是这样:

“我想学习数据分析,不知道该从哪开始学,小一你可以带我吗?”

“零基础,想学习数据分析,有好的经验可以分享吗?”

在总结大家问题的时候,我不禁想到了两三年前的自己。

那会儿,小一我也刚步入社会没多久,自己会的专业技能全是为后台开发准备的。

到了部门之后,因为日常工作更偏数据分析,所以我当时也面临和大家同样的问题。疑惑、迷茫、有力使不出来的感觉。

说到这,我的眼角似乎又湿了一片......

现在再来看当时遇到的问题,就有了下面的文章。

文章很长,我真没想到会写这么多内容,写着写着就......

可能是自己的踩坑经历太丰富了,一提起就一发不可收拾。

文章虽长,但重点我都有标注,排版也还算可以,希望能让你有所得,有所获。


何为数据分析?

数据分析这个词,这个职业其实很久就已经出现,只是在数据量越来越大的今天它的地位也越来越重要,才会引起大家的关注。

但我还是建议你将这几个词一起来看:数据分析、数据挖掘、人工智能和数据科学

真的会有人分不清楚这几个职位,而且在实际工作中,跨领域干活的事情更不在少数。

数据分析

先从最简单的开始说起

从它的字面意思来看:数据分析=数据+分析

首先你得有获取数据的能力,当你的分析需要某些数据来进行支撑验证的时候,你得知道这些数据从哪获取,怎么获取

这个获取说的可不简单指的是从某个网站下载,从某鱼某宝上买;更多指的是你具备这种数据获取的能力,具备对分析需要的数据类型的判断。

说到这,你可能要反驳我了:项目进度当然是越快越好,只要能搞到项目所需的数据就行了呗。

你如果能确保你以后项目中需要的数据你都可以通过捷径搞到手,那没问题。可问题是,大多数同学可以吗?

我曾经因为工作需要爬一批微博的数据,淘宝要价300+,一次性的不包售后。

后来我在网上找的代码,自己修修补补之后搞定了数据需求,后来领导知道这事发了300奖金给我。

领导好是一个方面,若你将这件事情放在任何一个环境下,你具备这个能力,别的同事不具备,在做项目的时候领导会怎么对待你?

别跟我提什么能者多劳的事情,现在的领导都不傻,卸磨杀驴这种事情不是人人都愿意去做的。

说完数据我们再来看分析

你要说分析重不重要,小一觉得相当重要!

通过观察数据提出假设是分析,通过数据指标验证假设是否成立是分析,通过数据规律进行预测也是分析。

分析是对数据的观察利用,验证现有的数据结论,并提出合理的假设预测未来趋势。当然,这个合理程度和业务有很大关系,我们后面会说到。

总的来说:数据分析的目的是解决问题,通过数据验证我们提出的假设,并根据数据规律做出相应的预测规划。

多说一句:对于某些招聘网站上要求数据分析师具备熟悉xxx算法,掌握xxx模型的能力,我只劝你一句,若你具备它所说的能力,往下翻,把你的定位放在下面两个,你值得更好的。


数据挖掘

这个话题我说不了多少,资历不够我还是知道的,如果有些地方您觉得我说的不对,您就当我在瞎瘠薄说。

直接说说它和上面一个的区别吧。

如果说数据分析最后会对数据规律进行预测分析,那只能说这种预测,是很有限的。

但是数据挖掘不一样,有数学理论支撑,有大量数据集进行验证,准确率和信服度还是挺高的。

要说和数据分析最大的区别,那肯定就是各自的目的了。

数据挖掘的目的是通过大量数据样本,挖掘数据之间的内在关联,预测未来时间的数据变化。

最明显的区别就是数据分析更注重已知信息的分析,数据挖掘更注重未知信息的挖掘

如果说你现在是一个数据分析师,或者准备转行做数据分析师,那我建议你最好能够将你的目标定位放在这,数据挖掘上。

数据挖掘可以转数据分析,但是数据分析不一定能转数据挖掘。当然也没有数据挖掘师这么傻去转数据分析。

人工智能

这个话题就泛泛而谈了

就目前社会的科技发展来看,人工智能的前景很大。

基本上语音识别、图像识别、机器人、自然语言处理、智能搜索这些领域都属于人工智能。

但是记住一点:人工智能必须具备数据挖掘能力,其次是机器学习、深度学习这些你也得会。

这里又提到了两个方向:机器学习和深度学习。不理解的话你暂且就把它当成另一个数据挖掘来看。

数据科学

最后是数据科学,这个词,听着好像很高大上,其实人家本来就很高大上啦。

对于这个学科我建议你这样理解:

Python 中有一个包叫Pandas,是专门进行数据处理的

同样,还有这样一个包叫Scikit-learn,是进行数据挖掘的

还有像爬虫、可视化Seaborn|matplotlib、线性代数scipy、深度学习keras 等等这样的包,数据科学都涵盖进去了。

ok,数据科学就是一个涵盖数据处理、可视化、数据挖掘、深度学习等这些内容的学科,理解就好。




数据分析的流程是什么?

想必对很多同学,尤其是还在学校的同学来说,会对这个问题比较感兴趣。

那么在实际工作中,一个数据分析项目,它的实现流程究竟是怎样的?

小一我翻了下这两三年自己在工作中遇到的大小项目,并且和同事进行了充分的交流,差不多总结了六个步骤。

分析业务指标,明确数据内容

很惊讶吧,第一个竟然是这个。

在实际遇到一个项目的时候,往往领导给你的任务,是一个大的目标,比如:

领导:小一啊,我们这个月比上个月的用户投诉略有增多,你来分析一下是什么原因,顺便预测一下下个月我们应该重点抓哪些指标“

像这种,就需要先了解具体业务了

用户为什么会投诉?产品哪里做的让用户不满意?用户不满意的具体数据有哪些?这些数据是怎么生成的?不同粒度的数据又表示什么?

另外别忘了老板的终极目标(xxx,这是顺便一下就能预测出来的吗......)

提出问题假设,建立分析方法

当你已经知道你的目标和哪些数据有关系,却不能确定哪个是主要问题,哪个是次要的时候,你就到了第二阶段。

如果你时间允许的话,我建议你可以建立对照组进行对照试验。

比如上面的问题,你就可以假设用户投诉和资费太贵有关、和产品质量有关系、和售后服务有关系等

另外,如果你有历史的投诉数据,你也可以提出基于时间维度的假设:不同月份受天气影响太大,造成用户投诉(如果你真的把原因归结为天气,希望你不会挨老板毒打吧)

利用采集工具,获取相关数据

你已经提出了问题,也知道你的问题会和哪些数据有关联,这个时候你需要数据,需要尽可能多的数据去验证你的结论,让你的结论更有信服力,能被老板接受。

一般在大公司里面,会有专门的人负责对接取数这个活,你只需要提需求就完事了。

在小公司里面,往往你就是自己的主宰。

想要数据?自己去取。

数据不够?自己去找。

我找不到?您真厉害(要你何用)

你可以通过一些数据采集工具或者自己写爬虫脚本。

这里,小一的经验是:

如果你数据量很小,就几百几千条那种,爬虫就没必要了,找一个八爪鱼或者火车头这类的采集工具,效率很高。

如果你数据量略大,需要定时获取那建议你学习一下Python 爬虫

“不会Python,不会爬虫怎么办?”

“往下看,后面有你想要的!”


通过编程手段,实现数据清洗

在你的一波极限操作(差点被辞退)之下,你终于拿到了想要的数据。

仔细一看,监控系统每小时保存一个记录文件,上个月一共30*24个文件,文件也不大,就几MB的样子,但顶不住它量大啊。

咋办?

所以在这一步,掌握至少一门编程语言是基本要求。R、Python都可,推荐后者,后面会细说

在数据清洗的过程中,你需要面对这些问题:

缺失值处理、异常值处理、重复值处理,还有系统偶尔抽风后保存的垃圾数据。

提取有用信息,进行数据分析

现在万事俱备,终于到你熟悉的领域了。

你利用基本的统计学方法进行数据统计,分析每一个指标的数据分布,对比上月的数据你还计算了不同指标的环比情况。

你找到了反映用户投诉的具体指标,确实是这个月这些指标波动比较大影响的,然后你又通过对比不同年份同时期的数据去证实你的结果。

最后,你利用数据分析软件建立了一个简单的预测模型,通过历年数据预测这个月的指标,结果发现相差不大。

受此鼓舞的你又通过模型预测了下个月的指标情况,信心满满。

合理数据展现,输出分析报告

当你一筹莫展不知道怎么写你的分析报告时,你的同事给你发来了“xxxx数据分析报告模板”。

当你看完模板你知道写报告需要这些:图表展示+数据论证+结果预测

你原想着长篇大论说一通,最后却被你精炼到了五六页PPT 上

由于同事模板助攻的到位,你只需要换几张图贴一些数据表,然后将最初的目标原因解释清楚,形成一个稍有信服力的结论

最后附上你预测的结果,来一段合理又不偏颇的建议,你的报告就搞定了。




如何入门数据分析?

流程说完了,还是得来点实际的干货,不然又被你们说我水文章了。

这部分主要介绍:如何入门+学习方法

1. 确定自己的方向

在数据分析中,有这样两种类型:偏业务型的数分和偏技术型的数分。

偏业务型的我不太好说,因为我不是业务出身。我了解的偏业务型更多的是在和市场的人打交道,针对市场的促销活动分析用户痛点,提供有价值的分析结果?(是问号,我没打错)

针对运营的周、月、季度、年指标进行输入输出,完美阐释了“我们不生产数据,我们只是数据的搬运工”这句话。

偏技术型的大多都呆不久,哈哈,开个玩笑。

偏技术的会注意各种指标之间的关联,根据业务的情况相应的进行指标优化,预测业务的相应指标。

所以,偏技术型的数据分析最后干着干着就成了一名数据挖掘工程师,自然演变吧。

偏业务型的更容易入门,多了解指标看看业务相关,剩下的就是水到渠成的事情。偏技术的就需要你自己不断的学习,提高自己,尤其是算法模型,没那么简单入门。

2. 提高自己的能力

前面说的有点夸大,你也不必太紧张。数据分析这能力,有很多种途径去提升。

下面我列一下能力阶梯,想要入门的同学可以一级一级往上提升自己。

2.1 业务能力

不多介绍,看个人能力。短则一两周,长则一两个月。

业务相关的,就那么点数据,指标的含义都是早都确定好了的。能举一反三,将一个大目标分解成具体的小指标上,或将小指标确定到具体数据上去,业务能力就ok了。

2.2 Excel 相关

很多同学不把它当回事,不当回事的我暂且认为你还是学生,但凡开始工作已经接触到数据的人,你敢说你真的会用Excel 吗?

Excel 永远是数据处理的一大利器,这不仅体现在它对数据进行各种统计汇总的操作上,还体现在它的图表输出上。

相信也有很多同学通过Python 处理完数据之后,还会去用Excel 画图。

当你的数据量小(以100万行为界限),数据处理简单,数据表唯一的情况下,建议你直接用Excel,快速、方便,输出简单。

在老板眼中,可以用Excel 搞定的分析任务分分钟就能出结果!

2.3 Python/R

前面已经说过为什么要掌握一门编程语言,那在这就来说说怎么简单快速入门一门编程语言

我们都知道,有目的性的去学习是事半功倍的,编程也是

这里我们学编程进行数分的目的就是进行数据清洗、统计预测之类的,那肯定会有这样一个流程:读数据—清洗数据—分析数据—图表分析—关联预测—保存数据。

读数据:肯定和文件操作有关,学习文件相关内容

清洗数据:先判断所有不合理数据,在删除或填充,所以和判断、循环有关,学习分支相关内容

统计分析:通过数学方法汇总指标,和方法有关,学习函数、数学模块相关内容

图表分析:通过制作图表进行更深层次的维度分析,学习可视化的相关内容

关联预测:通过的3、4两步进行合理的关联预测,需要学习相应的简单算法,以及代码的实现应用(加分项)

保存数据:保存到文件或者数据库,学习数据库相关内容

这一个流程下来,编程的相关语法就差不多也学完了,为了提高处理效率在学习下进程线程相关、数据处理高阶模块相关,基本上你的编程技术也就没啥问题了。

这里小一推荐你们直接入门Python,我有写一整套的Python 从入门到进阶再到高阶的学习教程,感兴趣的可以快速入门: 小白学Python(入门+进阶+高阶)

R就不说多了,建议直接Python

2.4 SQL

我本来都忘了写这个技能,回过头看文章才补了上来。不是因为它不重要,而是我每天都在用,熟悉的都忘记了!

学习SQL 没啥好说的,比上面的Python、R简单多了

记住四个功能:增删改查

数据库的基本操作都是围绕这四个的,高阶的数据库操作在数据分析上也用不到,暂时不用考虑

2.5 挖掘能力

不要纠结这个小标题,权且把这个当做数据分析的一个加分项吧,有则更好。

目前的数据分析师大多都会要求懂些算法知识,这个没办法,别人懂就会比你有优势,就会抢你饭碗。

对于新手来说,到了这一步建议直接先去看挖掘十大算法,了解概念就好,然后尽可能的看一些相关的算法模型案例,知道怎么用就行。

最好,自己动手搞几个数据集玩一玩。

至于手撕XX算法这种事,就看个人能力了,别勉强。

2.6 输出能力

套路+练习,小一我觉得主要就这两个。

毕竟写PPT、输出文章这种能力,和天赋有关系也和你的上司有关系,你要是写的东西合胃口了,怎么写都行,要是不合,那可能就会有xxxx数据分析报告Vxx.xx版这种类型的报告频繁出现了。

多看看老同事们写的文档,熟悉熟悉自己公司的文档风格和套路,多写多练,也会慢慢好起来的,这不是什么硬性要求。


总结

好了,介绍完了。

今天没有总结,建议有空了回过头把文章多读几遍

如果对你有用,就再顺手点个赞吧。



写在后面的话

我也不知道怎么会写这么多内容,列完提纲我感觉很简单,很快就能写完,结果就......

可能自己这两年经历的东西太多了吧,上面写的也都是自己在数据分析上摸爬滚打的一些心得,有些地方可能会有失偏颇,但整体还是希望能够对你有所帮助。

抽空我会分享自己在数据分析之路上学习的一些资源教程,和自己看过的书籍清单



原创不易,欢迎点赞噢

文章首发:公众号【小一的学习笔记】


原文链接:2020,如何转行数据分析?


欢迎点赞,希望对你有用



小一
71 声望9 粉丝