一、数据挖掘&算法前奏之data exploration做什么
一个数字序列,如何通过简单的统计指标,直接&直观地描述这个数字序列的一些基本属性,是数据处理与理解的刚需。做数据挖掘和机器学习以及任何与数字序列相关的算法工作之前,一般,我们都做一做data exploration的工作,意思大概就是说,要首先看看这个数字序列的:
基本统计指标是什么,
有什么明显的数字趋势可见,或者符合什么明显的概率分布,
多维特征的话,维度彼此之间,有什么简单明了的关系。
在 可汗学院公开课:统计学> 均值 中位数 众数 和 可汗学院公开课:统计学> 极差 中程数
第1节和第2节中,就是讲data exploration中的第一步:数字序列的基本统计指标是什么。
二、基本统计有哪些,怎么定义的
简单来说(以数字序列X为例):
- mean(均值) = 算术平均值 = (x1 + x2 + … + xn) / n
- median(中位数) = 对X按值排序(从大到小或从小到大),取数列排序后处于中间位置的数xi;当序列X的元素个数为偶数时,则有2个数字同时处于中间位置,此时中位数取这中间2个数的平均值
- mode(众数) = 序列X中,出现频率最多的那个数
- range(极差或全距) = 数列X中最大值与最小值之间的差值,用于描述X的数字分散程度,越小则数字之间越紧密
- midrange(中程数) = 数列X中(最大值 + 最小值)/2
三、优缺点和应用场景,集中趋势和发散趋势
上述5个基本统计指标,其实,都是用来描述数字序列X的某种意义上的数字集中趋势的,只是角度不同而已(1、2、3是从收敛的角度、4、5是从发散的角度)。各自的特点,或者说优缺点以及应用场景如下:
优点 | 缺点 | 应用场景 | |
---|---|---|---|
均值 | 最具有良好的数学性质,对于生活中常见的较为对称的以正态分布为基础的各种现象,有广泛的应用。而且考虑了数列中每个元素的情况,信息量全 | 容易受到数列X中极端值(极大或极小)的影响,比如中国城市家庭平均资产247万人民币? 西南财大报告引热议 中的笑话 | 数字序列X表现出较为明显的对称分布(正态)的情况下,如身高、智力等分布。当数据呈对称分布或接近对称分布时,均值、中位数、众数相等或接近相等,这时应选择均值作为集中趋势的代表值,因为均值包含了全部数据的信息 |
中位数 | 中间位置上的代表值。其特点是不受数据极端值的影响 | 有可能中位数不在数字序列中(数列元素个数为偶数时),造成理解上的困惑 | 当一组数据中的个别数据变动较大时,可用中位数描述其趋势。对于偏态分布,具有较好的应用,比如互联网与生物领域常见power-law分布,与之对应的,还有xx分位点的说法,常见的有1Q,3Q分位点,即25%、75%分位点。 |
众数 | 简单易理解,不受数据极端值的影响 | 可能不唯一性,一个数字序列,可能有多个众数(频次相同且最大);或者没有众数(数字序列中每个数都只出现1次) | 当一组数据中某些数据重复出现较多的场景。特别适用于偏态分布,对于对称分布也可以应用 |
极差 | 简单易理解,计算简单明了 | 受数据极端值影响,反应数列离散程度也较粗糙,不能反应数列内容的发散情况,即使样本不大,极差带来的发散误差也较大 | 只能用于粗略地说明数据的变动范围 |
中程差,与极差具有类似的性质,只是计算方式有所改变而已。
四、发散趋势的引申:极差 ->方差->标准差->变异系数
极差 -> 方差:
为了应对极差的明显缺点,如果要很仔细很全面地考察数列的发散程度,就必须考虑数列中每个元素的彼此发散情况。这时,需要引进方差的概念。
方差:数列中每个元素与均值之差的平方和,为什么要用平方和,下面讲的很清楚:
方差 -> 标准差:
此外,为了消除方差因为平方而带来的,与原数列的量纲不一致的情形,进一步有了标准差的概念,
标准差,即方差的开平方根。
标准差可以用来完美地表示数据的离散程度,标准差与均数相结合,可以描述正态分布特征,即估计正态分布下数据的频数分布情况。
一个例子如下:
上面二个正态分布,具有相同的均值,但是红色的分布,标准差为10,蓝色分布的标准差为50,可见二个分布的数据发散程度的明显差异。
标准差 -> 变异系数:
如果要更进一步,如何来对比二个完全不同项目(单位不一样,比如一个是身高、一个是智力)的数列的离散程度,或者虽然都是比较重量但一个数字序列是书籍的重量另一个数字序列是每粒瓜子的重量(单位相同但平均值不同)的二个序列的离散程度,如何比较呢,这个时候,需要更进一步引入变异系数的概念:
变异系数 = (正态分布)标准差 / 平均值。
变异系数既可以消除二个数字序列值平均水平不同对对比离散程度的影响,还可消除二个序列因为量纲单位不同而造成的评价对比影响,从而更完美地反映数列变异程度的大小。
五、发散程度指标的重要实际意义
从某种意义上讲,数字序列的发散程度(或变异程度,指方差、标准差、变异系数等)的作用,比集中趋势(指平均值、中位数、众数)还要重要。这是因为:
日常生产和观察中,由于各种误差(包括系统性的),测量和观察到的数值,基本上不可能完完全全就是测量对象的实际值,不同的测量方法和仪器,所观察到的结果,是有差别的。那么,怎么判定一种测量方法或仪器,就比另外一种方法或仪器好呢?如何能让我们相信并使用测量所观察到的值呢?(场景,仍然是针对近似正态分布)
对比4种情况,简单的想法就是第2、3中情况符合逻辑(背后有强大严密的数据证明。。。)
- 如果一种测量方法好,但是每次测量的结果形成的数字序列,变异程度都较大,
- 如果一种测量方法好,但是每次测量的结果形成的数字序列,变异程度都较小,
- 如果一种测量方法不好,但是每次测量的结果形成的数字序列,变异程度都较大,
- 如果一种测量方法不好,但是每次测量的结果形成的数字序列,变异程度都较小,
因此,各种体现数字序列发散程度的指标( 方差、标准差、变异系数等 等),就会被常用来检测测量结果的可靠性和可信性,这点意义上的作用,非常之大。
最后,提一下美丽的正态分布,一切尽在图中: