- ?
关于数据分析的系列问答—02
韦代男
展开
有意愿从事SPSS数据分析的小白该如何入门,该怎么了解和学习。
入门SPSS数据分析
首先应该明确SPSS这款软件的功能与适用范围。SPSS是一款用于统计分析、数据挖掘、预测分析的软件。它的优点也比较明显,界面化操作,易上手;成熟的统计过程和完美的图形处理功能。
其次,安装SPSS软件,熟悉SPSS界面与操作。
到此处,你已经可以做好了前期的准备工作。接下来的入门流程,不管是选用哪种工具,都离不开数据分析的基本流程。
1、 明确数据分析,就是能够从业务人员的描述中可以提炼出分析的目标。
2、 准备数据的方式有很多,总的来讲可以分为直接数据与间接数据。从获取的方式来讲有以下几种方式:问卷调查,手动输入,下载,爬虫等。
3、 数据预处理,首先需要知道的是变量的类型数值型:根据其功能和形式又可细分为(标准型、逗号型、句点型、科学计数型、美元型和自定义货币型)字符型、日期型,系统默认为标准数值型;第二要掌握数据的读入;第三需要掌握的是数据的清洗:缺失值、异常值、重复值;第四数据的合并,包括字段的合并与记录的合并;第五数据的标准化。
4、 描述性统计
SPSS常用的统计图:条形图、线图、面积图、饼图、直方图、箱图、散点图、时间序列图、正态分布图。
5、 深度分析:相关性分析、回归分析(线性回归、逻辑回归)、时间序列、RFM、聚类分析。
6、 撰写报告
「零一数据商学院」:http://01sjxy
零一数据商学院总舵(QQ群 566714709)
欢迎加入组织!
- ?
干货 | 这是一份完整的大数据处理技术总结与分析
潮汐
展开
一 数据分析处理需求分类
1 事务型处理
在我们实际生活中,事务型数据处理需求非常常见,例如:淘宝网站交易系统、12306网站火车票交易系统、超市POS系统等都属于事务型数据处理系统。
这类系统数据处理特点包括以下几点:
一是事务处理型操作都是细粒度操作,每次事务处理涉及数据量都很小。
二是计算相对简单,一般只有少数几步操作组成,比如修改某行的某列;
三是事务型处理操作涉及数据的增、删、改、查,对事务完整性和数据一致性要求非常高。
四是事务性操作都是实时交互式操作,至少能在几秒内执行完成;
五是基于以上特点,索引是支撑事务型处理一个非常重要的技术。
在数据量和并发交易量不大情况下,一般依托单机版关系型数据库,例如ORACLE、MYSQL、SQLSERVER,再加数据复制(DataGurad、 RMAN、MySQL数据复制等)等高可用措施即可满足业务需求。
在数据量和并发交易量增加情况下,一般可以采用ORALCE RAC集群方式或者是通过硬件升级(采用小型机、大型机等,如银行系统、运营商计费系统、证卷系统)来支撑。
事务型操作在淘宝、12306等互联网企业中,由于数据量大、访问并发量高,必然采用分布式技术来应对,这样就带来了分布式事务处理问题,而分布式事务处理很难做到高效,因此一般采用根据业务应用特点来开发专用的系统来解决本问题。
2 数据统计分析
数据统计主要是被各类企业通过分析自己的销售记录等企业日常的运营数据,以辅助企业管理层来进行运营决策。典型的使用场景有:周报表、月报表等固定时间提供给领导的各类统计报表;市场营销部门,通过各种维度组合进行统计分析,以制定相应的营销策略等。
数据统计分析特点包括以下几点:
一是数据统计一般涉及大量数据的聚合运算,每次统计涉及数据量会比较大。
二是数据统计分析计算相对复杂,例如会涉及大量goupby、 子查询、嵌套查询、窗口函数、聚合函数、排序等;有些复杂统计可能需要编写SQL脚本才能实现。
三是数据统计分析实时性相对没有事务型操作要求高。但除固定报表外,目前越来越多的用户希望能做做到交互式实时统计;
传统的数据统计分析主要采用基于MPP并行数据库的数据仓库技术。主要采用维度模型,通过预计算等方法,把数据整理成适合统计分析的结构来实现高性能的数据统计分析,以支持可以通过下钻和上卷操作,实现各种维度组合以及各种粒度的统计分析。
另外目前在数据统计分析领域,为了满足交互式统计分析需求,基于内存计算的数据库仓库系统也成为一个发展趋势,例如SAP的HANA平台。
3 数据挖掘
数据挖掘主要是根据商业目标,采用数据挖掘算法自动从海量数据中发现隐含在海量数据中的规律和知识。
数据挖掘主要过程是:根据分析挖掘目标,从数据库中把数据提取出来,然后经过ETL组织成适合分析挖掘算法使用宽表,然后利用数据挖掘软件进行挖掘。传统的数据挖掘软件,一般只能支持在单机上进行小规模数据处理,受此限制传统数据分析挖掘一般会采用抽样方式来减少数据分析规模。
数据挖掘的计算复杂度和灵活度远远超过前两类需求。一是由于数据挖掘问题开放性,导致数据挖掘会涉及大量衍生变量计算,衍生变量多变导致数据预处理计算复杂性;二是很多数据挖掘算法本身就比较复杂,计算量就很大,特别是大量机器学习算法,都是迭代计算,需要通过多次迭代来求最优解,例如K-means聚类算法、PageRank算法等。
因此总体来讲,数据分析挖掘的特点是:
1、数据挖掘的整个计算更复杂,一般是由多个步骤组成计算流,多个计算步骤之间存在数据交换,也就是会产生大量中间结果,难以用一条sql语句来表达。
2、计算应该能够非常灵活表达,很多需要利用高级语言编程实现。
二 大数据背景下事务型处理系统相关技术
在google、facebook、taobao等大互联网公司出现之后,这些公司注册和在线用户数量都非长大,因此该公司交易系统需要解决“海量数据+高并发+数据一致性+高可用性”的问题。
为了解决该问题,从目前资料来看,其实没有一个通用的解决方案,各大公司都会根据自己业务特点定制开发相应的系统,但是常用的思路主要包括以下几点:
(1)数据库分片,结合业务和数据特点将数据分布在多台机器上。
(2)利用缓存等机制,尽量利用内存,解决高并发时遇到的随机IO效率问题。
(3)结合数据复制等技术实现读写分离,以及提高系统可用性。
(4)大量采用异步处理机制,对应高并发冲击。
(5)根据实际业务需求,尽量避免分布式事务。
1相关系统介绍
1) 阿里CORBAR系统
阿里COBAR系统是一个基于MYSQL数据库的分布式数据库系统,属于基于分布式数据库中间件的分布式数据库系统。该系统是前身是陈思儒开发的“变形虫”系统(以前调研过),由于陈思儒离开阿里去了盛大,阿里当心“变形虫”稳定性等问题,重新开发该项目。
该系统主要采用数据库分片思路,实现了:数据拆分、读写分离、复制等功能。由于此系统由于只需要满足事务型操作即可,因此相对真正并行数据库集群(例如TeraData等),此类系统提供操作没有也不需要提供一些复杂跨库处理,因此该系统存在以下限制:
(1)不支持跨库的join、分页、排序、子查询。
(2)insert等变更语句必须包括拆分字段等。
(3)应该不支持跨机事务(以前变形虫不支持)。
说白了此类系统不具备并行计算能力,基本上相当于数据库路由器!
另外此类系统的在实际应用的关键问题是,根据什么对数据进行切分,因为切分不好会导致分布式的事务问题。
2) 阿里OceanBase系统
该系统也是淘宝为了解决高并发、大数据环境下事务型处理而定制开发的一个系统。该系统主要思路和特点如下:
(1)他们发现在实际生成环境中,每天更新的数据只占总体数据的1%不到,因此他们把数据分为:基线数据和增量更新数据。
(2)基线数据是静态数据,采用分布式存储方式进行存储。
(3)只在一台服务器上存储和处理增量更新数据,并且是在内存中存储和处理更新数据。
(4)在系统负载轻的时候,把增量更新批量合并到基线数据中。
(5)数据访问时同时访问基线数据和增量更新数据并合并。
因此这样好处是:
(1)读事务和写事务分离
(2)通过牺牲一点扩展性(写是一个单点),来避免分布式事务处理。
说明:该系统虽然能处理高并发的事务型处理,号称很牛逼,但其实也只是根据电商的事务处理来定制开发的专用系统,个人认为其技术难度小于oracle等通用型的数据库。该系统无法应用到银行或者12306等,因为其事务处理的逻辑远远比电商商品买卖处理逻辑复杂。
在目前的大数据时代,一定是基于应用定制才能找到好的解决方案!
3) 基于Hbase的交易系统
在hadoop平台下,HBASE数据库是一个分布式KV数据库,属于实时数据库范畴。支付宝目前支付记录就是存储在HBASE数据库中。
HBASE数据库接口是非SQL接口,而是KV操作接口(基于Key的访问和基于key范围的scan操作),因此HBASE数据库虽然可扩展性非常好,但是由于其接口限制导致该数据库能支持上层应用很窄。基于HBASE应用的设计中,关键点是key的设计,要根据需要支持的应用来设计key的组成。
可以认为HBASE数据库只支持作为KEY的这一列的索引。虽然目前HBASE有支持二级索引的方案,二级索引维护将会比较麻烦。
2并发和并行区别
并发是指同时执行通常不相关的各种任务,例如交易型系统典型属于高并发系统。
并行是通过将一个很大的计算任务,划分为多个小的计算任务,然后多个小计算任务的并行执行,来缩短该计算任务计算时间。
两者主要区别在于:
(1)通讯与协调方面:在并行计算中,由于多个小任务同属一个大的计算任务,因此小任务之间存在依赖关系,小任务之间需要大量通讯和协调;相反,并发中的多个任务之间基本相互独立,任务与任务之间相关性很小。
(2)容错处理方面:由于并发任务之间相互独立,某个任务执行失败并不会影响其它的任务。但是并行计算中的多个任务属于一个大任务,因此某个子任务的失败,如果不能恢复(粗粒度容错与细粒度容错),则整个任务都会失败。
3本章总结
数据量大不一定需要并行计算,虽然数据量大,数据是分布存储,但是如果每次操作基本上还是针对少量数据,因此每次操作基本上都是在一台服务器上完成,不涉及并行计算。只是需要通过数据复制、数据缓存、异步处理等方式来支撑高并发访问量
三 大数据背景下数据统计分析技术介绍
随数据量变大,和事务处理不同的是,单个统计分析涉及数据量会非常大,单个统计分析任务涉及数据会分散在多台服务器上,且由于计算量大,采用单台服务器进行计算,会导致计算时间非常长,单个统计分析任务必须采用并行计算方式来加快单个统计分析任务执行速度。
1并行查询与并行计算技术介绍
在大数据背景下的数据统计分析技术门类很多,常见的有:
n MPP并行数据库 : TeraData、GreenPlum、Vertica等。
n 基于MapReduce并行计算框架的数据仓库:
HIVE(Hadoop平台) 、Tenzing(Google公司)
n 基于Hbase的Phoenix系统
n HadoopDB系统
n EMC公司的hapt系统
n MPP分布式查询引擎: Dremel、Impala、Presto、Shard query、Citusdb。
n 基于SPARK的Shark、基于Dryad的SCOPE、基于Tez的stinger。
n 基于hadoop+index的JethroData系统
n 基于内存计算的Druid系统
这些系统都解决了海量数据下的数据统计分析的问题,并且这些系统另外一个共同特点是都提供了SQL或者类SQL接口。
为了能够较好研究这些系统,我们需要对并行查询与并行计算的相关技术做一个简要的介绍。
首先所有的系统都可以分为三个层次: 语义层、并行计算引擎层、分布式存储层。语义层提供一个编程接口让用户表达所需要计算,并负责把该计算翻译成底层并行计算引擎可以执行的执行计划,并由并行计算引擎来执行,最下面一层是分布式存储层。
对于提供类SQL接口并行计算系统,语义层可以认为是SQL解析层。
1) 语义层
SQL语言是一种声名式语言,SQL只是表达了要做什么,而没有表达怎么做。为此,SQL解析层主要作用是:将用户提交的基于SQL的统计分析请求,转化为底层计算引擎层可以执行的执行计划。也就是解决“怎么做”的问题。
SQL解析层工作主要包括两个大方面:
(1) 通过语法分析技术来理解要做什么。在关系数据库中,一般会把SQL语言分析后,形成树型结构的执行计划。
(2) 在语法分析技术上,利用各种优化技术和算法,找出一种最经济物理执行计划。
优化可以分为两个方面:一是逻辑层面优化、二是物理执行层面优化。
(1) 逻辑层优化
逻辑层面个人认为主要是因为同样表达一个分析请求,有的人SQL写的好,有的人SQL写的烂,因此在逻辑层面可以通过一些等价关系代数变换,实现查询重写,将写的比较烂的sql变换为好的写法。
比较典型优化是:“把投影和过滤下沉,先执行过滤和投影操作”,减少中间结果。
(2) 物理层优化
物理层面优化是在逻辑优化后,结合实际物理执行过程,找出最优的物理执行计划。生成物理查询计划的工作包括:
ü 增加一些操作符: 包括扫描和排序等。
ü 确定各个操作符实现算法。例如扫描是全表扫描还是利用索引;Join是采用HASH连接、索引连接、合并排序等实现算法中的那一种。
ü 确定操作符之间的数据流转方法:物化还是流水线方式。
ü 采用基于代价估算方法确定最优的物理执行计划,目前代价估算主要是以估算该物理计划需要的IO量。另外对于并行数据库,则还要考虑通讯代价,即尽量减少数据在各个机器之间的传递。
在物理层优化的代价估算过程中,代价估算需要依靠很多统计信息,如表有多大,表中相关列的值分布是什么样子等。传统数据库在数据Load过程中会事先计算好这些统计信息。并行计算中还需要考虑通讯代价。
需要指出是,由于imapla、Presto、HIVE等系统只是一个查询引擎,它们可以直接查询以普通文件方式存储在HDFS系统上的文件,因此这些系统一般无法使用索引和各种统计信息来进行物理执行计划的优化,这些系统一般只能在逻辑层进行一些基于规则静态优化。根据SHARK论文,SHARK系统支持根据前面一些节点计算获得的信息,来动态优化后面执行计划。
(3) 物化与流水线执行方法
一条SQL语句对开发人员而言,感觉只是一次调用,但是实际上在数据库内部,一条SQL语句执行其实是有多个操作符组合而成的的树型结构计算流。如下图:
针对该计算流有两种执行方式:一是基于物化或者是实体化执行方式,另外一种是基于数据流的执行方式。
第一种方法的过程是: 把各个操作运算排序,并把每个操作运算的输出的中间结果存储在磁盘上,直到被另外一个操作运算所...
- ?
关于数据分析那些事,看这一篇文章就够了
秋珊
展开
「目录」
1.什么是数据分析;
2.数据分析职业介绍;
3.数据分析生涯规划;
4.数据分析薪酬情况;
5.数据分析基本素质;
一、到底什么是数据分析呢?
数据分析是基于商业目的,有目的的进行收集、整理、加工和分析数据,提炼有价信息的一个过程。
▊其过程概括起来主要包括:明确分析目的与框架、数据收集、数据处理、数据分析、数据展现和撰写报告等6个阶段。
1、明确分析目的与框架
一个分析项目,你的数据对象是谁?商业目的是什么?要解决什么业务问题?数据分析师对这些都要了然于心。
基于商业的理解,整理分析框架和分析思路。例如,减少新客户的流失、优化活动效果、提高客户响应率等等。不同的项目对数据的要求,使用的分析手段也是不一样的。
2、数据收集
数据收集是按照确定的数据分析和框架内容,有目的的收集、整合相关数据的一个过程,它是数据分析的一个基础。
3、数据处理
数据处理是指对收集到的数据进行加工、整理,以便开展数据分析,它是数据分析前必不可少的阶段。这个过程是数据分析整个过程中最占据时间的,也在一定程度上取决于数据仓库的搭建和数据质量的保证。
数据处理主要包括数据清洗、数据转化等处理方法。
4、数据分析
数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规律,为商业目提供决策参考。
到了这个阶段,要能驾驭数据、开展数据分析,就要涉及到工具和方法的使用。其一要熟悉常规数据分析方法,最基本的要了解例如方差、回归、因子、聚类、分类、时间序列等多元和数据分析方法的原理、使用范围、优缺点和结果的解释;其二是熟悉1+1种数据分析工具,Excel是最常见,一般的数据分析我们可以通过Excel完成,后而要熟悉一个专业的分析软件,如数据分析工具SPSS/SAS/R/Matlab等,便于进行一些专业的统计分析、数据建模等。
5、数据展现
一般情况下,数据分析的结果都是通过图、表的方式来呈现,俗话说:字不如表,表不如图。。借助数据展现手段,能更直观的让数据分析师表述想要呈现的信息、观点和建议。。
常用的图表包括饼图、折线图、柱形图/条形图、散点图、雷达图等、金字塔图、矩阵图、漏斗图、帕雷托图等。
6、撰写报告
最后阶段,就是撰写数据分析报告,这是对整个数据分析成果的一个呈现。通过分析报告,把数据分析的目的、过程、结果及方案完整呈现出来,以供商业目的提供参考。
一份好的数据分析报告,首先需要有一个好的分析框架,并且图文并茂,层次明晰,能够让阅读者一目了然。结构清晰、主次分明可以使阅读者正确理解报告内容;图文并茂,可以令数据更加生动活泼,提高视觉冲击力,有助于阅读者更形象、直观地看清楚问题和结论,从而产生思考。
另外,数据分析报告需要有明确的结论、建议和解决方案,不仅仅是找出问题,后者是更重要的,否则称不上好的分析,同时也失去了报告的意义,数据的初衷就是为解决一个商业目的才进行的分析,不能舍本求末。
二、数据分析师职业介绍
做数据分析前我们首先要明确分析目的和内容,对于数据分析师而言,他们的进阶需求无外乎是各个企业对数据分析师的职位要求。在前程无忧、中华英才网以及智联招聘上,我们随便搜索下数据分析的岗位信息,都能找到大量类似于下面的一些职位要求信息:
▊别看岗位职责,任职要求这么多,说白了主要就三点要求:
1)对相关业务的理解;
2)掌握一到二种数据分析工具;
3)良好的沟通。
可能不同的公司因为需求不同,会在要求上有点小小的不同,而这个不同主要集中在数据库上。了解数据分析师的具体需求之前,我们有必要先了解数据分析师的职位体系。
「数据分析师的职位体系」
在传统行业中,数据分析更多存在移动、银行、超市等行业,在这些行业中你才会偶尔听到数据分析师这个职位,也许更多是听到数据挖掘工程师、数据建模师。在中国也许只在电信的项目中,才会存在真正的意义上的数据挖掘。
▊数据行业从广义上讲可以分为以下几个职位:
1、数据分析师
更注意是对数据、数据指标的解读,通过对数据的分析,来解决商业问题。主要有以下几个次层次:
1)业务监控:诊断当前业务是否正常?是否存在问题?业务发展是否达到预期(KPI)?如果没有达到预期,问主要问题在哪?是什么原因引起的?
2)建立分析体系:这些数据分析师已经对业务有一定的理解,对业务也相对比较熟悉,更多帮业务方建立一套分析体系,或者更高级是做成数据产品。例如:营销活动。分析师会告诉业务方,在活动前你应该分析哪些数据,从而制定恰当的营销计划。在营销过程中,你应该看哪些数据,从而及时做出营销活动调整。在营销活动,应该如何进行活动效果评估。
3)行业未来发展的趋势分析:这应该是数据分析师最高级别,有的公司叫做战略分析师/商业分析师。这个层次的数据分析师站的更高,在行业、宏观的层面进行业务分析,预测未来行业的发展,竞争对手的业务构成,帮助公司制定战略发展计划,并及时跟踪、分析市场动态,从而及时对战略进行不断优化。
主要技能要求:
数据库知识(SQL至少要熟悉)、基本的统计分析知识、EXCEL要相当熟悉,对SPSS或SAS有一定的了解,对于与网站相关的业务还可能要求掌握GA等网站分析工具,当然PPT也是必备的。
2、数据挖掘工程师
更多是通过对海量数据进行挖掘,寻找数据的存在模式、或者说规律,从而通过数据挖掘来解决具体问题。数据挖掘更多是针对某一个具体的问题,是以解决具体问题为导向的。例如:聚类分析,通过对于会员各种人口统计学、行为数据进行分析,对会员进行分类,对不同的类型的会员建立相应的profiling,从而更好的理解会员,知道公司会员是到底如何?高、中、低低价值的会员构成,既可以后期各种会员的运营提供指导,提高活动效率,可以指导公司的营销,例如广告的投放策略。以及用于公司各种战略的制定。
主要技能要求:
1)数据库必须精通。很多时候,你模型的数据预处理,可能完成在数据库里完成,你用到的数据库技巧更高。
2)必须要会成熟的数据挖掘工具、数据挖掘算法,例如:SPSS/CELEMENTINE、SAS/EM等,当然如果你会一、二款开源软件,并会写一些程序代码那是最好的,大公司都喜欢用开源的软件,例如:R、WEKA。
3、数据建模师
这个职位与数据挖掘工程师还是有本质区别的。数据建模师,更多偏向于中、小数据量,而且其使用更多更多是统计学的方法,而数据挖掘中的例如:决策树、神经网络、SVM等在这里是根据不会涉及的。
当然二者有一个共同之处都是,针对很具体的问题,都是会解决某个具体问题,例如:营销反应率,你就可能历史的邮箱、短信的反应情况,来建模型进行预测,从而提高邮件反应率,或者减少对用户来说的“垃圾”邮箱,提高用户体验。所以从掌握的技能上讲,这二者就有很大的区别,数据建模师其实很少会提到算法这个词,更多说使用什么模型,有感觉吗?但是从实务界来看,这二个模型越来越没有明确的分工,一般来说都会二个职位的人都会去学习对方的知识,所以这二个职位有合并的趋势,但在未来几年来,我觉得公司要招人的时候应该还是要有区别的。
新进入数据行业的同学,可以根据自己的背景背景选择相应的职位,学数据、统计学的朋友更多可以偏向于建模师,而计算机特别是写编程出现和同学,可以走数据挖掘工程师,也许适应性更好,但这不是绝对的。
▊数据分析师的职位级别划分:
不同公司对数据分析师的职位划分骚有不同,在一些中小型企业,没有成立独立的数据中心前,数据分析的相关职位往往是在譬如市场部、运营部这些部门之下,通常数据分析成员在2-4人不等。对于一些大型企业,有独立的数据部门的企业,其数据分析团队人员则是十到百人不等,其职位头衔有通俗的总监、经理、主管划分,也有助理、资深、专家之类的划分。下面是一张微博上传的比较火的某集团的数据分析师职位级别划分图表,大家可根据自身的情况对号入座。
「下图来自微博阿里的朋友分享」
(单击图片可缩放查看大图)
三、数据分析职业生涯规划
▊按照不同分析方法所能给人带来的智能程度,可以把分析能力划分为以下8个等级:
上面的8级划分源自SAS网站的Eight levels of analytics,由IDMer编译而成,个人觉得其中的8张图片非常形象生动,网友@数据小宇军用两个图表将它们更好地展示出来了:
▊数据分析师的级别:
1、数据跟踪员:机械拷贝看到的数据,很少处理数据
虽然这个工作的人还不能称作数据分析师,但是往往作这样工作的人还都自称是数据分析师,这样的人,只能通过×××系统看到有限的数据,并且很少去处理数据,甚至不理解数据的由来和含义,只是机械的把自己看到的数据拷贝出来,转发给相应的人。这类人发出来的数据,是否有意义,怎么解读,他自己是不知道的,只能期望收到数据的人了。
2、数据查询员/处理员:数据处理没问题,缺乏数据解读能力
这些人可以称为分析师了,他们已经对数据有一定的理解了,对于大部分数据,他们也知道数据的定义,并且可以通过监控系统或者原始的数据,处理得到这些数据。统计学的方法,这批人还是很精通的,统计学的工具,他们也是用起来得心应手,你让他们做一下因子分析,聚类肯定是没问题,各类检验也是用的炉火纯青。他们的不足是:1、如果不告诉他们命题,那么他们就不知道该应用什么样的方法去得到结论了。2、对于数据的处理没问题,但是却...
- ?
什么叫大数据分析
芷波
展开
大数据行业发展如火如荼,国家政策利好,互联网大佬纷纷在大数据行业布局,我们想让自己的职业生涯在一个朝阳行业发展,肯定又要学习相关技术,让自己与时俱进,但是难就难在大数据是一个新兴事物,目前我国大学的专业里面还鲜少有这个专业,国家刚批的大数据专业,全国目前35个高校,但是从17年开始招生,2021年才有第一批毕业生进入职场,在四年期间,是大数据行业发展的飞速时期,没有行业发展是等着人才进入的,而是需要要虚位以待、蓄势待发,所以在没有高等教育准备好的大数据教育,如何高效的学习大数据,如何快速的与行业发展想契合,那么需要我们成为第一个吃螃蟹的人,作为一个随着大数据行业成长的职业人,首先要知道大数据是个啥?
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
那来帮大家分析下:如何高效的学习大数据。
经常有初学者会问,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高……首先,如果你确定了想往这个方面发展,先考虑自己的过去从业经历、专业、兴趣是什么。计算机专业——操作系统、硬件、网络、服务器?软件专业——软件开发、编程、写代码?还是数学、统计学专业——对数据和数字特别感兴趣?
那么你能找师傅带吗?
但凡有这种想法的人,或多或少都会存有侥幸之心,或者叫做“天真,单纯”。希望不花一分钱,就能更快速的学到更优质,更实用的技能。
关于这一点,我只想反问一句你:“如果你是大师,你凭什么愿意带我?”
其实这就是想告诉你大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。
先说一下大数据的4V特征:
数据量大,TB->PB
数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等;
商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来;
处理时效性高,海量数据的处理需求不再局限在离线计算当中。
现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的:
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapReduce、Spark
流式、实时计算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie
······
第一步:初识Hadoop
1.1 学会百度与Google
不论遇到什么问题,先试试搜索并自己解决。
Google首选,翻不过去的,就用百度吧。
1.2 参考资料首选官方文档
特别是对于入门来说,官方文档永远是首选文档。
相信搞这块的大多是文化人,英文凑合就行,实在看不下去的,请参考第一步。
1.3 先让Hadoop跑起来
Hadoop可以算是大数据存储和计算的开山鼻祖,现在大多开源的大数据框架都依赖Hadoop或者与它能很好的兼容。
关于Hadoop,你至少需要搞清楚以下是什么:
· Hadoop 1.0、Hadoop 2.0
· MapReduce、HDFS
· NameNode、DataNode
· JobTracker、TaskTracker
· Yarn、ResourceManager、NodeManager
自己搭建Hadoop,请使用第一步和第二步,能让它跑起来就行。
建议先使用安装包命令行安装,不要使用管理工具安装。
另外:Hadoop1.0知道它就行了,现在都用Hadoop 2.0.
1.4 尝试使用Hadoop
· HDFS目录操作命令;
· 上传、下载文件命令;
· 提交运行MapReduce示例程序;
· 打开Hadoop WEB界面,查看Job运行状态,查看Job运行日志。
· 知道Hadoop的系统日志在哪里。
1.5了解它们的原理
MapReduce:如何分而治之;
HDFS:数据到底在哪里,什么是副本;
Yarn到底是什么,它能干什么;
NameNode到底在干些什么;
ResourceManager到底在干些什么;
1.6 自己写一个MapReduce程序
仿照WordCount例子,自己写一个(照抄也行)WordCount程序,
打包并提交到Hadoop运行。
不会Java的话,Shell、Python都可以,有个东西叫Hadoop Streaming。
如果能认真完成了以上几步,恭喜你,你的一只脚已经进来了。
第二步:更高效的WordCount
2.1 学点SQL吧
如果不懂数据库的童鞋先学习使用SQL句。
2.2 SQL版WordCount
在1.6中,你写(或者抄)的WordCount一共有几行代码?
如果用SQL的话:
SELECT word,COUNT(1) FROM wordcount GROUP BY word;
这便是SQL的魅力,编程需要几十行,甚至上百行代码,SQL一句就搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。
2.3 安装配置Hive
Hive算是数据仓库工具,安装不难,网上有很多教程,配置完成后,可以正常进入Hive命令行。
2.4 试试使用Hive
尝试在Hive中创建wordcount表,并运行2.2中的SQL语句。在Hadoop WEB界面中找到刚才运行的SQL任务。看SQL查询结果是否和1.4中MapReduce中的结果一致。
明明写的是SQL,为什么Hadoop WEB界面中看到的是MapReduce任务?
2.5 学会Hive的基本命令
创建、删除表;加载数据到表;下载Hive表的数据;并学习更多关于Hive的语法和命令。
0和Hadoop2.0的区别
MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);
HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;
自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;
会写简单的SELECT、WHERE、GROUP BY等SQL语句;
Hive SQL转换成MapReduce的大致流程;
Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;
从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。
第三步:把别处的数据搞到Hadoop上
此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。
3.1 HDFS PUT命令
put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。建议需熟练掌握。
3.2 HDFS API
HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。
实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。
可以尝试了解原理,试着写几个Demo。
3.3 Sqoop
Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。
就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。
自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。
了解Sqoop常用的配置参数和方法。
使用Sqoop完成从MySQL同步数据到HDFS;
使用Sqoop完成从MySQL同步数据到Hive表;
PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。
3.4 Flume
Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。
下载和配置Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;
PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。
3.5 阿里开源的DataX
之所以介绍这个,是因为以前某公司客户目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,个人感觉非常好用。现在DataX已经是3.0版本,支持很多数据源。你也可以在其之上做二次开发。
PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。
至此,你的“大数据平台”应该是这样的:
第四步:把Hadoop上的数据搞到别处去
前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?
其实此处的方法和第三步基本一致的。
4.1 HDFS GET命令
把HDFS上的文件GET到本地。需要熟练掌握。
4.2 HDFS API
原理同3.2。
4.3 Sqoop
原理同3.3。
使用Sqoop完成将HDFS上的文件同步到MySQL;
使用Sqoop完成将Hive表中的数据同步到MySQL;
4.4 DataX
原理同3.4
此时,“你的大数据平台”应该是这样的:
走完第三步和第四步的流程,那么你应该已经具备以下技能和知识点:
· 知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;
· 知道sqoop(或者还有DataX)是HDFS和其他数据源之间的数据交换工具;
· 知道flume可以用作实时的日志采集;
至此,对于大数据平台,应该已经掌握如何搭建Hadoop集群,把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。
接下来的问题就是,Hive使用的越来越多,你会发现很多不愉快的地方,特别是速度慢,
大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。
第五步:快一点吧,我的SQL
其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。因此SQL On Hadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。
目前我们的方案使用的是SparkSQL,至于为什么用SparkSQL,原因大概如下:
· 使用Spark还做了其他事情,不想引入过多的框架;
· Impala对内存的需求太大,没有过多资源部署;
5.1 关于Spark和SparkSQL
什么是Spark,什么是SparkSQL。
Spark有的核心概念及名词解释。
SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。
5.2 如何部署和运行SparkSQL
Spark有哪些部署模式?
如何在Yarn上运行SparkSQL?
使用SparkSQL查询Hive中的表。
PS:Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。
第六步:一夫多妻制
其实我想说的是数据的一次采集、多次消费。
在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面步节会有介绍),这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。
为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。
6.1 关于Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
6.2 如何部署和使用Kafka
使用单机部署Kafka,并成功运行自带的生产者和消费者例子。
使用Java程序自己编写并运行生产者和消费者程序。
Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。
至此,“大数据平台”应该扩充成这样:
这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。
总结:
为什么Spark比MapReduce快。
使用SparkSQL代替Hive,更快的运行SQL。
使用Kafka完成数据的一次收集,多次消费架构。
自己可以写程序完成Kafka的生产者和消费者。
前面的学习已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序)来完成,各个任务...
- ?
干货|关于大数据分析方法的深度思考
菌男
展开
本文作者:郭朝晖@蝈蝈创新随笔
本文是我关于大数据分析方法的几点思考。当初的目的是系统化地看待数据分析。为了这点东西,我花了一个礼拜的时间,思考的结果却是碎片化的。看来,想清楚并不容易。由于时间关系,只能中止。文字描述很不严格、肯定经不起推敲,读者找不毛病是正常的、看不明白更是正常的。不感兴趣的可以当做胡扯。我希望将来有时间时能把问题思考下去。
从数据中发现信息和知识,是人们多年来的梦想。随着大数据理论的兴起,这个话题变得非常热门。在有些人看来,大数据非常神秘,似乎无所不能。当然,现实不会是这样。我想,研究大数据,首先要破除迷信:大数据需要什么条件、什么问题是大数据无法做到的。
1、知识和信息,只能从关联关系中得到
对象(包括过程,如生产过程、购物过程)及其属性、同一对象的属性之间具备关联关系。例如,“张三身高1.8米”就是对象(张三)与属性(身高)的关联;再如,如果我们知道张三体重75公斤,则“1.8米”和“75公斤”之间就因“张三”建立了关联。
关联的对象可能并不确定:我们看到一张履历表,即便隐去名字、不知道这个人是谁,也知道其中的各种信息是与某人关联的。
在数字化的世界里,不和其他的符号(数字)关联的符号(数字)是不包含任何信息的。从不包含信息的素材,得不到包含信息的结论。
有人可能反对这个观点:谷歌曾经用“感冒”的搜索量预报流感啊,这里哪有关联呢?其实,只有搜索“感冒”的数量是根本无法预测流感的。谷歌的做法,是把“感冒”的搜索与搜索的地点、时间联系起来。
这个观点告诉我们:收集数据的时候,要尽可能地把关联关系建立起来;没有关联关系,数据很容易成为垃圾。这种情况并不少见:有些实验室,把针对同一试样的各项实验结果分别保存起来,而没有建立统一的ID、关联关系丢失。这样的数据,再多也没有用处。
2、人们要挖掘的知识和信息,就是找映射关系
知识(或信息)的发现与挖掘,其本质是寻找映射关系:通过已知的、对象的一部分属性,把对象的另外一部分属性或对象本身找出来(或缩小范围)。产生这类问题的原因是:只有一部分属性已知、容易得到、容易识别、容易表述,而另外一部分未知、不容易得到、不容易识别、不容易描述。
例如,我们可以说:张三就是那个穿红衣服的——这里“穿红衣服”比其他特征容易识别。从衣服识别出张三,就是从张三的衣着特征(属性)找到关联对象(张三)的信息;从一个人的身高预估他的体重,就是从一个根据一类属性估计另外一类属性。
我习惯于把信息挖掘和知识发现分开。
在本文中,信息挖掘指的是预测某个特定对象的属性,如上海市的人口是多少;知识发现是确定一类对象的属性之间的关系,如一类人群中身高和体重的关系。当然,这种区分不是绝对的。
3、映射关系的差别
正确的识别,最好的办法是找到好的素材(数据)。素材与结果之间的关联强度是不一样的:有的比较强,是因果关系、必然联系;有的比较弱,是相关关系、偶然联系。
例如,我们可以根据DNA、相貌、衣服来识别一个人。但三者相比,DNA的联系是强的必然性联系、衣服是弱的偶然性联系,相貌是介于两者之间的联系。大数据的一个著名案例,是网站根据客户买的药判断她已怀孕、并推送有关产品:因为这种药只有孕妇才吃,是很强的关联。
从数据得到的知识和信息,往往不是绝对正确。一般来说,可靠的结论基于可靠的数据和可靠的分析方法。数据量大了以后,滤除干扰的可能性增大,从而可以从原来可靠度低的数据中,得到可靠性相对较高的数据。
所以,尽量找到好的素材,是做好分析的第一步。
在很多情况下,我们找不到好的素材。这时,首先要做的尽量提高数据质量。数据质量不仅是精度问题,还包括数据来源的可靠性:为此,需要把数据来源的相关过程要搞清楚,否则很可能会误导人的分析。
4、相关与因果
有些相关性的背后,一般会有因果关系存在。两个要素由因果产生关联的机制大概可以分成两类:1、两个要素具有因果的关系:比如刚做父亲的青年人常会买尿布;2、共同原因导致的两个结果之间的关系:比如孩子的父亲会常买啤酒,也常买尿布;于是,啤酒和尿布就可能关联起来。
有些相关性,看似没有因果,但背后往往有某些特殊的规律或因素其作用(上述第二种情况)。比如,女孩子往往喜欢花衣服,与基因和文化的共性有关。但这种因果关系可能相隔太远,以至于难以考证了。
当人们需要根据关系作出决策时,需要研究因果的逻辑关系:到底是谁影响了谁。否则,根据分析结构的盲目行为可能适得其反。 “到底谁影响了谁”为什么会成为问题?大概有两类原因:
第一类原因是:忽视了时间因素。如“统计结果表明,练太极拳的身体差”。现实却是:很多人身体变差(包括衰老)以后,才练太极拳。一般来说,具有因果关系的两个要素之间,时间上有前后关系:原因早前,结果在后。
第二类原因是:忽视了前导因素。“公鸡一叫,天就亮了”。现实却是,天量之前的迹象被公鸡察觉到了。两者是第二种因果关系,只是看似“原因在后、结果在前”了。
一般来说,工业大数据分析更重视因果,而商务大数据分析对因果性的要求较弱。
5、数据分析的先导因素
从某种意义上说,数据分析的过程,就是寻找强的相关关系(必然性、因果性),或对弱的相关关系进行综合、得到强的相关关系。
用数据发现信息,需要用到各种知识。例如,把“云南白药是用于治疗外伤的”放入计算机,当某人购买白药的行为判断他或家人可能受伤,从而可以推荐相关产品。但注意到:这种类型的知识很可能是被人事先装入计算机的,而不是靠计算机自动学习得到的。
所有的学习过程,本质上都是基于这样一种假设:A和B的一部分属性类似,则推测另一部分属性也应该类似。例如,A和B的身高相似,则体重也可能相似。现实中,两个属性确实具有强烈的相关性,但身高相同而体重不同的也大有人在。这时,如果我们还知道他的体型,是瘦弱、偏瘦、正常、偏胖、肥胖型,对体重的估计就可以准确一些。由此可见,用数据发现知识的过程,本质上就是提高相关性、可靠性的过程。
一般来说,人们在做数据分析之前,一定会有一定的知识积淀, 但认识不清却是一种常态;人们希望通过对数据的分析,来改变这种常态。而改变认识的过程依赖于数据的质量和分析数据的方法。所以,刨除分析方法外,分析过程依赖于两个先导性因素:1、数据质量(包含多方面的含义)如何;人们已有的认识如何。
注意,这段说法有个潜台词:强调了人类可认识的知识,而不是机器用复杂函数关系表述的、人类难以用逻辑关系认知的知识(如神经元)。的确如此,笔者一直认为:这类方法的作用被学术界有意识地夸大了。
6、数据分析的过程
与商业大数据相比,工业大数据更重视可靠性和精确性。在很多情况下,猜出一个结论并不难,难的是论证一个结论。一般来说,凡是可靠的知识,都应该能够被机理和数据双重认证。
大数据分析的一个重要特征是:传统概率理论的假设往往不成立。例如:大数定理的条件往往不成立、模型的结构往往未知、因果关系不是天然清晰、自变量的误差往往不能忽略、数据分布往往是没有规律的。所以,为了得到可靠的结果,人们工作的重点很可能是验证这些条件、构造这些条件。从某种意义上说,数据分析的过程,主要是排除干扰的过程、特别是排除系统干扰的过程。而且,如果完全依照逻辑、用纯粹数学的办法加以论证,则数据需求量会遭遇“组合爆炸”,永远是不够的。这时,已有的领域知识就是降低数据需求量的一种手段。要记住:求得可靠性是一个过程而不是结果、可能永远没有终点;分析的过程只是不断增加证据而已。这个过程,是修正人的认识的过程;所以,错误或不恰当的认识常常是分析过程中最大的干扰——这个干扰一旦去除,我们可能就发现了真正的知识。
数据量大的直接好处,是排除随机性干扰。但排除系统性干扰却不那么容易,数据量大是必要条件但不充分,需要深入的方法研究才能解决问题。
系统性的干扰往往体现在:对主体进行分组,所体现的规律是不同的。比如,身高和体重的统计关系,男女是不同的、不同民族是有差异的、可能与年龄有关。如果不进行分类研究,统计的结果就会与样本的选取有很大关系。但分类研究也会遇到一个困难:遭遇组合爆炸,数据再多都不够用。这时,“领域知识”就会发生作用:
认定一个结论成立的办法,是确认它的“可重复性”。在许多情况下,“可重复性”指的是在各种分组下都成立的结论:最好能在不同时间分组中也能成立。分组越多、分组的维度越多、结论的可靠性越高。
但具有“可重复性”的结论,往往只在一定的范围内成立。在很多情况下,“明确结论成立的范围”也是数据分析的重要内容。
如何分组、如何确定范围、如何构筑逻辑链条、数据结果的解读、数据结果与领域知识的融合,都是重要的能力。事实上,根据领域知识,常常用于构造证据链、进行有效的数据选取和分组。
在精密论证时,我们就会发现:基础数据的质量很重要。因为许多干扰就来源于数据本身。从某种意义上说,数据的采集方法和环境不同,就是不同的数据。
在构建数据分析体系的过程中,也会发现,企业经营的数据分析也确实需要一个可展示的平台,实时展示业务,有问题就优化更新。
FineReport 数据决策系统
7、关于预测数字
许多问题分析的目的得到一个数字:如钢的强度、用电量、人口数量、钢产量。这类问题的特点之一是:最终的结果是各种影响因素相加得到的。
对于这种问题,我的观点是:要想得到可靠的结果,一定要拆成若干子问题来分析。其中,各个子问题要尽可能利用规律性的结果来分析。我认为:把人的认识和数据用到极致的时候,才能得到最好的结果。随便地建立回归模型是不懂数据的表现。
- ?
关于数据分析的4点心得:维度、指标、KPI
卫天蓉
展开
1、看数据看维度
在对某一项业务或者业务的某个模块进行分析时,可以从大小两个角度去切入分析。
首先站在广阔的视角去看待一些数据。比如对某个产品(消费品),就要分析在大环境下是一个什么样的数据,如市场排名,市场占有率。还要记录市场整体波动情况,竞品的数据。这些一般可以通过第三方调研机构或者行业报告获得。
FineReport数据报表看板
然后需要分析针对这个产品你内部关心的数据是什么。比如每月每周的销售量,各渠道的销售量,广告、促销活动、线下活动、联合活动等带来的销售的提升和品牌知名度的提升。
当了解完以上的数据,就应该对这个产品方方面面的情况有个宏观的了解,对需要提升哪些数据指标有一个清晰的认识。之后就是细化到某个模块维度进一步分析,比如电商渠道需要关注的多一些,DAU、WAU、客单价、复购、用户流失等等,每个模块都可建立漏斗信息。实际分析时还要关注数据异常,做针对性分析。
2、什么是好的数据指标?
并不是所有的数据字段都可以当做指标。在选择监测的数据指标前可以先问自己几个问题:
一对于这个产品你核心关注的是什么?比如销售增长率、市场占有率?
二这些指标能够反映这个产品的走向趋势么?如果这些指标变好了能否说明公司是在往好的方向上发展?
三这个指标是否可控,能否操作?如果有些指标你目前的技术根本无法统计到,那也是无济于事。
四指标系设立是否严谨不存在漏洞。描述一个产品的一定是有系列指标,这些会标是否能完全的说明情况,在验证你的假设结论时,是否能完全支撑。
再来说说指标的数据和分析。
有时候数据本身也存在欺骗性,比如这个月的销售额是600W,另外两家最大竞品分别是300W和250W,似乎加起来也没有我们大。但是事实上,我们上个月的销售是800W,竞品分别是200W和180W。数据看上去很漂亮,但是按对比和比率来讲我们远下降了。
所以,好的数据最好一定是以比率的形式存在,要有对比性质的相对数据。
单纯一个或几个数据情况是没有意义的,点连成线,线构成面去展示,用图表展示一段时间的整体趋势,才能客观评价产品的健康程度。通常我们用BI或者报表搭建数据看板(dashboard)监测重要的数据指标。
FineReport数据报表看板
数据分析要有目的性,不要被数据迷惑。上面的数据就是只关注了销售额情况,但忽略了整体分析而导致的表面欺骗。
3、发现数据异常,该从哪几个维度去分析?
有时候总量的角度是无法看出问题的,比如销售额、UV下降了,我们需要进一步细化去分析。看销售额总量的时候明显是下降了,先确定大的市场有没有波动,竞争对手有没有动作,需要查看市场总额以及竞争对手每个品类的数据。然后分析自身,每个渠道的销售额情况监测,每个区域的销售额情况,每个时间段的销售情况,把活动时间比如五一的数据扣除拟合,将有问题的标记出来。如果是渠道问题优化渠道,如果是市场波动,需要全局考虑战略和市场对策。
所以如果是销售额的分析,需要从渠道、活动时间点、地域等情况去深入分析。比如,是不是因为十一的活动导致销量有个明显的上升趋势?是不是因为上周搞了促销活动,导致本周一线业务员有个消极缓冲的时段,整体销售额低迷。
另外,数据一场也不是什么坏事,如果再数据分析过程中发现某数据表现极好,比如某渠道的销售增长率很高,是不是可以思考为什么会这样,有什么好的经验借鉴,甚至是不是要考虑调整渠道的投放比率。
4、不同阶段的关键性指标应该是随着业务的变化而变化的
在做数据分析前,我们会确定分析的目标,每个阶段不同。以电商渠道为例,有时候是分析各类活动效果以进一步优化方案或者挑选最合适的方案,留下分析模型以便后续活动对比预测;有时候是研究广告投放,在预算内让营收最大化;有时候是增强用户粘性,提高用户活跃度。
所以不同阶段无论是关键性指标还是KPI都要做相应调整。比如产品投放初期,关注用户数、订单数,后续考虑用户活跃度,回购率,客单价等等。
- ?
入门必备!数据分析的3大思维和7种技巧
Megan
展开
为什么数据分析思维重要
如果我们在分析一个问题前,思维缺失就像下面图中所表达的一样,往往不知道问题从哪里下手,在这个时候就轮到平时锻炼的数据分析思维了。
核心数据分析思维
结构化
可以看作金字塔思维,把待分析问题按不同方向去分类,然后不断拆分细化,能全方位的思考问题,一般是先把所有能想到的一些论点先写出来,然后在进行整理归纳成金字塔模型。主要通过前面介绍的思维导图来写我们的分析思维。
案例现在有一个线下销售的产品。我们发现8月的销售额度下降,和去年同比下降了20%。我想先观察时间趋势下的波动,看是突然暴跌还是逐渐下降。再按照不同地区的数据看一下差异,有没有地区性的因素影响。我也准备问几个销售员,看一下现在的市场环境怎么样,听说有几家竞争对手也缩水了,是不是这个原因。客户访谈也要做,但是往常一直找不出原因,这次我也不抱希望,姑且试试吧。要是还找不出原因,那我也很绝望啊。
公式化
在结构化的基础上,这些论点往往会存在一些数量关系,使其能进行+、-、×、÷的计算,将这些论点进行量化分析,从而验证论点。
业务化
业务化即是深入了解业务情况,结合该项目的具体业务进行分析,并且能让分析结果进行落地执行。用结构化思考+公式化拆解得出的最终分析论点再很多时候表示的是一种现象,不能体现产生结果的原因。所以需要继续去用业务思维去思考,站在业务人员或分析对象的角度思考问题,深究出现这种现象的原因或者通过数据推动业务。
增加业务思维方法:贴近业务,换位思考,积累经验
数据分析的思维技巧
在数据分析中,三种核心数据分析思维是框架型的指引,实际应用中还是需要很多技巧工具的。7种数据分析技巧,它们分别是象限法,多维法,假设法,指数法,二八法,对比法,漏斗法。
象限法
通过对两种维度的划分,运用坐标的方式表达出想要的价值,由价值直接转变为策略,从而进行一些落地的推动。象限法是一种策略驱动的思维,广泛应用于战略分析,产品分析,市场分析,客户管理,用户管理,商品管理等。
下图是RFM模型,把客户按最近一次消费(Recency)、消费频率(Frequency)、消费金额 (Monetary)三个维度分成八个象限。
菜品销售增长率和销售利润
多维法
多维法是指对分析对象从多个维度去分析,这里一般是三个维度,每个维度有不同数据分类,这样代表总数据的大正方体就被分割成一个个小方块,落在同一个小方块的数据拥有同样的属性,这样可以通过对比小方块内的数据进行分析。如图,这是一个快餐店的外卖订单多维表:
虽然只有下单时间、菜品名称、平台三个维度。但根据这个立方体,已经能解决很多掌柜急需了解的问题了。
我们可以通过切片实现每个平台每种菜品的销量,每个月每种菜品的销量,某个月某平台菜品销售情况等等操作。
假设法
在一些情况下,如进入新市场的销量、商品提价后销量的变化情况,可能没有明细数据进行分析,那么就需要用到假设法。假设法也就是假设一个变量或者比率成立,然后根据部分数据进行反推,这是一种启发思维的技巧,一般过程是先假设后验证然后判断出分析结果。
例题:你是自营电商分析师,现在想将商品提价,你分析下销售额会有怎样的变化?解答思路:首先可以确定销量会下降,那么下降多少?这里就要假设商品流量情况,提价后转化率的变化情况,然后根据历史数据汇总出销量下降百分百,从而得出销售额的变化情况。
指数法指数法
指数法是把某个数据多个指标按一定的计算转化为同度量的一个值,这个度量值称为指数。例如在一场游戏竞技比赛中要确定该场的MVP,则是需要根据击杀数、死亡数、助攻数、经济、补兵等指标进行综合计算出一个得分,得分高的为MVP。
指数法常用的有线性加权、反比例、log三种。线性加权即是把每个指标乘以一个系数后相加,反比例即是用数学上的反比例函数y=k/x变化后在计算,log即是数学中所说的对数一般以2为底数或者10为底数。指数法使用没有统一标准,一般是根据经验来做,将无法利用的数据加工成可以可利用的。例如,NBA计算最有价值球员的指数参考:
二八法
二八法即是二八法则也可以叫做帕累托法则,比如在个人财富上可以说世界上20%的人掌握80%的财富。而在数据分析中,则可以理解为20%的数据产生了80%的效果需要围绕这20%的数据进行挖掘。往往在使用二八法则的时候和排名有关系,排在前20%的才算是有效数据。二八法是抓重点分析,适用于任何行业。找到重点,发现其特征,然后可以思考如何让其余的80%向这20%转化,提高效果。
对比法
对比法就是用两组或两组以上的数据进行比较,常见的是用于在时间维度上的同比和环比、定基比,与竞争对手的对比、类别之间的对比、特征和属性对比等。对比法可以发现数据变化规律,使用非常频繁,多与前面的技巧结合使用。
漏斗法
漏斗法即是漏斗图,有点像倒金字塔,是一个流程化思考方式,常用于像新用户的开发、购物转化率这些有变化和一定流程的分析中。不过,单一的漏斗分析是没有用的,不能得出什么结果,要与其它相结合,如与历史数据的对比等。
下图我用BI商业智能工具FineBI连接了CRM系统的数据,对客户的行为数据做了漏斗图形式的展现。
- ?
大数据分析需要五大基本资源!
钱觅翠
展开
在网络,移动设备,传感器,社交媒体,交易应用程序,日志文件,大数据等实时数据泛滥的情况下,发现了大量垂直市场应用程序,从诈骗检测到科学研究。无论涉及重大隐私问题或企业困难的挑战如何,仅在2017年,大数据投资就获得超过570亿美元的增长势头。预计未来三年的投资将以约10%的年增长率进行增长。
大数据分析所需的基本资源
大数据咨询已成为软件开发服务提供商的可行选择。无论是营销还是品牌实施的新产品,公司都不会轻易作出决定。当提到任何重大举措时,企业都会寻找他们客户提供的数据,以确保公司正朝着观众遵循的方向发展。
从点击流数据到购物车上的信息,都有大量的材料需要筛选,这就是为什么企业支付高价值的大数据咨询服务才能理解这一切。对于新职业市场的人来说,大数据分析是一个不错的选择。 当然,必须熟悉开始处理数字所需的技能和工具。
大数据分析所需的五个资源如下:
1.完成MATLAB Mastery Bundle
MATLAB或Matrix是一个多范型数字计算空间和编程语言。用外行人的话来说,它是一种工具,它使得编写代码,运行脚本以及执行数据分析和可视化等任务变得轻松易懂,从而解决复杂问题,而这些代码还不那么复杂。
2. Python Power Code BONUS Bundle
市场上有许多重要的编程语言可供选择,数据分析师使用其日常任务和职责中的很多。但是,如果有人要先学习,那就是Python。 Python语言被誉为用户友好型以及直观性。此外,它拥有众多的功能,这使它能够处理数据争夺。 70小时的培训通过展示如何下载,提取,清理,汇总,分析和可视化数据,开始了编程教育。
3.大数据和分析主工具包
数据分析师和高级分析咨询人员使用大量的语言和工具来获取角色,这并不足为奇。这四个模块集合为数据库添加了四个重要的分析工具,即Minitab,SPSS,SAS和R Studio。
4.使用Tableau Desktop 9 Bundle进行数据可视化
通过交互式仪表板分析和呈现数据以完全挖掘信息的主要工具之一是Tableau 9.这个收集将使您了解Tableau。因此,可以开始创建自己的可视化数据。
5.完整介绍R编程包
R的核心是一种统计编程语言,它非常适合挖掘和分析数据。但是,它也具有高级图形和机器学习功能,在数据可视化和集成复杂算法方面提供了一些独特的优势。在五门课程和三本电子书中,收集指导通过要点使用R来充分发挥潜力。
大数据优势
大数据应用程序可让数据科学家,统计人员和其他分析专业人员分析越来越多的结构化数据以及其他形式的数据,而这些数据往往不被传统的商业情报和分析程序所利用。这涵盖了非结构化和半结构化数据的组合,例如互联网点击流数据,网络服务器日志以及来自客户电子邮件的文本,机器数据,社交媒体内容和通过连接的传感器到事物互联网的呼叫细节记录。
在更大的范围内,数据分析技术迎合数据集分析的手段,并最终帮助企业做出充分知情的决策。商业智能查询回答关于业务绩效和操作的基本查询。大数据是一种高级分析,涉及复杂的应用程序元素,如预测模型,统计算法等。
用数据咨询创造新的增长机会
数据分析可以创造大量新的增长机会。此外,它甚至可能会产生一个新的业务类别,例如分析和汇总行业数据的类别。大多数企业将处于大量关于服务和产品,供应商和买家,消费者偏好和意图以及更多信息流的信息中。
各行各业的企业都应该开始大力创造数据功能。除了广泛的数据外,数据的高频率和实时性也是至关重要的。通过数据分析,实践被更广泛地使用。
今天的大数据和分析应用市场真是巨大。世界各地的软件开发服务提供商提供了大量的数据咨询工作。现在,大数据体验意味着更有可能从软件开发组织获得有利可图的工作。市场很大,有一系列的项目,交易,服务和合作关系。咨询服务可能会有所不同,具体取决于组织的特定要求,以及需要利用数据分析和解决方案的功能,这些功能可以简化业务流程。
- ?
最常用的四种大数据分析方法
虚浮
展开
本文主要讲述数据挖掘分析领域中,最常用的四种数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。
当刚涉足数据挖掘分析领域的分析师被问及,数据挖掘分析人员最重要的能力是什么时,他们给出了五花八门的答案。
其实我想告诉他们的是,数据挖掘分析领域最重要的能力是:能够将数据转化为非专业人士也能够清楚理解的有意义的见解。
使用一些工具来帮助大家更好的理解数据分析在挖掘数据价值方面的重要性,是十分有必要的。其中的一个工具,叫做四维分析法。
简单地来说,分析可被划分为4种关键方法。
下面会详细介绍这四种方法。
1. 描述型分析:发生了什么?
这是最常见的分析方法。在业务中,这种方法向数据分析师提供了重要指标和业务的衡量方法。
例如,每月的营收和损失账单。数据分析师可以通过这些账单,获取大量的客户数据。了解客户的地理信息,就是“描述型分析”方法之一。利用可视化工具,能够有效的增强描述型分析所提供的信息。
2. 诊断型分析:为什么会发生?
描述性数据分析的下一步就是诊断型数据分析。通过评估描述型数据,诊断分析工具能够让数据分析师深入地分析数据,钻取到数据的核心。
良好设计的BI dashboard能够整合:按照时间序列进行数据读入、特征过滤和钻取数据等功能,以便更好的分析数据。
3. 预测型分析:可能发生什么?
预测型分析主要用于进行预测。事件未来发生的可能性、预测一个可量化的值,或者是预估事情发生的时间点,这些都可以通过预测模型来完成。
预测模型通常会使用各种可变数据来实现预测。数据成员的多样化与预测结果密切相关。
在充满不确定性的环境下,预测能够帮助做出更好的决定。预测模型也是很多领域正在使用的重要方法。
4. 指令型分析:需要做什么?
数据价值和复杂度分析的下一步就是指令型分析。指令模型基于对“发生了什么”、“为什么会发生”和“可能发生什么”的分析,来帮助用户决定应该采取什么措施。通常情况下,指令型分析不是单独使用的方法,而是前面的所有方法都完成之后,最后需要完成的分析方法。
例如,交通规划分析考量了每条路线的距离、每条线路的行驶速度、以及目前的交通管制等方面因素,来帮助选择最好的回家路线。
结论
最后需要说明,每一种分析方法都对业务分析具有很大的帮助,同时也应用在数据分析的各个方面。
原文链接:http://kdnuggets/2017/07/4-types-data-analytics.html
转载请注明出自:葡萄城控件
关于葡萄城
葡萄城是全球控件行业领导者,世界领先的企业应用定制工具、企业报表和商业智能解决方案提供商,为超过75%的全球财富500强企业提供服务。
- ?
关于大数据分析的六个基本方面
天问
展开
大数据时代的到来,越来越多的人选择学习大数据,那关于大数据分析的六大基本方面是哪些,一起来了解一下
可视化分析
不管是对数据分析专家还是普通用户
数据可视化是数据分析工具最基本的要求
可视化可以直观的展示数据
让数据自己说话,让观众听到结果
数据挖掘算法
可视化是给人看的,数据挖掘就是给机器看的
集群、分割、孤立点分析还有其他的算法
让我们深入数据内部,挖掘价值
这些算法不仅要处理大数据的量
也要处理大数据的速度
预测性分析能力
数据挖掘可以让分析员更好的理解数据
而预测性分析可以让分析员根据可视化分析和数据挖掘的结果
做出一些预测性的判断
语义引擎
我们知道由于非结构化数据的多样性带来了数据分析的新的挑战,我们需要一系列的工具去解析,提取,分析数据。语义引擎需要被设计成能够从"文档"中智能提取信息
数据质量和数据管理
数据质量和数据管理是一些管理方面的最佳实践
通过标准化的流程和工具对数据进行处理
可以保证一个预先定义好的高质量的分析结果
数据存储,数据仓库
数据仓库是为了便于多维分析和多角度展示数据按特定模式进行存储所建立起来的关系型数据库。在商业智能系统的设计中,数据仓库的构建是关键,是商业智能系统的基础,承担对业务系统数据整合的任务,为商业智能系统提供数据抽取、转换和加载(ETL),并按主题对数据进行查询和访问,为联机数据分析和数据挖掘提供数据平台
成都加米谷大数据科技有限公司
个人培训 丨 企业内训
成都市高新区天府二街蜀都中心1栋705
关于的数据分析
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并