数据分析需要掌握哪些技能

数据分析需要掌握哪些技能?在回答这个问题之前我们先来看看数据分析岗都需要做哪些工作。
数据分析工作大致分以下六个环节:理解需求、获取数据、数据预处理、数据分析,数据建模、数据可视化及分析报告撰写。但是根据行业及业务的不同,数据分析的工作流程也不尽相同,比如金融风控部门偏数据挖掘的岗位一般输出结果为训练好的模型分析报告不一定会有,而一些对行业的分析或者运营分析的最终结果一定是以分析报告形式来呈现的。

下面我们就根据数据分析的这六个过程来给大家介绍一下数据分析需要掌握哪些技能。

1.理解需求
在接受一份数据分析任务之后我们首先要做的就是充分的理解需求是什么,要解决什么样的问题,最终输出结果是什么样的。是输出一个训练好的模型,还是分好类的数据或者是一份分析报告。是要分析公司的运营数据还是要做客户行为的分析?我们要达到这样的分析目标?需要哪些数据,是销售数据、产品信息、客户信息还是其他数据,是公司已有数据还是外部数据?理解需求并不需要其他的工具,唯一需要的是你聪明的大脑再加一点业务知识。后面的步骤则需要掌握一定的数据分析技能才可以完成。

  1. 获取数据
    分析完需求之后呢,你大致已经确认需要哪些数据了,接下来就需要获取相关的数据了。比如你要探究空气质量变化的趋势,你可能就需要收集最近几年的空气质量数据、天气数据,甚至工厂数据、气体排放数据、重要日程(节假日可能有烟花爆竹的燃放)数据等等。如果你要预测公司明年的销售额,你就需要调用公司的历史销售数据、市场总的行情数据、用户画像数据、广告投放数据等。数据的获取方式主要有以下几种。
    第一种是公司的销售、用户的数据
    这种数据属于公司自有数据,根据公司规模及数据量大小不同数据会存储在不同的业务数据库或者数据仓库中。掌握基本的数据库知识或数据仓库知识、基本的SQL语句便可获取此类数据。常用的数据库有MySQL、oracle等,数据仓库软件有基于hdfs存储的hive数据仓库管理软件。当然有些公司数据量并不是很大的时候有可能用数据库搭建数据仓库。

第二种是获取外部的公开数据集
只要掌握了基本的python编程技能便可以获取这类数据。比如通过网易财经或者雅虎财经提供的web接口便可以免费的获取上市公司的股票信息。如雅虎股票数据、世界银行的公开数据的下载api会封装在一些python的包里面,只需像调用函数那样就可以获取股票数据了。

第三种是收集互联网上的数据
这类数据的收集会用到爬虫技术,根据公司规模及数据爬取的难易程度不同这类工作可以由分析师独立完成或者由爬虫工程师协助完成。几乎所有能实现网络编程的语言均可以实现网络爬虫功能来抓取数据。但由于python拥有众多与爬虫相关的包和框架并且开发速度快,因此是最受欢迎的爬虫语言。python常用的爬虫工具包有requests、beautifulsoup4、lxml等,应对小规模的爬取这些就够了。如果涉及到复杂且大规模的爬取那么python分布式爬虫框架scrapy是你的不二选择,scrapy发布的比较早有成熟的方案及开发文档。

第四种是购买第三方数据
这种获取数据方式就不涉及什么技术了,市场上有许多公司提供有偿数据服务,花钱就可以买到数据。

