主成份分析
主成份分析(Principle Component Analysis,PCA)是一种数据分析方法,其核心思想是提取数据的主要分量,完成数据的降维。
举例来说,一个2变量的数据可以认为是2维空间里面的一组点。以PCA的观点来说,其目的在于寻找数据方差最大的方向,略去方差小的方向,从而减少数据的维度并保留大部分信息。
设数据X(就是y=x直线上的5个点,加上一个小随机数)为
-2.048378 -1.000998 0.015661 1.065509 2.178809
-2.074329 -0.996471 0.076660 0.895169 1.961309
显然,y=x可以用一个量来描述,即把直角坐标系数据投影到y=x直线上,然后记成到原点的距离。
第一步是计算协方差矩阵C:
C = X * X` * (1/(记录数)) =
2.2161 2.0950
2.0950 1.9899
第二步计算C的特征向量v和特征值e:
2.2161 - λ 2.0950
2.0950 1.9899 – λ
得到v =
[0.68779 -0.72591] -> 0.0050236
[-0.72591, -0.68779] -> 4.2010441
特征值表示该特征向量占总方差的比重。显然第二个占比较大,因此只保留第二个特征向量v2。现在,拿v2和X相乘,得到:
2.913639 1.411996 -0.064094 -1.389152 -2.930587

可以看到PCA在保留数据大部分信息的情况下,将数据缩减到一个维度。Octave代码如下: