主成分分析法(PCA)基础概念整理+步骤总结

在一组多变量的数据中,很多变量常常是一起变动的。一个原因是很多变量是同一个驱动影响的的结果。在很多系统中,只有少数几个这样的驱动,但是多余的仪器使我们测量了很多的系统变量。当这种情况发生的时候,你需要处理的就是冗余的信息。而你可以通过用一个简单的新变量代替这组变量来简化此问题。

概念

    主成分分析是一个定量的严格的可以起到简化作用的方法。它产生一组叫做主成分的新变量,每一个主成分是原始变量的线性组合。所有主成分是相互正交的,从而不存在冗余的信息。所有主成分形成了原始数据空间的一组正交基。

    第一主成分是数据空间的一个轴。当你把各观察值投影到这个轴时,结果会形成一个新变量,这个变量的方差是所有可选的轴中最大的。第二主成分是空间的另一个轴,它垂直于第一个轴。投影数据到这个轴上将得到另一组变量,此变量的方差是所有可选的轴中最大的。

最后得到的所有主成分个数是与原始变量相同的,但是通常前几个主成分方差的和占到了原始数据总方差的80%以上。通过绘制这组新变量,研究者常常会更深入的了解产生原始数据的驱动力。

术语

方差(Variance)是度量一组数据分散的程度。方差是各个样本与样本均值的差的平方和的均值:

http://latex.codecogs.com/gif.latex?S%5E2%3D%20%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%28X_%7Bi%7D-%5Cbar%7BX%7D%29%5E2%7D%7Bn-1%7D

协方差(Covariance)是度量两个变量的变动的同步程度,也就是度量两个变量线性相关性程度。如果两个变量的协方差为0,则统计学上认为二者线性无关。注意两个无关的变量并非完全独立,只是没有线性相关性而已。计算公式如下:

http://latex.codecogs.com/gif.latex?cov%28X%2CY%29%3D%20%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%28X_%7Bi%7D-%5Cbar%7BX%7D%29%28Y_%7Bi%7D-%5Cbar%7BY%7D%29%7D%7Bn-1%7D

如果协方差不为0,如果大于0表示正相关,小于0表示负相关。当协方差大于0时,一个变量增大是另一个变量也会增大。当协方差小于0时,一个变量增大是另一个变量会减小。

协方差矩阵(Covariance matrix)由数据集中两两变量的协方差组成。矩阵的第 (i,j) 个元素是数据集中第i和第j个元素的协方差。

特征向量(eigenvector)是一个矩阵的满足如下公式的非零向量:

http://latex.codecogs.com/gif.latex?A%5Cvec%7Bv%7D%3D%5Clambda%20%5Cvec%7Bv%7D

其中,v是特征向量,A是方阵,λ是特征值。经过A变换之后,特征向量的方向保持不变,只是其大小发生了特征值倍数的变化。也就是说,一个特征向量左乘一个矩阵之后等于等比例放缩(scaling)特征向量。德语单词eigen的意思是属于...或...专有( belonging to or peculiar to);矩阵的特征向量是属于并描述数据集结构的向量。

特征向量和特征值只能由方阵得出,且并非所有方阵都有特征向量和特征值。如果一个矩阵有特征向量和特征值,那么它的每个维度都有一对特征向量和特征值。

矩阵的主成分是其协方差矩阵的特征向量,按照对应的特征值大小排序。最大的特征值就是第一主成分,第二大的特征值就是第二主成分,以此类推。把数据映射到主成分上,第一主成分是最大特征值对应的特征向量,因此我们要建一个转换矩阵,它的每一列都是主成分的特征向量。如果我们要把5维数据降成3维,那么我们就要用一个3维矩阵做转换矩阵,用特征向量中的前三个主成分作为转换矩阵。若把我们的2维数据映射成1维,那么我们就要用一个1维矩阵做转换矩阵,用特征向量中的第一主成分作为转换矩阵。最后,我们用数据矩阵右乘转换矩阵。

总结步骤

(1)计算数据协方差矩阵,并获得协方差矩阵的特征值。

(2)将对应的特征值按照大小排序,最大的特征值是第一主成分,第二大的特征值是第二主成分,以此类推。

(3)求取特征向量,将特征向量转化为单位特征向量,并将主成分对应的特征向量作为转换矩阵,用数据矩阵右乘转换矩阵,实现主成分映射。最终数据维度映射为与主成分数量相同。

你可能感兴趣的:(机器学习,数学建模)