1.概述
算法计算过程中,往往需要收集大量的指标数据进行支撑,但每个指标的性质、量纲、数量级等特征,均存在一定的差异。针对涉及多个不同指标综合起来的评价模型,由于各个指标的属性不同,无法直接在不同指标之间进行比较和综合。所以要将不同指标转换为可比较、可综合相同指标,这一处理过程就是标准化,也称归一化。
标准化是通过一定的数学变换方式,将原始数据按照一定的比例进行转换,使之落入到一个小的特定区间内,例如0-1的区间内,消除不同变量之间性质、量纲、数量级等特征属性的差异,将其转化为一个无量纲的相对数值,也就是标准化数值,使各指标的数值都处于同一个数量级别上,从而便于不同单位或数量级的指标能够进行综合分析和比较。
2.标准化处理
标准化处理主要从性质、量纲、数量级三个方面入手,可大致分为指标一致化处理和无量纲化处理。其中一致化处理是解决性质的问题,无量纲化处理是解决量纲、数量级的差距。
2.1一致化处理
指标性质不同指的是有些指标属于正向类指标,数值越大越好;有些指标属于负向类指标,数值越小越好。一致化处理就是将两类指标转换为可比较的同向指标。
(1)倒数一致化处理:当指标均为正数时,可将负向类指标转换为倒数,原指标越大,倒数越小,与正向类指标保持一致。
X’ = 1 / x(x>0)
(2)距离一致化处理:取数据中最大值到指标值(max-x)间距离为负向类指标的替代指标,及x’=max-x,实现x越大,x’越小的效果;取指标值到最小值间的距离为正向指标的替代指标,即x’=x-min,实现x越大,x’越小的效果。
2.2无量纲化处理
在实际的应用中,由于不同变量自身的量纲不同,可能有些指标是多少个,但是另一些是多少克,多少毫升,数量级存在较大差异,在进行综合评价时,不同变量所占的作用比重也会有所不同。例如,某个变量的数值在1-10之间,而另一个变量的数值范围在100-1000之间,此时若进行综合评价,从数值的角度,很有可能数值变化范围大的变量,它的绝对作用就会较大,所占的比重较大。
因此,为了消除量纲、变量自身变异和数值大小的影响,比较不同变量之间的相对作用,就需要对数据进行无量纲化处理,将其转化为无量纲的纯数值来进行评价和比较。
(1)极差标准化法:找出该指标的最大值(Xmax)和最小值(Xmin),并计算极差(R = Xmax - Xmin),然后用该变量的每一个观察值(X)减去最小值(Xmin),再除以极差(R),即:
X’ = (X-Xmin) / (Xmax-Xmin);
(2)极大化法:对于正指标,取该指标的最大值Xmax,然后用该变量的每一个观察值除以最大值,即:X’=X / Xmax。(X≥0)
(3)极小化法:对于逆指标,取该指标的最小值Xmin,然后用该变量的最小值除以每一个观察值,即:X’ = Xmin / X。(X>0)
(4)log函数标准化法:首先对该变量的每一个观察值取以10为底的log值,然后再除以该指标最大值(Xmax)的log值,即:X’=log10X / log10 Xmax(X≥1)
(5)反正切函数标准化法:通过三角函数中的反正切函数(arctan)也可以实现数据的标准化转换,计算方法如下:X’ = arctan(X)*2 / π
注意,如果原始数据为正、负实数,则标准化后的数据区间为-1≤X’≤1,若要得到0≤X’≤1区间,则原始数据应该保证X≥0。