||
(一)常见的归一化方法
(1)线性函数转换,表达式如下(Min-Max Scaling):
y=(x-MinValue)/(MaxValue-MinValue)
(2)对数函数转换,表达式如下:
y=log10 (x)
(3)反余切函数转换 ,表达式如下:
y=arctan(x)*2/PI
(4)Z-SCORE (Standardization): z=(x-μ)/σ (μ为平均数,σ为标准差)
为什么z-score 标准化后的数据标准差为1?
x-μ只改变均值,标准差不变,所以均值变为0; (x-μ)/σ只会使标准差除以σ倍,所以标准差变为1。
Z-score和Min-Max Scaling最常用方法使用场景:
1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用Min-Max Scaling或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。
原因是使用Min-Max Scaling(线性变换后),其协方差产生了倍数值的缩放,因此这种方式无法消除量纲对方差、协方差的影响,对PCA分析影响巨大;同时,由于量纲的存在,使用不同的量纲、距离的计算结果会不同。而在Z-score归一化方式中,新的数据由于对方差进行了归一化,这时候每个维度的量纲其实已经等价了,每个维度都服从均值为0、方差1的正态分布,在计算距离的时候,每个维度都是去量纲化的,避免了不同量纲的选取对距离计算产生的巨大影响。
(二)时序归一化方法
(1)传统的归一化方法通常是进行全局归一化,比如利用全局范围内的最大值最小值对数据进行约束:
这种方法简单易于理解,缺点是最大值最小值通常是噪声造成的,特别是时间序列,由于涉及时间范围广,数据的测量设备可能中途更换、测量条件不同,导致同一信号的幅值差异巨大,采用此种方法将导致部分时间序列失真、同时不利于不同时段不同模式的对比。
(2)在全局归一化的基础上、结合小波/傅里叶变换中加窗的思想,产生了加窗归一化。
利用窗口内序列的极大值、极小值对该窗口内的时间序列进行归一化,这种方法一定程度上解决了时间跨度多大时不同测量条件下序列幅值差异的问题,不过由噪声引起的极大值极小值仍然严重影响了归一化的效果。
单纯的利用最大值最小值、极大值极小值尽管可以将数据进行约束,但是无法满足时间序列的分析要求。在此介绍一种时间序列的自适应归一化方法:
给定时间序列S,对S加窗分段后S共由n段窗口长度为L的序列构成:
对S进行自适应归一化,归一化后序列为
算法描述如下:
该算法在归一化的同时由于考虑到了相邻时间序列的相关性(相邻时间序列的关系因子由参数控制),因此归一化成败的关键在于参数的选取。具体需要结合自己的需要和时间序列特征进行控制,由于算法简单、计算量小的特点,初次使用时对这两个参数进行简单的遍历搜索是个不错的选择;2、由于该算法中极大值极小值对归一化效果并不占支配地位,通常归一化后的时间序列中正常值在-1至+1之间,而异常值的幅值将远远大于1,因此该算法对发现极端值是非常有效的,比如对某地的近半个世纪的降雨情况进行归一化处理,部分年份中极端的降雨情况将更加容易发现。
【参考】
点滴分享,福泽你我!Add oil!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 20:48
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社