查看原文
其他

解锁数据分析的正确姿势:描述统计(2)

2017-08-23 秦路 Python爱好者社区

点击上方图片查看配套视频教程

作者:秦路,天善智能特约专家。资深数据分析师,数据化运营专家。擅长结合运营和数据,建立数据化运营体系。

个人公众号:秦路(微信ID:tracykanc)


本文是《如何七周成为数据分析师》的第十三篇教程,相关视频教程【秦路主讲,七周成为数据分析师】如果想要了解写作初衷,可以先行阅读七周指南。温馨提示:如果您已经熟悉统计学,大可不必再看这篇文章,或只挑选部分。

描述统计学,往往研究数据的集中和离散。其中,各数据出现次数的情况,也是重要的一个研究方向。

频数分布表示互不重叠的组别中每一组项目的个数。在分类型数据中,频数分布就是各个分类类目的总数。


上图就是数据分析师的岗位,按城市统计出的频数表,即各个城市的岗位数量。从应用角度看,数据透视表是专门用来计算频数的。我们也能把频数转换成百分比占比,这更直观。

如果将其转换成图表,叫做条形图。饼图也可以描述频数,但是不常用。


数值型数据也适用于频数分布。以薪资数据为例,因为薪资千差万别,若粗暴地转换成条形图,就会丧失可读性。

数值型数据必须经过分组转换,将数据划分到一个个区间范围内,可以间接认为把数值其转换成了分类数据。从业务角度理解,18和18.1、17.9的差异并不大,为什么不视为一组呢?

组数划分一般选择5~20组,数据量越大,划分的组数就能越多。划分的不同区间范围叫做组宽,组宽是人为定义的,组宽最好等距。用1~80与81~100计算两组的频数,没什么意义。

组宽和组数的选择相辅相成,组数多,组宽相对小,反之亦然。组宽=(最大值-最小值)/组数。我们将案例数据的组宽定义为5,即0~4,5~9,10~14……

用Excel函数 = int(( salary +1)/5)即可正确获得分组后的结果,0代表0~4,1代表5~9。另外一种方式是用frequency( )函数,以数组形式输出。数据分析工具也能绘制频数表。


因为每一个数据只能属于一个组,所以要规定组的上下限。上文划归的0~4组宽,实际是零到除五之间的数值,包括4.99这类。因为数值型数据可以连续地划分,分类数据没有这顾虑。

分组的过程也叫数据分桶bin,它是常见的一种数据清洗过程。在机器学习中,能提高模型泛化能力。

将汇总的结果生成条形图,调整系列样式,系列重叠和间隙宽度均为0。它的正式名字叫直方图。


条形图和直方图最大的区别在于矩形的间隔。直方图的矩形没有间隔,之间完全重合(图中的白线是为了显示清楚才加上的)。因为数值型数据的特点是连续性,不能有空档造成断开。

图中的直方图并不标准,横坐标的数字应该为[0,5,10,15,20…]且位于白线下方。我这里略过了。

频数既能用相对数表示,也能用百分比表示。区别在于纵轴。后者用于方便对比。

直方图的一个重要应用是提供了分布信息。不同直方图代表的业务意义不同。需要注意的是,分组将直接影响直方图的外形。


标准型的形态往往是中间高,两边低,呈中间的集中趋势。它代表一种稳定正常的形态。


双峰型,一般是混合了多种数据源或者类别数据造成的。


锯齿型,一般是观察数据的手段和方法不稳定,才会造成直方图的波动。


孤岛型的直方图,一般是业务上的非正常错误,比如工程零部件出了问题、产品出现了某Bug,造成凸出一块。


陡峭型,往往是数据源缺失,或者被剔除一部分后,造成这种断崖式的折断。


偏峰型,分为左偏峰和右偏峰。我们也把它称呼为偏态,上图是一个右偏态。

偏态是分布形态中的一种重要数值度量。很多数据并不呈现完全对称的分布,比如中国工资。

在统计学上,众数和平均数之差可作为偏态的划分指标之一。如果平均数大于众数,称为正偏态/左偏态;相反,则称为负偏态/右偏态。

为了更好的描述偏态的倾斜程度,我们引入偏态系数sk,sk=0时不偏不斜。另外还有一个峰度系数ku,描述分布的扁平瘦窄,ku以3为标准基准。两者组合,当 sk=0,ku=3时,分布呈正态;sk>0时,分布呈正偏态,sk<0时,分布呈负偏态;ku>3时曲线比较陡峭,ku<3时曲线比较平坦。


偏度和峰度的具体计算,用Excel的skew和kurt函数。数据分析库的描述统计也行。

直方图的左右偏度,对应着不同的业务场景。左偏的典型业务场景就是考试成绩,大部分学生集中在60~90之间。而和钱有关的直方图,基本是右偏,比如销量、流水、消费等。

理论讲完了,继续用数据分析师的薪资实战,偷懒用python代码完成了,Excel作图真的很累的……

先观察整体的直方图,我们将其切分成二十组(和上文Excel图表的差异在于组宽组限的变化)。


这个数据同时呈现了双峰型和右偏型的分布。双峰型可能是因为我们混合了一二三线城市的数据,而右偏是因为薪资和钱有关,毕竟不是所有的数据分析师都能拿高薪。

单纯过滤出北京的数据。

分布还是呈现乱七八糟的样子,为什么呢?因为我们选取的薪资是网络爬虫获取的薪资范围求平均,并不是真实的水平(很多HR复制黏贴瞎设的),这是不可避免的误差,那应该怎么办呢?可以适当的调整组数。


组数为十后,分布正常了不少(实际工作中,可以把极大值排除再做直方图)。那么接下来进入分析的环节,之前我们用了箱线图,现在学习直方图吧。它的奥秘也在于对比,通过对比不同的频数,获得洞察。选择北京和上海看一下,纵轴改成百分比。


调成ggplot的色系更直观一些,红色代表北京,绿色代表上海。图中明显可以看出两地在10~30之间的薪资差异。上海集中在10~20间,北京则是20~30区域更多。组数调大,可以分析地更细。


城市换成上海和深圳,则是另外一种解读了。

到这里,描述统计的内容就结束了。描述统计是分析数据的一种技巧,包含数据的集中度量(平均数、中位数、众数)、数据的离散(方差、标准差)、数据的分布(箱线图、条形图、直方图)三块。

希望大家养成使用描述统计的习惯,下一章,开始概率的世界:为什么你认为的,都是错的。

想了解更多干货就使劲戳戳戳~~~

天善智能年度数据分析扛鼎之作,秦路主讲,七周成为数据分析师课程。
人气讲师,期盼已久,潜心打造,不负众望!
涵盖基础、业务、思维、工具、方法等方面皆具,提纲挈领!
给自己一段七周之旅,奠定基石基础,踏上数据分析师之路!

点击阅读原文或扫码咨询

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存