数据预处理

描述性数据汇总

对于许多数据预处理,用户希望知道关于数据的中心趋势和离中趋势特征.中心趋势度量包括均值(mean),中位数(median),众数(mode)和中列数(midrange),而数据离中趋势度量包括四分位数(quartiles),四分位数极差(interquartile range, IQR)和方差(variance).这些描述性统计量有助于理解数据的分布.这些度量在统计学界已经广泛研究.从数据挖掘的角度,我们需要考察如何在大型数据库中有效地计算它们.特殊地,我们需要引进分布式度量,代数度量和整体度量的概念.指导我们处理的度量类型可能有助于我们选择它的有效实现.

度量数据的中心趋势

数据集的"中心"最常用,最有效的数值度量是(算数)均值.

分布式度量(distributive measure)是一种可以通过如下方法计算度量(即函数):将数据集划分成较小的子集,计算每个子集的度量,然后合并计算结果,得到原(整个)数据集的度量值.sum()和count()都是分布式度量,因为它们都可以用这种方法计算.其他例子包括max()和min().代数度量(algebraic measure)是可以通过应用一个代数函数于一个或多个分布度量计算的度量.因此,average(或mean())是代数度量,因为它可以通过sum()/count()计算.

有时,集合中每个值Xi与一个权值Wi相关联,i = 1, ..., N.权值反映对应值的显著性,重要性或出现频率.在这种情况下,我们可以计算

加权算数均值(weighted arithmetic mean)或加权平均(weighted average) = (w1x1 + w2x2 + ... + wNxN)/(w1 + w2 + ... + wN)

尽管均值是描述数据集的最有用的单个量,但不总是度量数据中心的最好方法.均值的主要问题是对于极端值(如离群值)很敏感.及时少量极端值也可能影响均值.为了抵消少数极端值的影响,我们可以使用截断均值(trimmed mean).截断均值是去掉高,低极端值得到均值.我们应当避免在两端截断的比例太大(如20%),因为这可能导致损失有价值的信息.

对于倾斜的(非对称的)数据,数据中心的一个较好度量是中位数.设给定的N个不同值的数据集按数值序排序.如果N是奇数,则中位数是有序集的中间值;否则(即,如果N是偶数),中位数是中间两个值的平均值.

整体度量(holistic measure)是必须对整个数据集计算的度量.整体度量不能通过将给定数据划分成子集并合并每个子集上度量得到的值来计算.中位数是整体度量的一个例子.计算整体度量的开销比计算上述分布度量的开销大得多.

另一种中心趋势度量是众数.具有一个,两个或三个众数的数据集合分别称为单峰的(unimodal),双峰的(bimodal)和三峰的(trimodal).一般,具有两个或更多众数的数据集是多峰的(multimodal).在另一种极端情况下,如果每个数据值仅出现一次,则它没有众数.

对于适度倾斜(非对称)的单峰频率曲线,我们有下面的经验关系

mean - mode = 3 * (mean - median)

这意味着如果均值和中位数已知,适度倾斜的单峰频率曲线的众数容易计算.

在完全对称的数据分布单峰频率曲线中,均值,中位数和众数都是相同的中心值.然而,在大部分实际应用中数据不是对称的.它们可能是正倾斜的,其中众数出现在小于中位数的值上;或者是负倾斜的,其中众数出现在大于中位数的值上.

中列数也可以用来评估数据集的中心趋势.中列数是数据集的最大和最小值的平均值.中列数是代数度量,因为它容易使用SQL的聚集函数max()和min()计算.

posted @ 2015-08-21 14:01  yosg  阅读(660)  评论(0编辑  收藏  举报