3.数据预处理
无论是数据仓库里面的公司数据还是网上爬取的公开数据都会存在各种各样的问题,如数据的缺失、数据的异常值、数据非结构化。这些问题如果不解决往往会造成后面的模型训练得不到好的结果。
在数据预处理阶段主要是做以下几个事情:数据清理,数据集成,数据变换,数据归约,数据标准化等。把这些影响分析的数据处理好,才能获得更加精确地分析结果。
数据清理的主要内容是处理数据的缺失值、非结构化的数据结构化处理。这个往往工作量最大,常用的方法是sql语句结合python代码来处理。
数据集成就是将原来的多个数据表合并为一个表,方便分析与模型训练。这个主要使用sql语句来完成。
数据变换,主要是为了适应数据挖掘算法对数据的要求比如将一个特征变成哑变量,对数据做离散化处理,或者对数据做标准化处理。数据变化常用的工具是python的第三方库pandas及scikit-learn中数据标准化处理方法。
数据预处理应具备的技能有:数理统计知识,python数据工具包pandas、numpy、scikit-learn、matplotlib,SQL语言等。
4.数据分析
这个环节要对数据做探索性分析及统计性分析,需要具备一定的统计分析方法和数据可视化方法。
需要掌握的统计分析方法有:假设检验、列联分析、相关分析、方差分析、关联规则、主成分分析、因子分析等,还需了解不同方法适用的场景和适合的问题。分析时应切忌滥用和误用统计分析方法。滥用和误用统计分析方法主要是由于对方法能解决哪类问题、方法适用的前提、方法对数据的要求不清等原因造成的。

另外,选择几种统计分析方法对数据进行探索性的反复分析也是极为重要的。每一种统计分析方法都有自己的特点和局限,因此,一般需要选择几种方法反复印证分析,仅依据一种分析方法的结果就断然下结论是不科学的。
在分析过程中做一些数据的可视化可以帮助自己更容易理解数据,因此需要掌握如箱型图、散点图、直方图、柱状图、饼图、折线图等图形的绘制并了解这些图适用数据类型。
5.数据建模
在对数据进行统计分析之后你想更进一步挖掘数据间的关系,这时就需要进行数据建模,从数据中找到可固化的关系。
比如你发现在一定条件下,销量和价格是正比关系,那么你可以据此建立一个线性回归模型,来找到他们之间可量化的关系。你发现价格和广告是非线性关系,你可以先建立一个逻辑回归模型来进行分析。

一般情况下,回归分析的方法可以满足很大一部分的分析需求,当然你也可以了解一些数据挖掘的算法、特征提取的方法来优化自己的模型,获得更好地结果。
数据建模难度较大,需要掌握各种常用算法原理及模型优化方法,还需一定的代码编码能力,掌握数据建模工具如python中的scikit-learn或tensorflow机器学习包,R语言等。如果高级的应用场景下可能还需要自己手动编写部分机器学习算法。
6.数据可视化及数据报告的撰写
数据分析结束以后还需对分析结果进行展示、解读,因此数据可视化及分析报告的撰写也是数据分析过程的重要的一步。
完成此项工作除了熟练掌握可视化工具之外还需掌握一定的统计理论和业务知识,这样才能更好的解读数据分析结果中各个统计量所包涵的信息,通过数据分析来优化业务模式。

常用的数据可视化工具:Excel(powerbi)、python(matplotlib、pyecharts)、tableau、echarts D3.js等

根据以上六点我们可以知道数据分析需要掌握的技能还是很多的,其实有很多技能在功能上有重叠,大致归纳一下有以下几种:
1.数据库知识,sql语句
2.excel及powerbi,spss
3.编程语言python(基础语法+pandas、numpy+可视化matplotlib+机器学习and数据预处理scikit-learn+爬虫)或R
4.统计基础:统计指标、统计方法
5.数据挖掘方法:机器学习常用算法
数据分析过程是比较复杂的往往不是一个人在战斗,比如数据清洗如果数据来源和种类特别复杂并且有很多非结构化的数据公司一般会配置专门的数据清理工程师来做。还有爬虫,如果涉及复杂大量的爬取任务也会有相应的爬虫工程师来配合。像数据库管理员这些人也都是要经常打交道的,毕竟团队合作才能做大事嘛。

你可能感兴趣的:(数据分析师)