归一化或者叫无量纲化

1、详解:

因为我们的这些要素是不同质的东西的指标,因此可能会有的数字很大有的数字很小,但是这并不是由于它们内禀的性质决定的,而只是由于量纲不同导致的,因此我们需要对它们进行无量纲化。这个操作一般在数据处理领域叫做归一化(normalization),也就是减少数据的绝对数值的差异,将它们统一到近似的范围内,然后重点关注其变化和趋势。

2、例子:

如下图所示,这是上面表格中前3个元素随年的变化曲线,以及作为母序列的旅游总收入:

归一化或者叫无量纲化_第1张图片
可以看到,有两个曲线绝对数值很大,而另外两个很小,如果不做处理必然导致大的数值的影响会”淹没“掉小数值的变量的影响。

所以我们要对数据进行归一化处理,主要方法有如下几个:

(1) 初值化: 顾名思义,就是把这一个序列的数据统一除以最开始的值,由于同一个因素的序列的量级差别不大,所以通过除以初值就能将这些值都整理到1这个量级附近。

公式: x_i(k)' = x_i(k) / x_i(1)   i = 1,...,m, k = 1,...,n 
(m为因素个数,n为每个因素的数据维度,仍如上栗,n=5,m=3(我们只看前三个因素,就是曲线图里画的这三种,和旅游总收入的关联,数据维度为5,即五年))

(2) 均值化: 顾名思义,就是把这个序列的数据除以均值,由于数量级大的序列均值比较大,所以除掉以后就能归一化到1的量级附近。

公式: x_i(k)' = x_i(k) / ( mean(x_i) )        (除以均值)
其中 : mean(x_i) = (1/n) sum_k=1^n (x_i(k))     (求第i个因素序列的均值)

其余还有如区间化,即把序列的值规范到一个区间,比如[0, 1],之间。这个方法实际上在数据处理中应用比较多,但是在GRA中似乎常用均值化或者初值化,所以在此不介绍。

这里我们按照参考文献中的采用的方法,用初值化进行归一化,得到的结果如下图:

归一化或者叫无量纲化_第2张图片

可以看到,归一化以后的数据,量级差别变小了,这是为了后面提供铺垫,因为我们关注的实际上是曲线的形状的差异,而不希望绝对数值对后面的计算有影响。

论文应用:

归一化或者叫无量纲化_第3张图片

参考:基于随机森林算法的土壤含盐量预测 - 中国知网

你可能感兴趣的:(记录本,机器学习,python)