美文网首页技术程序员程序员首页投稿
如何在业余时间学习数据分析

如何在业余时间学习数据分析

作者: DC学院 | 来源:发表于2017-10-13 16:57 被阅读401次

    可能很多人提供了很多学习资源,各种经典书籍、网站教程,都很好,能够为初学者减少很多资源筛选的时间。但对于很多浮躁的小白来说,无疑是目标缺失的,每一部分学完能做什么,如何应用,是一个很大的问题。这样的学习,很容易未入门就放弃,所以并不建议从啃一本书开始。

    另一种是从实际的问题场景入手的。这确实是一个不错的方式,因为模拟了一个数据分析问题解决的流程。但这对于没有数据分析经验的人,特别是不怎么了解业务的人来说,这种方式又会陷入另一种困境:如何提出高质量的问题、如何找到清晰的分析思路。数据分析的思维是在有经验之后才能够养成的,而这种方式要求一开始就具备这种分析的思维,如果不懂业务问题,其实很难有针对性地去分析一个问题。

    我们就从数据分析技术和数据分析思维的养成,来谈谈如何在业余时间高效学习数据分析。主要是给更多的人一条相对平滑的、简单的学习路径,让学习的过程变成实践的过程,每个阶段都能输出成果。

    先给出一条学习路径吧:

    开始用数据玩起来

    好像少点统计学知识

    数据不干净怎么办

    握草!python大法流弊

    SQL打开新世界的大门

    数据分析的思维

    通向更高的维度


    1.开始用数据玩起来

    你可能会疑惑:我什么都不会,你就让我玩起来?

    不急,我们慢慢来解答。

    题主可能没什么数据分析的基础,但至少你还会编程,这比起很多小白来说这是一个相当大的优势。当然你可能觉得应该循序渐进地看书学习,但无数人从入门到放弃的经验告诉我们,那个过程本身就是不人性化的,特别是对于碎片化的学习来说。

    怎么开始用数据玩起来呢?

    先找一个数据集,如果你工作中有一些现成的数据(用户数据、销售数据、产品数据等),是最好的,因为这些数据跟你的认知是高度相关的,能让你更加的有针对性。当然如果没有这样的数据资源的话,也可以找一些网上的公开数据集,推荐几个有公开数据集的网站。

    UCI:加州大学欧文分校开放的经典数据集,真的很经典,被很多机器学习实验室采用,强烈建议前期数据集缺乏并且不想花太多时间去找的情况下用这里面的数据。

    国家数据:数据来源于中国国家统计局,包含了我国经济民生等多个方面的数据。

    CEIC:超过128个国家的经济数据,能够精确查找GDP, CPI, 进口,出口,外资直接投资,零售,销售,以及国际利率等深度数据。

    中国统计信息网:国家统计局的官方网站,汇集了海量的全国各级政府各年度的国民经济和社会发展统计信息。

    拿到这些数据,你就可以进行一些探索性的分析了。最常见的,就是把这些数据用可视化方式描述出来,最常见的就是 Excel,在把数据转化成图像的过程中,你就会发现一些数据分布的特点。

    比如你拿到一个产品的销售数据,把数据按照时间序列绘制出图形,那就可以看到销量与时间、季节、特殊节点之间的关系;当你分地区来展示,你可以看到产品受不同地区用户的喜爱程度;当你把销售数据和其他的一些因素结合起来(比如推广行为),可以发现这些因素对销售量的影响。

    你看,其实冰冷的数据在进行图形化的展示之后,我们可以发现很多基本的规律,这个已经可以得出一些很有用的知识了。

    所以你看,其实你已经可以开始进行基本的数据分析了。当然如果你也不怎么熟悉 Excel 的话,去熟悉一些这些基本的图表的用法,我们经常用到的也基本是条形图、折线图(散点图)、扇形图。

    觉得很简单是吧,当然可视化你还可以去了解用编程的方式去实现,比如 python里面的seaborn、matplotlib,R里面的ggplot2,这些都是很好的可视化工具。小白也不要以为很难,这个阶段你并不需要系统地去学习python或者R,只需要了解这些库的一些基本函数和用法就可以了。比如下面这些图,在python里面就是一行命令的事情。

    网上有很多这些可视化工具的教程,跟着做很容易上手,主要是记住具体的函数、方法的使用方式,多联系一下就可以了。

    当然不是让你瞎玩,画几个图虽然简单,但这还远远不够,在画图的过程中,你需要真正去做一些思考,从这些可视化的图表中,你能够可能发现哪些规律,你可尝试输出一些简单的结论和报告。

    2.好像少了点统计学知识

    如果你用可视化的形式做了一些探索性的数据分析,那么你就会发现,得到的知识并不是那么多,那么,如何做更加精细化的分析呢?这个时候你需要补充一些统计学的知识了。

    因为网上其实很少有系统的统计学的学习资料,这里更加推荐去看一些统计学方面的书籍。推荐书:深入浅出统计学 (豆瓣)

    在具体的数据分析中,主要用到统计方面的以下知识,在看书的时候重点学习:

    基本的统计量:均值、中位数、众数、方差、标准差、百分位数等;

    概率分布:几何分布、二项分布、泊松分布、正态分布等;

    总体和样本:了解基本概念,抽样的概念;

    置信区间与假设检验:如何进行验证分析;

    相关性与回归分析:一般数据分析的基本模型。

    那通过基本的统计量,你可以进行更多元化的可视化,以实现更加精细化的数据分析,这个时候也需要你去了解更多的Excel函数来实现基本的计算,或者python、R里面一些对应的可视化方法。

    有了总体和样本的概念,你就知道在面对大规模数据的时候,怎样去进行抽样分析。

    你也可以应用假设检验的方法,对一些感性的假设做出更加精确地检验。

    利用回归分析的方法,你可以对未来的一些数据、缺失的数据做基本的预测。

    了解统计学的原理之后,你不一定能够通过工具实现,那么你需要去对应的找网上找相关的实现方法。也可以看书,先推荐一本非常简单的:深入浅出数据分析 (豆瓣)


    3.数据不干净怎么办

    很多时候我们拿到的数据是不干净的,数据的重复、缺失、异常值等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。

    比如空气质量的数据,其中有很多天的数据由于设备的原因是没有监测到的,有一些数据是记录重复的,还有一些数据是设备故障时监测无效的。比如用户行为数据,有很多无效的操作对分析没有意义,就需要进行删除。

    那么我们需要用相应的方法去处理,比如残缺数据,我们是直接去掉这条数据,还是用临近的值去补全,这些都是需要考虑的问题。

    对于数据预处理,学会 pandas 的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:

    选择:数据访问(标签、特定值、布尔索引等)

    缺失值处理:对缺失数据行进行删除或填充

    重复值处理:重复值的判断与删除

    空格和异常值处理:清楚不必要的空格和极端、异常数据

    相关操作:描述性统计、Apply、直方图等

    合并:符合各种逻辑关系的合并操作

    分组:数据划分、分别执行函数、数据重组

    Reshaping:快速生成数据透视表

    网上有很多pandas的教程,主要是一些函数的应用,也都非常简单,如果遇到问题,可以参看pandas操作的官方文档


    4.握草,Python大法流弊

    通过pandas,你可能已经意识到,python真实一个神奇的东西。

    但除了pandas,python还有其他优秀的数据分析、数据挖掘的库,比如numpy、scipy、scikit-learn,那你可以去找一些教程来看看如何通过这些库实现数据分析,先搞清楚那些最常用的方法,并结合实际的数据集进行练习。那些并不常用的方法,可以等到在遇到具体的问题的时候再去查阅相关的文档。

    比如利用numpy进行数组的计算,利用scipy实现不同的假设检验,利用scikit-learn实现完整的数据分析建模……这些网上有很多可以学习的教程,当然也可以去看书,推荐一本:

    利用Python进行数据分析 (豆瓣)

    当然前期并不建议你去追求各种高深的技巧,你更需要去熟悉最基本的用法,毕竟基本的才是最常用到的,常用的方法已经可以帮助你解决绝大部分初级阶段的数据分析问题了。

    比如利用回归分析(线性回归、逻辑回归),你就可以去实现很多的预测型的数据分析,对未来的数据进行预测。

    当然,如果是小白,还需要去了解一些python的基础知识,比如变量、基本元素等,如果你对python无感,那么R语言也完全可以帮助你解决数据分析问题。


    5.用SQL打开新世界的大门

    在应对万以内的数据的时候,Excel对于一般的分析没有问题,一旦数据量大,就会力不从心,打开文件都会是个问题,数据库就能够很好地解。而且大多数的企业,都会以SQL的形式来存储数据,如果你是一个分析师,也需要懂得SQL的操作,能够查询、提取数据。

    SQL作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。你需要掌握以下技能:

    提取特定情况下的数据:企业数据库里的数据一定是大而繁复的,你需要提取你需要的那一部分。比如你可以根据你的需要提取2017年所有的销售数据、提取今年销量最大的50件商品的数据、提取上海、广东地区用户的消费数据……,SQL可以通过简单的命令帮你完成这些工作。

    数据库的增、删、查、改:这些是数据库最基本的操作,但只要用简单的命令就能够实现,所以你只需要记住命令就好。

    数据的分组聚合、如何建立多个表之间的联系:这个部分是SQL的进阶操作,多个表之间的关联,在你处理多维度、多个数据集的时候非常有用,这也让你可以去处理更复杂的数据。

    SQL这个部分相对来说比较简单,可以去这个教程:MySQL-菜鸟教程

    当然如果你一直面对的是不那么大的数据,或者pandas等工具已经够你用了,那你也可以暂时不了解SQL这一块相对独立的知识。


    6.数据分析思维

    如果你对业务本身有一定了解,那么你可能在数据思维的养成方面会更加有优势,你会知道哪些因素、哪些数据是相对重要的,那么你可以在分析中更加容易地找出重要的问题,也能够更清楚应该从哪些方面入手,这就是问题定义的过程。这是数据分析的第一个步骤,但往往要经过很多的实战训练才能养成。

    开始的时候,你可能考虑的问题不是很周全,但随着你经验的积累,慢慢就会找到分析的方向,有哪些一般分析的维度,比如top榜单、平均水平、区域分布、年龄分布、相关性分析、未来趋势预测等等。随着经验的增加,你会有一些自己对于数据的感觉,这就是我们通常说的数据思维了。

    你也可以看看行业的分析报告,推荐:艾瑞咨询

    看看优秀的分析师看待问题的角度和分析问题的维度,你也可以去参考优秀数据分析师的一些思考维度去进行分析,总结的多了,你会发现,其实这并不是一件困难的事情。

    如果你想去获取互联网的一些数据,也可以学学爬虫的一些技能,基于互联网的数据,可以做很多的市场调研和舆情分析。


    7.通向更高的维度

    如果你并不满足做基础的数据分析,甚至想做一些数据挖掘、机器学习的事情,那么你还需要学习更多的知识。了解更高级的数据挖掘算法,比如决策树、随机森林、支持向量机、神经网络等等,光了解算法还不够,你还需要知道如何进行模型的优化,如何通过特征工程、模型融合提升预测的精确度。

    这就有点数据挖掘和机器学习的味道了。当然你可以根据你的职业发展来选择具体的方向,如果你在编程、算法上面比较有兴趣,那么你可以向更深入的机器学习方向发展;如果你更想往业务方向靠拢,以数据分析来支撑商业决策,那么你可以深化这方面的能力,甚至去考虑做一些自动化分析的事情。

    总的来说,学习的动力源于反馈,在碎片化学习的时候,尤其注意,你的每个学习过程都应该是有具体的目的导向的,你也需要考虑,学习这个知识点,最终想输出的东西是什么。每个阶段只学习最需要的那部分知识,这样可以很大程度上地提升学习效率。

    相关文章

      网友评论

      本文标题:如何在业余时间学习数据分析

      本文链接:https://www.haomeiwen.com/subject/pfozyxtx.html