首页 > 数据分析方法 > 数据的标准化

数据的标准化

2010年2月25日 由 joegh    留言 »

  数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

  其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:

min-max标准化(Min-max normalization)

  也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:

  其中max为样本数据的最大值,min为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

log函数转换

  通过以10为底的log函数转换的方法同样可以实现归一下,具体方法如下:

  看了下网上很多介绍都是x*=log10(x),其实是有问题的,这个结果并非一定落到[0,1]区间上,应该还要除以log10(max),max为样本数据最大值,并且所有的数据都要大于等于1。

atan函数转换

  用反正切函数也可以实现数据的归一化:

  使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上。

  而并非所有数据标准化的结果都映射到[0,1]区间上,其中最常见的标准化方法就是Z标准化,也是SPSS中最为常用的标准化方法:

z-score 标准化(zero-mean normalization)

  也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:

  其中μ为所有样本数据的均值,σ为所有样本数据的标准差。


 » 本文采用 BY-NC-SA 协议,转载请注明来源:网站数据分析 » 《数据的标准化》

相关文章:

  1. 网站内容评分模型
  2. 关键指标背后的秘密
  3. 网站用户忠诚度分析
  4. 合并和比较度量
  5. 质量控制图

24 条评论

  1. Scyan 说:

    这篇文章很有用,收藏了。

    回复回复
  2. king 说:

    牵扯到数学了都,数学学的不怎么好

    回复回复
  3. 爱贝芙 说:

    真科学。。。一直在寻找这些

    回复回复
  4. eagle 说:

    这个不错,应该再多一些的

    回复回复
  5. joegh 说:

    @eagle: 这个确实可以在很多地方用到 :)

    回复回复
  6. miyaxin 说:

    好久没看到那么专业的东西了,收藏!

    回复回复
  7. nancy 说:

    很好的总结,我会好好学习的,谢谢分享。

    回复回复
  8. 般若 说:

    我想请问一下,如果是多个不同单位的数据,其中包含客流量(人数)、销售成功率(百分比)、销售额(货币单位)、平均每个客人消费金额(货币单位)。希望这几个数据能够以时间段,如小时(时间段内发生的以上数据)来分成若干组,将每组的数据用雷达图的方式来进行分析。那么这个数据的标准化应该如何来进行呢?看了您的文章后,我的理解,是不是要对每一组(具体某个时间段内的以上数据)数据进行标准化?使用LOG函数是否对于数据分析而言会更加具有可操作性?希望您能够抽空解答我的问题,谢谢

    回复回复
  9. joegh 说:

    @般若: 你好,你说的根据小时(时间)来进行分组只是维度层面的不同,标准化是基于消除度量在量纲上的差异,跟维度没有关系,指标化之后你可以根据任何维度来进行展现。
    至于标准化方法的选择需要根据度量的数值特征,Log函数适用于数值存在明显量级上差异的度量,如横跨了百、千、万的度量就可以选择Log函数,如果数值上没有这么大的差异,建议还是使用Min-Max或者Z标准化。

    回复回复
  10. atan函数转换数据归一化 说:

    你好:
    atan函数转换数据归一化,套用你上面的公式
    我试验了一下,数据都是大于0的,用RANDBETWEEN(1000,10000)取了27个数据,映射并不是落在[0,1]区间的,问题出在哪里?

    回复回复
  11. joegh 说:

    @atan函数转换数据归一化: 你好,这个公式得到的值应该是在[0,1]区间内的,你看下用的是不是反正切函数atan,另外有没有忘记除PI。

    回复回复

留下评论