前面写的一些统计学习方法都是属于监督学习(supervised learning),这篇主成分分析(principal components analysis,简称 PCA )和下一篇聚类分析(clustering)都是属于非监督学习(unsupervised learning)。

之前 ISLR读书笔记十二 中已经提到过主成分这一概念。其主要目的是利用一小部分数据组合,尽可能多地体现

这里的 尽可能多地体现

  1. 将数据投影到方差最大的方向上,尽可能保留方差信息




Java 主成分分析 主成分分析 结果_加载


2. 低维空间下的最佳近似。


Java 主成分分析 主成分分析 结果_加载_02


从第一种解读出发,计算第一主成分:



这里要求



称作加载(loadings),


称作加载向量(loading vector)


由于只关心数据的方差,所以可以对数据进行中心化,即要求


对于每一个分量


第一主成分使得样本方差最大。即



由于


,所以即,使得


最大。这里,


称作分数(scores)


该优化问题,可以用奇异值分解(SVD)的方法解得。

第二主成分是所有与第一主成分


不相关(uncorrelated)的,关于


的线性组合中,方差最大的线性组合。令



可以证明



不相关,等价于加载向量



正交。


第三主成分是所有与



不相关(uncorrelated)的,关于


的线性组合中,方差最大的线性组合。以此类推。


从第二种解读出发,第一主成分加载向量是


维空间中,最接近


个观测数据的直线(在欧式距离平方的均值下最接近)。


更一般地,前

个主成分的分数向量和加载向量,构成了原始


维数据在


维空间的最佳近似,即



另外 PCA 还有其他一些需要注意的点:

规模化:

数据通常需要提前进行规模化(scaled)(每个变量乘以不同的常数),使得每个自变量的标准差为1。否则如果有部分变量方差特别大,那么PCA 的结果会受很大影响。

唯一性

每一个主成分在相差一个正负号的意义下式唯一的

被解释方差比例

我们通常关心前几个主成分反映了多少方差
数据总方差定义如下




个主成分的被解释方差定义如下:




个主成分被解释方差的比例(proportion of variance explained)


即为


决定主成分的个数

可以通过碎石图(scree plot),来决定主成分的个数
方法是寻找一个点,在这个点之后的点,主成分被解释方差比例很小


Java 主成分分析 主成分分析 结果_加载_03