当你面对一个新的数据集,如何开始观察和分析。如同面对崇山峻岭,你所在的位置,观察的角度,都会塑造不同的分析效果。
- 维度
小伙伴们都学过平面几何,最开始是一维结构。
只有一个x轴,轴上所有的点组成集合。每个点用x值(该点到原点的距离)描述。
接着扩展到二维结构:
X轴和Y轴组成平面,平面上所有的点构成集合,每个点用x值和y值描述。
随后是三维结构:
X轴,Y轴,Z轴构成空间,空间中的每个点用x,y,z三个值描述。
开个脑洞:我们生活在长,宽,高组成的三维空间中,能够感知到第四个维度——时间。三体中的降维打击就是把太阳系变为二维,生命自然不复存在。假如是来自更高维空间的生命,他们是否能够在时间中自由穿梭?
- 数据的维度
这些和数据分析有什么关联呢?因为数据也有它的维度。描述一个样本时(一件商品,一次交易),会通过不同的属性来表达它的特征。
例如每个学生可用这些属性来描述(学号,姓名,性别,院系,……)
每个属性就是一个维度,每个维度具备自己的取值范围和数据类型。这种按照固定模式描述和储存的数据称为结构化数据。结构化数据的储存方式各有不同。
可以是txt文件:
也可以是Excel文档:
也可以是SQL Server,My Sql等各种类型的数据库。无论是哪种文件形式,加载到dataframe之后,都会成为下面形式的表格:
一个n列的表,可以映射到n维向量空间中。有时需要处理多维的数据集,例如金融机构的大数据风控模型,维度会高达数千。可以想象其计算会非常复杂。通常使用降维技术进行处理,即通过数学方法,甄别出哪些属性是对分析目标至关重要的,哪些是无足轻重的并将其抛弃。
这是一张销售渠道表,也是要使用的示例数据,其中包含(Account,Client, Rep,Manager,Quantity,Price,Status,Date)八个维度。从特定维度进行分组统计,可以获得不同信息。
按客户维度分组,观察每个客户的订单总金额和商品总数,判断大客户和有待发掘的客户。
按经理维度分组,观察每个经理的订单总金额和商品总数,这可是一个重要的绩效标准
。
经理维度和销售代表维度结合,查看每个经理手下,销售代表的订单总额和订单个数。
再把产品维度添加进来,查看每个销售代表的每种商品销售情况。
Manager维度和status维度结合,查看每个销售经理的订单总额和订单个数(len计算的是这一组的记录有多少条)。Debra和Fred的订单总数差不多,但是Fred有3笔订单是won状态,Debra只有1笔,Fred的订单成功率明显更更高。
- 数据字典中的维度
商业分析中,设计数据字典时,也会提到维度这一概念。它其实是在数据集维度基础上的一个概括和抽象,可以想象为若干个属性的组合。
上图来自解密大数据社群一期课程内容。
同样是分析销售数据,时间维度可以细分为“日、周、月、季、年”,即对某一时间段的数据进行统计。假如数据集中包含地理位置信息,地理位置的维度可以包括“纬度”、“经度”或“城市名称”等属性。
注意:某些数据分析文章中会出现“二维表”一词,这里的“二维”是指表格由行、列共同构成,与表格中每个属性所对应的“维”又是不同的概念。不管该表有多少个属性,都可以称它为二维表。
- 指标
指标是指可以按总数或比值衡量的具体维度元素(网络定义)。个人理解:在具体维度的基础上,取特定数值进行运算,使之成为有参考意义的衡量标准,就是指标。
上述对销售表的各种统计信息,都可以成为指标。具体采纳哪些,取决于管理部门和数据分析部门对业务和考核指标的理解。考虑更复杂的情况,计算每个经理或每个销售代表的订单分布,成功的占比多少,失败的,待定的分别占比多少,比起直接计算订单总额是不是更加合理?
总结:面对新的数据集,先理解其中各维度的信息,再思考怎样从原始数据中生成指标,设计指标体系,这是数据分析的基本技能。
本文刻意不涉及任何代码,首先要理解数据模型包含的信息,数据指标从何而来,才能更好地利用代码实现。你也可以展开更多思考,比如每个客户的平均订单金额(客单价),订单数目该如何计算。或者找一个数据集,为它设计一个指标体系。
想了解解密大数据社群数据分析课程,请关注: