一、从主成分分析说起
1.主成分分析起源
主成分分析法由Pearson在1901年提出,是一种常用的降维方法,可以将维数高的样本转化成维数低的样本。在金融领域,常用于各种多因子模型中,将原有多个指标转化为互不相关的少量综合指标。从数学角度来说,主成分分析是对原始数据进行线性变化,将原始坐标轴旋转和平移,得到新的坐标轴,使尽可能多的样本点在新坐标轴上分散最开。
2.一个例子
举个例子:假设一个班级里有10个学生,数学成绩和语文成绩分别如下表所示。
编号 | 数学 | 语文 |
---|---|---|
1 | 70 | 65 |
2 | 75 | 70 |
3 | 80 | 75 |
4 | 85 | 80 |
5 | 90 | 85 |
6 | 95 | 90 |
建立一个直角坐标系,横轴和纵轴分别为数学、语文,如下图所示。
移动平面直角坐标系,让尽可能多的点分布在坐标轴上。
这样一来,只用新建的一个坐标轴即可描述每个学生的成绩,把这个新指标命名为“评价1”。这样只用这一个指标即可实现对成绩的评价,实现了从两个指标变成一个指标。
3.概述
主成分分析就具有这种帮助多个指标“瘦身”的功能。在对海量数据进行分析时,数据之间常常有一定的共线性,主成分分析能够将这些数据提取共性,进行压缩,提取相同的信息得到互不相关的变量,最大程度保留有效信息。
主成分分析从数学角度上来说就是进行线性变换,拓展到空间层面,就是移动坐标轴,使尽可能多的点落在坐标轴上或使尽可能多的点在新坐标轴上最分散。
什么叫最分散?
前例是一种极其特殊的情况。一般来说,原始数据不会刚刚好分布在一条直线上,如下图。
在这种情况下,没有办法找到一个坐标轴使全部点落在坐标轴上。如果仍只用一个指标来描述学生成绩,现在有1、2、3这三条线,哪一个更适合。
很显然,线1最适合。因为所有原始数据在线1上的投影最长(红色部分),样本总体变异方向最大。如果坐标轴变化为2和3,原始数据的信息损失的更多。既然都会损失,我们要选择损失最少的部分。
4.用途
主成分分析法主要的用途是将原始多维数据在损失最小的情况下降维成低维数据,一般多与其他算法和模型结合使用进行预测或评价。比如:多因子模型、财务状况评价、桥体结构损伤、各省经济状况评价等。
二、主成分分析基本流程
1.原始数据标准化
原始数据往往数量级差异很大,大到100000,小到0.001。量纲的差距使得后续计算时会出现较大的差异,因此在进行主成分分析之前,需要对原始数据进行标准化。
最常用的标准化方法为:Z-score方法。
X s t d = X − X ˉ σ X_{std}=\frac{X-\bar{X}}{\sigma} Xstd=σX−Xˉ
2.计算协方差矩阵
根据上述例子可知,通过旋转坐标轴可以使数据在新的坐标轴上分散最开,即方差最大。能够将数据的方差表示出来的方法就是求协方差矩阵,计算方法如下式。
C = 1 n F T F C=\frac{1}{n}F_TF C=n1FTF
3.求特征值和特征向量
求解特征值和特征向量,用于后续主成分个数选择。
C ζ = Σ ζ C\zeta=\Sigma\zeta Cζ=Σζ
其中C为协方差矩阵, ζ \zeta ζ为特征向量, Σ \Sigma Σ 为特征值。
4.主成分个数选择
分析 C ζ = Σ ζ C\zeta=\Sigma\zeta