PCA填坑篇——使用PCA到底需不需要数据去量纲?

一:为什么要去量纲

表征相同属性(单位不同)的各特征之间才有可比性,如1cm 与 0.1kg 你怎么比?

二:什么是去量纲

量纲:衡量一个属性的单位,比如:米,千克等;

去量纲:去除该属性单位带来的影响,使得该属性成为一个单纯的数,或者使得所有的属性的单位变为“1”。总之就是统一单位的过程

三:使用PCA到底需不需要去量纲呢?

我们先看看PCA的原理

PCA有个规则就是:使得新数据集中各属性之间没有相关性。

(1)当:各个属性单位相同时(比如,都是kg,都是米)这时候,各个属性是可比较的。因此直接求属性与属性之间的协方差即可。原本协方差的大小并不说明相关程度(协方差只表示正相关还是负相关),但是在单位相同时候,我们可以认为协方差越大,相关性越大。

(2)当:各个属性单位不同时,(比如,一个是kg,一个是米)这个时候,由于单位不同,协方差不表示相关程度,这时候,我们就要使用相关系数来进行描述。

相关系数的公式:(其中除以标准差就是一种去量纲的方式)

因此:相关系数也可以看成协方差:一种剔除了两个变量量纲影响标准化后的特殊协方差,它消除了两个变量变化幅度的影响,而只是单纯反应两个变量每单位变化时的相似程度


写到这里,相信大家已经明白了,使用PCA到底需不需要去量纲了~。

四:去量纲方法

参考博客:https://blog.csdn.net/OnTheWayGoGoing/article/details/79871559

一共有三种常用的去量纲的方法:

(1)min-max归一化(2)z-score标准化(3)Normalization

这里我不想搬运了,大家自己去看看链接的内容即可。这里我主要解释一下这一句话:

这句话的意思是,如果我认为原始数据中,某一个属性标准差越大,表示这个属性变化大,那么这个属性就越重要

这句话很绕啊,乍一看.....这不就是说的协方差矩阵的对角线么?协方差矩阵对角线上的元素就是方差(标准差的平方)。再乍一看......PCA不就是通过方差的大小判断是不是主要成分么?那是不是意味着,在PCA中去量纲应该使用min-max归一化?

答案是~~~NO。在PCA中去量纲,我们还是应该使用z-score标准化,其实在我上面这句话中,给埋了一个坑

”PCA是通过方差大小判断是不是主成分“这句话没错,但是他是根据变换后的新数据集方差大小判断的,而我们去量纲时候,处理的是原数据集,而且忘了相关系数了么~~使用min-max去量纲后,计算的属性与属性之间的协方差,是没有数学意义可以说明能表示相关性大小的喔(至少我没找到)

五:总结

当数据各个属性的单位不同时候,使用PCA是需要去量纲的,而且去量纲的方法应该选用z-score标准化(减去均值之后除以方差)。

你可能感兴趣的:(PCA填坑篇——使用PCA到底需不需要数据去量纲?)