pca主成分分析结果解释_【PCA】主成分分析介绍

进行数据分析时,原始数据通常多而杂,直接用并非一个好做法,往往费力不讨好。

通常可以使用数据降维的方法处理数据,然后再进行下一步。主成分分析(PCA)就是一个常用的降维方法。

概念

主成分分析(Principal Component Analysis,PCA)是一种统计方法,通过正交变换将一组存在相关性的变量转换为一组线性无关的变量,转换后的这组变量就是主成分。

转换后的变量个数一般小于转换前,这就起到了降维、去噪的作用。此外主成分分析还可以用作加密,因为转换之前的变量都是有具体意义的,转换以后的变量没有意义,起到了隐藏信息的目的。

PCA不仅是机器学习领域的概念,还是统计学领域的概念。

pca主成分分析结果解释_【PCA】主成分分析介绍_第1张图片
样本分布图

举个最简单的例子,有如上图的样本,每个样本都是一个二维变量。可以看出样本的x坐标和y坐标是存在一定正相关的。

将坐标轴变为蓝色和黄色直线,重新计算x坐标和y坐标,则新的x坐标和y坐标的相关性就不存在了。这就是主成分分析的过程,变换坐标系的过程就是所说的正交变换,新的坐标系必须正交。

主成分分析的具体实现,有特征值分解、奇异值分解、梯度下降等方法,本文说一下最常用的特征值分解。

变换过程

可以看出上边步骤的的关键是蓝线和黄线,但是这两条线怎么画出来的呢?可不可以用别的线呢?

为解答以上两个问题,我们首先要确定画线的原则。原则一般又是据目的而定,因此问题回到了主成分分析的目的。

进行主成分分析有两个目的:1.在保留尽可能多的信息的前提下,降低维度。2.各样本在新的维度上,没有相关关系(线性)。也就是不能根据一个维度的值就能大概推测(线性)另一个维度的值。

第一条原则是新的变量要尽量分散,因为这样代表差异性大,蕴含了更多的信息。第二条原则是新的变量之间线性无关,这样就尽量消除了冗余信息。

有了这两条原则以后,那应该具体怎样一步步实现呢?对于分散程度的度量,我们知道,通常用方差表示。而对于相关性的度量,协方差是一个常见的度量方式。

所以,上述目标转换为了,每个新变量的方差尽量大,新变量之间的协方差为0。

举个例子,有矩阵A为:

pca主成分分析结果解释_【PCA】主成分分析介绍_第2张图片

其中每行代表一个样本,每列代表一个特征(归一化后的特征)。xi是一各特征的各个取值,yi是另一个特征的各个取值。则协方差矩阵B为

d7cc81a1b2350629aa14d784193ee2be.png

,矩阵B具体如下:

c5a6426803f98c54f21576dc2729b02e.png

,可以看出,对角线元素为变量X、Y的方差,其他元素为两变量间协方差。

到此,目标转换为,新的协方差矩阵D的对角线上元素尽量大,其它元素为0,也就是需要进行对角化。

我们知道B是实对称矩阵,这里需要利用实对称矩阵的一个性质:nxn的实对称矩阵一定可以找到n个单位正交的特征向量,一定可以对角化,特征向量是进行对角化的转移矩阵,特征值组成对角矩阵。因此,问题转化为特征值分解,然后取较大的特征值。

对A进行特征值分解,特征值从大到小排序组成新的协方差矩阵D,对应的特征向量(单位正交基)就组成了转移矩阵Q。所以,转换后新的变量C=QA。

到目前为止,只是讲了变换过程,没有降维,因为数据的维度还是特征数量(一般样本数量要大于特征数量)。比如上例,C还是二维。

降维过程

完成变换以后,降维就很容易了。新协方差矩阵D对角线元素是方差,是包含信息量的度量,而D对角线元素从大到小排列,所以只需取前k个变量(列)即可。

k具体是多少,可以指定,也可以先计算所有方差的和S,如果前n个方差的和大于了95%*S,那么k就取n。

总结

PCA的实现过程可以总结为:1.对变量进行归一化。2.计算变量协方差矩阵。3.对协方差矩阵进行特征值分解,并对特征向量正交单位化。4.从大到小排列特征值和特征向量。5.确定新变量的维度k。6.利用特征向量对变量进行变换。7.取新变量中的前k个作为最终变量。

PCA消除了原始变量之间的相关关系,降低了数据维度,但是使得新变量丧失了解释性,并且可能会损失原始变量中的一些有用信息。

微信公众号:曲曲菜

知乎专栏:AI和金融模型

原创作品,未标明作者不得转载。

你可能感兴趣的:(pca主成分分析结果解释,主成分分析matlab代码)