许多人初次看统计教材的时候,经常会遇到案例中对数据进行标准化(normalization)处理,却对什么场景、用什么方法对数据进行标准化不是很清楚。

一般而言,数据标准化处理的原因有两种:

  • 数据的变异程度非常大(也可以理解为数据的跨度很大),不利于发现数据所蕴含的意义;
  • 多元变量中,量纲不一(单位不一样),无法对不同类型变量进行比较;

最常用的数据标准化处理的方法有两种:

  • Z-score标准化,即标准差标准化,常用于消除变量的量纲,使不同量纲的变量可以比较。运算法则如下,其中μ为所有样本数据的均值,σ为所有样本数据的标准差:

z-score

  • log函数转换,即通过某一底数对数据进行取对数变换,用于减小数据的变异程度,使数据的含义更加清晰。运算法则如下,通过以10为底的log函数变换,max为样本数据的最大值。

log-function

数据标准化还有一些其他的方法,具体可以参考joeghwu的这一篇《数据的标准化》,里面包含了不同方法的运算公式和数学含义。至于计算的话,我们完全可以自己利用Excel中函数进行处理。当然,专业的统计软件SPSS之类也可以使我们非常轻松的对数据进行标准化处理。

另外,从定义上来说标准化就意味着要将数据“归一”到0-1之间。但是我们还是应当以具体情况的使用为标准,怎样才能更便于我们对数据的理解,便于我们的比较,那我们就怎么用。

2 对 “数据的标准化处理”的想法;

  1. 请问,两组数据之间(如高数成绩10,12,25,30与线代成绩20,50,60,77)进行比较,一定要先把数据通过z-score方式处理成符合(标准)正态分布才更严谨吗?(例如用log(x)/log(max)归一化后组内数据比较没问题,但组间比较也经得起推敲吗?)

发表评论

您的电子邮箱地址不会被公开。