引入
在许多领域的数据的分析和处理中,往往会有许多复杂的变量,变量与变量之间通常还存在着相关性,要从大量的变量中提取出能反映事物特征的信息是极其困难的,对单个的变量分析不全面,并且会损失信息,造成错误的结论。主成分分析(PCA)便是通过数学降维,找出最能决定数据特性的主元成分的数据分析方法,用较少的综合指标,揭示隐藏在多维复杂数据变量背后的简单结构,得到更为科学有效的数据信息。
PCA降维
通过协方差分析,建立高维空间到低维空间的线性映射 ,将原始高维向量通过投影矩阵,投射到低维空间 ,保留尽可能多的样本信息 ,且压缩后的数据对分类、聚类尽量不产生影响,甚至有所提升 ,这些向量称为主成分 (PCs), 具有无关性、正交的特点。重要的是这些向量的数量要远小于高维空间的维度。
实现
1. 协方差矩阵
给定n个样本(每个样本维度为p维):
定义z1j为样本xj在第一主成分/主方向a1上的投影:
其中:
对于我们的数据,可以求出其样本均值:
样本方差:
两个样本之间的协方差:
在实际计算中,可以先将样本减去均值使得。
假设根据样本组成的矩阵X,协方差矩阵,可以得到两两数据协方差矩阵:
2.特征值与特征向量
协方差矩阵为对称矩阵,对角线上为样本的方差,其他为两两变量之间的协方差。我们便可以利用对称矩阵的对角化将协方差化为0,实现变量间的线性无关,并且利用 |λE - A| = 0可解出矩阵的特征值,一个特征值便对应一组特征向量,特征向量之间是相互正交的。将所得到的特征向量对应其特征值从大到小排列,选出最大的k个向量单位化,便可作为PCA变换所需要的k个基向量,且方差最大。
3.降维
X是一个mxn 的矩阵,它的每一个列向量都表示一个采样点上的数据 。Y 表示转换以后的新的数据集表示。 P是他们之间的线性转换,即计算向量内积。可表示为:Y=PX
P便是由基向量组成的变换矩阵,经过线性转换,X的坐标便转换到新的基向量所决定的空间中的坐标Y,从几何上看,Y是X在新的空间中的投影。经过基向量变换,即完成了数据的降维。