简介
主成分分析(Principal Component Analysis,PCA),首先是由皮尔森(Pearson,1901)对非随机变量引入的,尔后霍特林(Hotelling,1933)将此方法推广到随机向量的情形。它是一种统计方法,通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
一、适用范围
1.1 主成分分析的主要目的
在实际课题中,为了全面分析问题,往往提出很多与此有关的变量(或因素),因为每个变量都在不同程度上反映这个课题的某些信息。主成分分析的主要目的是希望使用较少的变量去解释原来资料中的大部分的变异,将我们手上许多相关性很高的变量转化成彼此相互独立或不相关的变量。通常是选用比原始变量个数少,且新变量能解释大部分资料中变异的几个新变量即所谓的主成分,且以解释资料的综合性指标。综上所述,主成分分析法实际上式一种降维方法。
1.2 适用数据的特点
1.2.1 维度灾难
使用过多的变量时,需要估计的参数个数也在增加,在训练集保持不变的情况下待估参数的方差也会随之增加,导致学习量上升、学习效率下降。维度灾难简单来说就是变量的个数多。
1.2.2 变量之间的相关性高
变量之间的相关性高,说明数据是有冗余的,数据中的信息是有重叠的。
相关性高是我们利用主成分进行降维的前提条件,一个基本的适用经验:
观察变量的相关系数矩阵,一般来说相关系数矩阵中多数元素绝对值大于0.5,非常适合做主成分分析,但也不是说小于的就不可以用这种方法。
二、计算的步骤
假设存在 n 个指标变量 x1, x2, …,xn ,则它在第 i 次实验中的取值为: ai1, ai2, …,ain( i=1,2…,m)
则其矩阵形式A称为设计阵:
1、对原始数据进行数据标准化
其中 uj是期望,sj 是标准差
标准化指标变量为
2、计算相关系数矩阵 R
相关系数矩阵为 R = (rij) n*n
r i j = ∑ k = 1 n a ~ k i ⋅ a ~ k j n − 1 r_{i j}=\frac{\sum_{k=1}^{n} \tilde{a}_{k i} \cdot \tilde{a}_{k j}}{n-1} rij=n−1∑k=1na~ki⋅a~kj
3、计算特征值和特征向量
计算相关系数矩阵R特征值,及相应的标准化特征向量 λ 1 ≥ λ 2 ≥ λ 3 ≥ λ 4 ≥ λ 5 \lambda_{1} \geq \lambda_{2} \geq \lambda_{3} \geq \lambda_{4} \geq \lambda_{5} λ1≥λ2≥λ