User Tools

Site Tools


data:data_analysis

数据分析

数据标准化

一 数据标准化的定义

在进行数据分析之前,通常要收集大量不同的相关指标,每个指标的性质、量纲、数量级、可用性等特征均可能存在差异,导致我们无法直接用其分析研究对象的特征和规律。当各指标间的水平相差很大时,如果直接用指标原始值进行分析,数值较高的指标在综合分析中的作用就会被放大,相对地,会削弱数值水平较低的指标的作用。

比如,在评价不同时期的物价指数时,较低价格的蔬菜和较高价格的家电的价格涨幅都可以被纳入其中,但是由于它们的价格水平差异较大,如果直接用其价格做分析,会使价格水平较高的家电在综合指数中的作用被放大。因此,为了保证结果的可靠性,需要对原始指标数据进行变换处理,使不同的特征具有相同的尺度。

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

二 数据标准化的原因

1.某些算法要求样本具有零均值和单位方差;

需要消除样本不同属性具有不同量级时的影响:

①数量级的差异将导致量级较大的属性占据主导地位;

②数量级的差异将导致迭代收敛速度减慢;

③依赖于样本距离的算法对于数据的数量级非常敏感。

在不同的问题中,标准化的意义不同:

(1)在回归预测中,标准化是为了让特征值有均等的权重;

(2)在训练神经网络的过程中,通过将数据标准化,能够加速权重参数的收敛;

(3)主成分分析中,需要对数据进行标准化处理;默认指标间权重相等,不考虑指标间差异和相互影响。

三 数据标准化的方法

目前数据标准化方法有很多,大概可以分为:直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,而且在数据标准化方法的选择上,还没有通用的法则可以遵循。

常见的方法有:min-max标准化(min-max normalization)、log函数转换、atan函数转换、z-score标准化(zero-mena normalization,此方法比较常用)、模糊量化法。

1.min-max标准化(归一化)

也叫极差标准化法,是消除变量量纲和变异范围影响最简单的方法。

具体方法:找出每个属性的最小值和最大值,将其一个原始值x通过min-max标准化映射成在区间[0,1]中的值x'。

公式:X' = (X-Xmin) / (Xmax-Xmin)

无论原始数据是正值还是负值,经过处理后,该变量各个观察值的数值变化范围都满足0≤X'≤1,并且正指标、逆指标均可转化为正向指标,作用方向一致。

但如果有新数据加入,就可能会导致最大值(Xmax)和最小值(Xmin)发生变化,就需要进行重新定义,并重新计算极差(R)。

2.z-score标准化(规范化)

当遇到某个指标的最大值和最小值未知的情况,或有超出取值范围的离群数值时,上面的方法就不再适用了,可以采用另一种数据标准化最常用的方法,即Z-score标准化,也叫标准差标准化法。

它基于原始数据的均值(mean)和标准差(standarddeviation)进行数据的标准化,将A的原始值x使用z-score标准化到x'。

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

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

均值和标准差都是在样本集上定义的,而不是在单个样本上定义的。标准化是针对某个属性的,需要用到所有样本在该属性上的值。

数据标准化最常用的是这两种:极差标准化法、Z-score标准化法。

3.线性比例标准化法

(1)极大化法

对于正指标,取该指标的最大值Xmax,然后用该变量的每一个观察值除以最大值,即:X' =X / Xmax。(X≥0)

(2)极小化法

对于逆指标,取该指标的最小值Xmin,然后用该变量的最小值除以每一个观察值,即:X' = Xmin / X。(X>0)

注:以上两种方法不适用于X<0的情况。

正指标:是一种评估指标,指标数值大小与司法绩效高低一致;正指标越大越好。

逆指标:是强度相对的指标,指标数值大小与司法绩效高低相反;逆指标越小越好。

对于逆向指标使用线性比例法进行标准化后,实际上是进行了非线性的变换,变换后的指标无法客观地反映原始指标的相互关系,转换时需要注意。

4.log函数标准化法

首先对该变量的每一个观察值取以10为底的log值,然后再除以该指标最大值(Xmax)的log值,即:

X' = log10(X) / log10 (Xmax)

注:x=log10(X)的区间不一定在[0,1];Xmax为样本最大值;此方法要求X≥1。

5.反正切函数标准化法

通过三角函数中的反正切函数(arctan)也可以实现数据的标准化转换。

计算方法:X' = arctan(X)*2 / π

注:如果原始数据为正、负实数,则标准化后的数据区间为-1≤X'≤1;若要得到0≤X'≤1区间,则原始数据应该保证X≥0。

6.atan函数转换

用反正切函数也可以实现数据的归一化,使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上。

7.归一化

把数据映射到0-1范围内,使数据处理更加便捷。

Xn=Xi/(X1+X2+……+Xn);Xn的和=1。

四 标准化的意义

标准化、归一化的区别:

归一化是标准化的一种,它的缩放仅与最大、最小值的差别有关;输出范围在0—1间;

标准化缩放和每个值都有关系,通过方差体现出来。当数据更集中时,数据标准化后更分散;数据分布很广时,数据标准化后会更集中。输出范围是一个特定的区间,在-∞—+∞。

如果对输出结果范围有要求,用归一化;

如果数据较稳定,不存在极端的最大最小值,用归一化;

如果数据有异常值和较多噪音,用标准化,可间接通过中心化避免异常值、极端值的影响。

数据标准化其实是对向量X按比例压缩再平移,本质上是一种线性变换。线性变换又很多良好的性质,这决定了对数据变换后的数据反而能提高数据效率。比如:线性变换不改变原始数据的数值排序。这保证了数据变换后依然有意义,因为线性变换保持线性组合与线性关系式不变。

data/data_analysis.txt · Last modified: 2022/10/24 23:26 by zhwiki