登录
首页精彩阅读数据标准化的原因及方法
数据标准化的原因及方法
2016-01-18
收藏

数据标准化的原因及方法

前段时间有几个和我一样学习数据分析师的朋友聊天,说到数据标准化的原因和方法。下面我们就具体的解释一下?

一、为何要将数据标准化

由于不同变量常常具有不同的单位和不同的变异程度。不同的单位常使系数的实践解释发生困难。例如:第1个变量的单位是kg,第2个变量的单位是cm,那么在计算绝对距离时将出现将两个事例中第1个变量观察值之差的绝对值(单位是kg)与第2个变量观察值之差的绝对值(单位是cm )相加的情况。使用者会说5kg的差异怎么可以与3cm的差异相加?

不同变量自身具有相差较大的变异时,会使在计算出的关系系数中,不同变量所占的比重大不相同。例如如果第1个变量(两水稻品种米粒中的脂肪含量)的数值在2%到4%之间,而第2个变量(两水稻品种的亩产量)的数值范围都在1000与5000之间。为了消除量纲影响和变量自身变异大小和数值大小的影响,故将数据标准化

二、数据标准化的方法 

1、对变量的离差标准化

离差标准化是将某变量中的观察值减去该变量的最小值,然后除以该变量的极差。即

xik=[xik -Min (xk)]/Rk

经过离差标准化后,各种变量的观察值的数值范围都将在〔0,1〕之间,并且经标准化的数据都是没有单位的纯数量。离差标准化是消除量纲(单位)影响和变异大小因素的影响的最简单的方法。   有一些关系系数(例如绝对值指数尺度)在定义时就已经要求对数据进行离差标准化,但有些关系系数的计算公式却没有这样要求,当选用这类关系系数前,不妨先对数据进行标准化,看看分析的结果是否为有意义的变化。

2,对变量的标准差标准化

标准差标准化是将某变量中的观察值减去该变量的平均数,然后除以该变量的标准差。即

x’ik = (xik - )/sk

经过标准差标准化后,各变量将有约一半观察值的数值小于0,另一半观察值的数值大于0,变量的平均数为0,标准差为1。经标准化的数据都是没有单位的纯数量。对变量进行的标准差标准化可以消除量纲(单位)影响和变量自身变异的影响。但有人认为经过这种标准化后,原来数值较大的的观察值对分类结果的影响仍然占明显的优势,应该进一步消除大小因子的影响。尽管如此,它还是当前用得最多的数据标准化方法。

3,先对事例进行标准差标准化,再对变量进行标准差标准化

第一步,先对事例进行标准差标准化,即将某事例中的观察值减去该事例的平均数,然后除以该事例的标准差。即

x’ik = (xik - )/si

第二步,再对变量进行标准差标准化,即将某变量中的观察值减去该变量的平均数,然后除以该变量的标准差。即

 x’’ik = (x’ik - k)/s’k

使用这种标准化的目的也在于消除性状间的量纲(单位)影响和变异大小因子的影响,使性状间具有可比性。

4,先对变量、后对事例、再对变量的标准差标准化

这种标准化的目的也在于消除性状间的量纲(单位)影响和变异大小因子的影响,使性状间具有可比性。具体做法是:

第一步,先对变量进行标准差标准化,即将某变量中的观察值减去该变量的平均数,然后除以该变量的标准差。即

x’ik = (xik - )/sk

第二步,后对事例进行标准差标准化,即将某事例中的观察值减去该事例的平均数,然后除以该事例的标准差。即

 x’’ik = (x’ik - i)/s’i

第三步,再对变量进行标准差标准化,即将某变量中的观察值减去该变量的平均数,然后除以该变量的标准差。即

x’’’ik = (x’’ik - ’’k)/s’’k

进行了前两步之后,还要进行第三步的原因,主要是为了计算的方便。

数据分析过程中,我们经常需要对数据进行标准化(normalization),数据标准化主要功能就是消除变量间的量纲关系,从而使数据具有可比性。可以举个简单的例子,一个百分制的变量与一个5分值的变量在一起怎么比较?只有通过数据标准化,都把它们标准到同一个标准时才具有可比性。即通过将属性数据按照比例缩放,使之落入一个小的特定区间,如[-1,+1]、[0,1]等,以进一步分析数据的属性。

有许多中数据标准化方法,常用的有最小-最大标准化、Z-score标准化和按小数定标标准化等。下面对数据标准化的常用方法进行了介绍:

一、Min-Max标准化

min-max标准化方法是对原始数据进行线性变换。设minA和maxA分别为属性A的最小值和最大值,将A的一个原始值x通过min-max标准化映射成在区间【0,1】中的值,其公式为:

新数据=(原数据-极小值)/(极大值-极小值)

这种方法适用于原始数据的取值范围已经确定的情况。

例如:假定属性income的最小与最大值分别为$12,000和$98,000。我们想映射income到区间[0,1]。根据min-max标准化,incom值$73,600将变换为

(73,600-12,000)/(98,000-12,000)×(1-0)=0.716。

二、z-score标准化

这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将属性A的原始值v使用z-score标准化到v’的计算方法是:

新数据=(原数据-均值)/标准差

z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。

spass的默认的标准化方法就是z-score标准化。

用Excel进行z-score标准化的方法:在Excel中没有现成的额函数,需要自己分步计算,其实标准化的公式很简单。

步骤如下:

1、求出各变量(指标)的算术平均值(数学期望)xi和标准差si

2、进行标准化处理:zij=(xij-xi)/si。其中:zij为标准化后的变量值;xij为实际变量值。

3、将逆指标钱的正负号对调。标准化后的变量值围绕0上下波动,大雨0说明高于平均水平,小于0说明低于平均水平。

三、Decimal scaling(小数定标标准化)

这种方法通过移动数据的小数点位置来进行标准化。小数点移动多少位取决于属性A的取值中的最大绝对值。将属性A的原始值x使用decimal scaling标准化到y’的计算方法是:y=x/(10*j)     其中,j是满足条件的最小整数。

例如 假定A的值由-986到917,A的最大绝对值为986,为使用小数定标标准化,我们用1000(即,j=3)除以每个值,这样,-986被规范化为-0.986。

注意,标准化会对原始数据做出改变,因此需要保存所使用的标准化方法的参数,以便对后续的数据进行统一的标准化。数据分析师认证培训

数据分析咨询请扫描二维码

客服在线
立即咨询