PCA是一种统计方法,常用于解决数据降维、算法加速和数据可视化等问题,背后的数学工具是SVD。
一、主成分分析的内涵
通过正交变换将一组个数较多的、彼此相关的、意义单一的指标变量转化为个数较少的、彼此不相关的、意义综合的指标变量。转换后的这组
变量叫主成分。
二、关于降维
1.必要性
(1)多重共线性——预测变量间相互关联。多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯。
(2)高维空间本身具有稀疏性。一维正态分布有68%的值落在正负标准差之间,而在十维空间上只有0.02%。
(3)过多的变量会妨碍查找规律的建立。
(4)仅在变量层面上分析可能会忽略变量间的潜在联系。
2.目的
(1)减少预测变量的个数
(2)确保这些变量相互独立
(3)提供一个框架来解释结果
3.方法
(1)PCA(2)因子分析(3)用户自定义复合
三、基本原理
将彼此相关的变量转变为彼此不相关的变量;方差较大的几个新变量就能综合反映原多个变量所包含的主要信息;新变量各自带有独特含义。
四、预备知识
计算协方差矩阵通常用以下简化方法:先让样本矩阵中心化,即每一维度减去该维度的均值,然后直接用得到的样本矩阵乘上它的转置,再除以N-1
五、PCA过程
1.特征中心化:变换后每一维的均值都为0
2.计算所得矩阵的协方差矩阵
3.计算协方差矩阵的特征值和特征向量
4.特征值按由小到大排列,也就给出了成分的重要性。忽略重要性小的成分。若原数据集是n维的,选择前p个主要成分,那数据仅有p维。
5.选取剩余特征值对应的特征向量,按序排列成变换矩阵。
6.得到降维后的数据
FinalData=rowFeatureVector*rowDataAdjust
其中rowFeatureVector是由模式矢量作为列组成的矩阵转置。rowDataAdjust是每一维数据减去平均值后所组成的矩阵的转置。FinalData
是最后得到的数据,数据项在列中,维沿着行。若要恢复原始数据,只需逆运算
六、补充说明
1.PCA不仅仅是对高维数据进行降维,更重要的是经过降维去除噪声,发现数据中的模式。
2.PCA把原先n个特征用数目更少的特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新特征互不相关。从旧特征
到新特征的映射捕获数据中的固有变异性。