为什么学了那么多软件,还是做不好数据分析?
为什么学了那么多软件,还是做不好数据分析? http://mp.weixin.qq.com/s?__biz=MzA3OTAxMDQzNQ==&mid=2650608047&idx=1&sn=d327aef14cd286f5ae87c546b5c072bc#rd
今天老师说SPSS常用,明天发现金融行业SAS才是王道。回头翻翻网络,原来R已经铺天盖地。正当痛苦地一遍遍写代码时,发现朋友圈已经在刷“life is short,you need python”。我们拼命追赶,却永远赶不上前辈们的脚步。到最后,疲惫不堪。
大概是自带了亲和属性,经常会有很多机会听到身边同事、朋友,甚至一些仅有数面之缘的人分享他们对于职业的看法和困惑。前不久,身边相熟的妹子,非常困惑地问我,为什么学了那么多软件,还是做不好数据分析?
这样的问题,不是第一次听到。我经历过那种痛苦而纠结的过程。今天老师说SPSS常用,明天发现金融行业SAS才是王道。回头翻翻网络,原来R已经铺天盖地。正当痛苦地一遍遍写代码时,发现朋友圈已经在刷“life is short,you need python”。我们拼命追赶,却永远赶不上前辈们的脚步。到最后,疲惫不堪。
更何况统计学、数据库导论、数据挖掘导论、机器学习导论、关联规则,每一本都厚的足以拍晕一个人的架势。自从开始研究数据分析和挖掘,我看过的书已经超过了大学四年的总和。真的等看完这些书,才入门的话,只能很遗憾地发现,和你同期的人已经远远地奔跑在了你看不见的世界里。
那么作为一个热爱数据分析和挖掘(原谅我不喜欢说大数据这个词,因为这不是一个行业,只是一个被贴上了某种意味的标签),并且想要了解或者进入这个领域的人,有没有什么快速而有效的学习方法呢?我不敢确言,只想分享一下我自己行之有效的方法,仅供参考。为了避免误人子弟,还是要非常认真而严肃地说一句,对于一个分析师来说,我认为最重要的品质是,开放而独立,开放地吸纳新知识,独立地去判断取舍。
好了,那么我们就开始吧。
数学之美,在于虐到无怨无悔
对于数学系毕业,并不从事研究相关工作的人来说,本科的实变函数、泛函分析,慢慢地就会变成遥远的传说。唯一能够想起来的时间,就是在和别人感叹一下当年痛并快乐着的大学生活。再加上理论和实际之间还是有些差距,所以毕业后,我几乎是比读书时更认真地重新研究了一遍计算数学相关的知识。以下是和数据分析相关的部分,学习的一些建议:
第一个友情提示,一定一定不要先拿出一本统计学教科书来学习!!!据不完全统计(也就是我身边的案例),我至少知道有4,5个小伙伴因为选择了这样的开始,最后彻底放弃了做数据分析的念头。
以严谨著称的特质,使得大部分的统计学教材都非常的系(sheng)统(se)。一个中心极限定理,可以证明半页,于是能够撑过三四个定理的,都已经真的勇士。而即使是撑过了整本书的黄金圣斗士,掩卷之后,仔细想想,脑子里记得的,不是那些最能帮助你应用的定理,反而是密密麻麻的公式。至于这些证明公式对你日常工作有什么用?好吧,很遗憾,完全没用。
所以,如果想要给自己一个不那么痛苦的开始,建议先从一本科普类或者半娱乐性质的书开始看起。比如,大名鼎鼎的“深入浅出”系列。看到这里,一定会有小伙伴想问,这个系列我查了,豆瓣上说太简单了,只有浅出没有深入。好吧,这个问题,我可以反问一下,你看书的目的是什么,是报一下书名就能震倒一片人,还是默默地get了一种实用技巧。come on,我们脚踏实地一点嘛。
深入浅出系列,关于数据分析基础这部分,有两本书《深入浅出统计学》和深入浅出数据分析》。相比之下,我觉得后一本写的更不错一点,有案例,有应用,而且几乎每个案例都有个小转折,差不多看了之后,在工作中还可以小试牛刀一下。
前一本,深入浅出统计学,感觉略逊一筹。特别中文版本的翻译。当初看的时候,从头改到尾,不只是语法错法,居然数字也有错的。所以,如果不是有看完一个系列强迫症的小伙伴(比如我),这本可以选择性放弃。因为接下来,我会给你们推荐一本翻译的棒棒的统计学书籍。
名字就叫《统计学(基本概念和方法)》,埃维森的版本。没有太多生涩的公式和概念,几乎相当于一部统计学的百科全书,你可以茶余饭后读一读,绝对可以了解统计学大部分时候的样子。
以我的角度,以上两本书都看完,其实入门的部分就已经算是完成了。当然,我还看了好多七七八八的书,锦上添花有余,可对于急需快速入行的小伙伴,我们还是做些雪中送炭的事情吧。
当然,数据分析和挖掘这一块,理论的部分并没有到此为止。想想前面列出来的一堆导论,都是不得不看,也舍不得不看的经典之作。然而,还是那一句话,我们要做的是让自己能够顺利入行,并且还有精力持续地区学习和进步,而不是一下子把自己撑死。这种错误,我犯过,你们就不要再犯了。
学完这两本书,我们下一步要做的就是开始实际地用工具进行数据分析了。到底用哪些工具呢?喝咖啡(SAS,R,Python)是不是就一定比吃大葱(Excel,SQL,SPSS)来的高级呢?那么请期待下一篇的工具选择经验分享篇——小叮当的百宝箱。
小叮当的百宝箱
上一篇,我们讲了数据分析入门的两本神器。不知道小伙伴们,有没有回去看过呢。不过,不管你们有没有看,看没看完,我们这一期都要一起来讨论下数据分析的工具选择了。
在工作和学习方面,我一直是个比较接近完美主义的人(注意,此处是贬义)。曾经有一个阶段,不进行完一个阶段,我就坚决不肯进行下一个阶段。这样的结果,当然不是我每一步都很踏实,而是就和很多人的单词书一样,被翻开的永远是字母A的那几页。“puma is a large cat-like animal which are found in America”,如果你知道这句话的出处,那么你一定已经懂了。
鉴于有机智的英语老师发明了乱序背词,所以我相信这并不是一个单一现象。而在学习数据分析时,这样的习惯也是很致命的。因为常常在看过概念之后,我们是很容易混淆和遗忘的。比如说,标准差和标准误之间的关系,教科书上往往会有一个非常言(bu)简(ming)意(jue)赅(li)的概念,看完之后,你可以转述去唬人了。但是我问你,标准误和标准差的区别是什么?我们什么时候要用标准误?标准误常用么?很多人会默默地发现,概念套不上啊。这就是学概念的后遗症。我们都一样。即使你的语文棒棒的,也还是无法拯救。
所以在看过概念之后,不管有没有看完,不管有没有理解,我们都快点来进行下一个环节。只有你实际地遇到了这些问题,你才会明白,为什么那么多前辈,要研究如此多的概念、定理、模型和公式。非身受而不能感同。
在讲到工具选择之前,我们先把目前主流,或者说广为人知的分析工具分个类。排名先后,既不代表popular的程度,也不代表好用的程度。
1)第一类:SQL大家庭
对于很多数据分析师,取数是基本功。可以翻一下很多数据分析岗位的招聘启事,不管实际需不需要,都会把熟练掌握SQL这一条写上来。当然如果要求是精通SQL,通常我会在内心默默地OS一下。就像很多人把"大数据"神话了一样,也有很多人把SQL"狭隘化“了。什么是精通SQL,并不是说你能够知道每一种情况怎么取数,而是你知道每一种情况最快的取数方法,最优化的公式。也不是你知道怎么用数据库,而是你知道如何建立一个最好用的数据库。关于这部分,有兴趣的小伙伴可以看看《反式SQL》和《DBA手记》两本书,你就会发现,精通SQL,很多时候,是一种无知而无畏的表达。
当然,我们这里要学习的SQL,并不是这么复杂。说白了,我们现在要学习的是取数。关于这部分内容,在以后讲到具体工具学习笔记的时候,我们再提。这里,我们还是先来说说学SQL取数,要学习那些东西。
SQL是一种数据库语言,而基于这种语言的软件有很多,包括SAS的SQL模块,R的SQL模块,Oracle,My SQL和SQL Sever。对于,My SQL、SQL Sever和Oracle的异同,如果需要一个形象的比喻的话,那么大概可以形容为加多宝和王老吉之间的“爱恨情仇”。大部分人自学的话,是用开源免费的My SQL,而一般公司是用付费的SQL Sever要更多一些。需要强调下的是,My SQL,SQL Sever和Oracle其实都是有免费版本的。
在这些软件的选择上,SAS和R的SQL模块使用的是SQL最核心的语法语句,所以并不需要专门去掌握,大家可以把他当做学过SQL之后,再去学习SAS和R的格外福利。而Oracel,在性能优化上一直处于一个非常高大上的地位。但是对于我们这些”取数仔“而言,学会SQL的基本语句语法,再补充些My SQL和SQL Sever的额外语法,就已经可以满足大部分招聘启事的“熟练使用SQL”的要求了。如果要对这部分推荐一本书,那必须是《SQL入门经典》,目前已经到了第五版。同样地,无视评论里那些“本书非常简单,零基础的人可以看一下,会的就不用了”。要知道很多觉得书中内容简单的人,你随便抽出一道课后习题,他也未必对答如流。一本优秀的教程书不是写的多高深,而是尽可能让人读起来引人入胜,用起来回味无穷。
一句话总结:虽然我经常说能用Excel做的事,我绝不用其他软件。但是SQL这个东西,还是一定要学的。
2)第二类:Excel、Excel VBA
带过我的一位前辈,曾经说过一句话,“不会VBA,就不要说自己精通Excel”。VBA相当于把Excel从一个办公软件,拉到了万金油的地位。最印象深刻的一个例子是,以前团队曾经有一个excel小达人,用vba编了一个游戏。
但是,还是那一句话,我们追求的不是完美,而是有效。对一个技术新人来说,要达到熟练运用VBA,出神入化、睥睨群雄的程度,所需要的时间太多了。而同样的时间,足够你学会任何一种编程语言了。
所以这一类软件里,请给自己先留一点遗憾,我们只学习Excel,包括但不限于数据表格,数据透视表,Excel统计分析工具箱,以及一些常用的公式。而如果想要快速地掌握Excel,有时候我们要给自己多一点压力和挑战。
比如说,同样的一个单元格数据,你可以选择每次手动计算。也可以选择费点事,查查书或者度娘(其实强烈建议后者),做一个自动化的公式。可能做公式的过程痛苦又纠结,但是经历过这些之后,你会发现有种破茧成蝶的感觉。
一个好的分析师不一定什么都会,但是他一定知道自己最该会什么,又可以从哪里找到自己还不会的知识。
3)第三类:SPSS,SAS,Matlab,Stata,Eviews
把这两个软件放在一起,可能对于很多SAS的牛人来说,有点折价。诚然,都是数据分析软件。但是SPSS的确相比而言,是最好学的一个,虽然用的好也是没那么容易的。而我个人的话,也是建议先从SPSS学起,哪怕你听说了各种关于SPSS要落伍,或者其他软件如何牛的消息。
理由非常简单。入门,当然是要选最快的工具。Excel+SPSS,几乎可以完成大部分数据量不太大的分析工作了。而学会SPSS的时间,大约只要SAS的四分之一。还有一个更重要的理由是,SPSS有一套非常好的教材。感兴趣的小伙伴,请百度搜索“张文彤”老师。他编写了一套三本,从初中级,高级到案例分享。最好的地方,不是里面多详细的介绍了SPSS的功能,教会你用这个软件。而是其中穿插介绍了常用的数据分析相关的统计学模型,以及张老师的一些亲身经验技巧。即使使用SPSS很久的人,再读一次,也会颇有收获。
所以基于效益最大化原则,如果是完全一张白纸的初学者,建议还是从SPSS入手比较好。
接下的几个软件,当然我会推荐SAS。理由很简单,看招聘启事。大部分的招聘启事会说“熟悉SPSS,SAS,R等任一种分析工具”。显然Matlab,Stata,Eviews这些都在“等”的范畴里面。Matlab作为计算数学专业的标配,是我大学时候的必修课。一直是矩阵计算领域的翘楚。而Stata,作为一个结合了命令串口和简化菜单的软件,学习难度略高于SPSS,而低于SAS,在医药和生物领域比较常用。至于Eviews,据说是时间序列方面的专家。(用据说是因为这个软件我的了解基本来源于度娘,谨慎而诚实,必须是美德)那么,现在来讲讲,为什么推荐SAS。
第一个理由,常用,名气大。这就好像同样是五百强企业,你说微软,大家会“哇!好厉害”,星星眼崇拜ing。然后你说某某集团(名字隐去,免得拉仇恨),大家会“恩?是民企么?”,瞬间自豪感就受到了挫败。
第二个理由,持续性强。SAS这个软件,本身其实是包罗万象的。现在大家喜欢说我会用SAS,其实都是托大了。就好像说我会R一样。SAS有很多模块,我们平时用的最多的是Base SAS, 最多加上SAS/Graph,SAS/Stat。做挖掘会用SAS EG和SAS EM。其他还有一大堆,我都记不住。所以一旦开始学SAS,基本上等于你可以慢慢一直学下去。只要愿意,永远学不完。当然R也是如此,会有源源不断的包,保证你“活到老学到老”。
第三个理由,接口很好。SAS作为老牌的统计学软件,一直处于一个比较高的地位。当然,也一直有一个很高的价格。最神奇的是,他的收费方式是租金制,每年要收续租费。在一众“一次付费,终身免费”,甚至有的还“终身免费”升级的软件中,绝对是独树一帜。而如此有个性的软件,在接口上却还是很开放的,大部分主流数据库接口和主流数据类语言都可以兼容。比如,我们之前提到的SAS下面的SQL模块,绝对是已经学会SQL的小伙伴们的福音。
那么有什么理由阻挡我们学习SAS呢?
其实只有一个,贵。因为贵,所以很多公司,是不会使用SAS的。SAS公司在这一点上做的也非常到位,公司使用盗版,一定会被告。前不久才听说四川有一家公司就被SAS公司给告了。很多公司不使用的结果就是你差不多只有去一个金融或者医药行业的企业,才有机会真正实际运用SAS。当然,你自己拿台电脑,悄悄地用,不要告诉我,我当不知道。
对于不知道去哪里找“不要钱”的SAS的小伙伴,也有一些建议,当然淘宝这个我没说,你们也不要听。官方的使用免费SAS,有几个途径,一个是高校研究,大部分高校都会有一个用于研究的序列号,如果你能找到导师,真诚地表达学习的愿望,还是很可以获得这个机会的。还有一个途径是为SAS公司写SAS相关的书籍,那么你可以完全免费地使用SAS的模块。当然,后面这个需要SAS的审核认证。
而对于SAS的学习,推荐一本经典书,《深入解析SAS》,购买请慎重,因为真的很重。看起来就和看说明书一样,只不过是800多页的说明书。一个好的消息,文字并不生涩,作者就是中国人,因而流畅度远超很多译作。一个不好的消息是,目前为止,书里的数据集都没有下载链接,有的可以自己输入做好数据库再使用,有的是sashelp数据库里的示例文章,但是也有个别的,就只能看看程序代码,无法实际运用了。最后,不可避免的,书里还是有一些错误,我看的时候也是一边看,一边验证程序,一边修改,或者补充更简化的代码。这个过程虽然痛苦,但是进步也还是非常快的。想想你可以给能写出这种书的牛人纠错,简直不是站在巨人的肩膀,而是和巨人并肩作战啊。
关于软件的部分,这一期先到这里。下一期,我们将会聊到现在数据分析界的新宠R和Python,以及横跨技术和数据两个领域的万能神器C++和Java。最后一期,我们再来看看传说中大数据的核心——Hadoop家族。
(待续~)
Yuki / 董雪婷
(公众号ID:Yuki的数据分析笔记)
资深数据分析师 、CDA协会会员,毕业于复旦大学 数学科学学院毕业。拥有3年乙方数据分析项目经验,和3年互联网、金融行业甲方数据分析及客户运营经验,目前在国内知名互联网公司担任高级数据分析师。