数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量纲的指标能够进行比较和加权。
其中最典型的就是数据的归一化处理,即将数据统一映射到[0, 1]区间上,常见的数据归一化的方法有:
1、min-max标准化(Min-max normalization)
min-max标准化也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:
其中,max为样本数据的最大值,min为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新计算定义。
2、log函数转换
通过以10为底的log函数转换的方法同样可以实现归一化,具体方法如下:
看了下网上很多介绍都是x*= log10 (x),其实是有问题的,这个结果并非一定落在[0,1]区间上,应该还要除以log10 (max),max为样本数据最大值,并且所有的数据都要大于等于1.
3、atan函数转换
用反正切函数也可以实现数据的归一化:
使用这个方法需要注意的是如果想映射到区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1, 0]区间上。
而并非所有数据标准化的结果都映射到[0,1]区间上,其中最长久的标准化方法就是Z标准化,也是SPSS中最为常用的标准化方法。
4、z-score标准化(zero-mean normalization)
也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:
其中μ为所有样本数据的均值,σ为所有样本数据的标准差。
参考文章:
http://webdataanalysis.net/data-analysis-method/data-normalization/