概述
- 主成分分析的基本原理
- 主成分分析的算法实现
- PCA 和 Kernel PCA的比较
- 基于上证50指数的主成分分析
1、主成分分析的基本原理
问题的提出:为了全面系统的分析和研究问题,必须考虑许多指标,这些指标能从不同的侧面反映所研究的对象的特征,但指标过多,会增加分析的复杂性,也有很多是相关的,原始变量能不能减少为有代表性的少数几个综合变量,用它们来代表原来的指标?
主成分分析(principal component analysis,PCA)就是寻找用较少的(降维)综合变量代替原来较多的旧变量,而且使综合变量尽可能多地保留原来较多信息的方法。
在选取综合变量时,最简单的形式就是取原来变量的线性组合,适当调整组合系数,使新的变量之间相互独立且代表性最好。
综合变量或者说主成分应该怎么选取呢?
我们希望第一个线性组合即第一个综合变量记为F1,尽可能多的反映原来变量的信息。最经典的方法就是用方差来表达,即var(F1)越大,表示F1包含的信息越多。因此在所有的线性组合中所选取的F1应该是反差最大的,故称之为第一主成分。如果第一主成分不足以代表原来旧变量的信息,再考虑选取F2即第二个线性组合,成为第二主成分。F2是与F1不相关的旧变量的所有线性组合中方差最大的。F3、F4…..依次类推。
以二维空间为例:
可以看出这n个样本点无论是沿着X1轴方向或X2轴方向都具有较大的离散性,其离散程度可以分别用观测变量X1的方差和X2的方差定量地表示。显然,如果只考虑X1和X2中的任何一个,那么包含在原始数据中的信息将会有较大的损失。如果我们将X1轴和X2轴先平移,再同时旋转,得到新坐标轴Z1和Z2。Z1和Z2是两个新变量,也是变量X1和X2的线性组合。
二维平面上的各点的方差大部分都归结在Z1轴上,而Z2轴上的方差很小,这里我们可以只考虑Z1就能将原始数据的大部分信息保存。Z1,Z2除了可以对包含在X1,X2中的信息起着浓缩作用以外,还具有不相关的性质,这就使得在研究复杂的问题时避免了信息重叠所带来的虚假性。
主成分分析的计算步骤
1. 计算相关系数矩阵R;
2. 计算特征值与特征向量;
解特征方程|λE-R|=0,求出特征值λ(i)(从大到小的顺序排列)和特征向量e(i)。
(最大方差问题转化为求特征值问题)
3. 计算主成分贡献率及累计贡献率;
贡献率: λi∑k=1pλk λ i ∑ k = 1 p λ k (i=1,2,...,p)