主成分分析

一个高斯分布，平均值为(1, 3)，标准差在(0.878, 0.478)方向上为3、在其正交方向上为1的主成分分析。黑色的两个向量是此分布的共变异数矩阵的特征向量，其长度为对应的特征值之平方根，并以分布的平均值为原点。
在多变量分析中，主成分分析（Principal components analysis，缩写：PCA）是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换，从而投影为一系列线性不相关变量的值，这些不相关变量称为主成分（Principal Components）。具体地，主成分可以看做一个线性方程，其包含一系列线性系数来指示投影方向。PCA对原始数据的正则化或预处理敏感（相对缩放）。
基本思想：- 将坐标轴中心移到数据的中心，然后旋转坐标轴，使得数据在C1轴上的方差最大，即全部n个数据个体在该方向上的投影最为分散。意味着更多的信息被保留下来。C1成为第一主成分。- C2第二主成分：找一个C2，使得C2与C1的协方差（相关系数）为0，以免与C1信息重叠，并且使数据在该方向的方差尽量最大。- 以此类推，找到第三主成分，第四主成分……第p个主成分。p个随机变量可以有p个主成分。
主成分分析经常用于减少数据集的维数，同时保留数据集当中对方差贡献最大的特征。这是通过保留低维主成分，忽略高维主成分做到的。这样低维成分往往能够保留住数据的最重要部分。但是，这也不是一定的，要视具体应用而定。由于主成分分析依赖所给数据，所以数据的准确性对分析结果影响很大。
主成分分析由卡尔·皮尔逊于1901年发明，用于分析数据及建立数理模型，在原理上与Principal axis theorem相似。之后在1930年左右由哈罗德·霍特林独立发展并命名。依据应用领域的不同，在信号处理中它也叫做离散K-L 转换（discrete Karhunen–Loève transform (KLT)）。其方法主要是通过对共变异数矩阵进行特征分解，以得出数据的主成分（即特征向量）与它们的权值（即特征值）。PCA是最简单的以特征量分析多元统计分布的方法。其结果可以理解为对原数据中的方差做出解释：哪一个方向上的数据值对方差的影响最大？换而言之，PCA提供了一种降低数据维度的有效办法；如果分析者在原数据中除掉最小的特征值所对应的成分，那么所得的低维度数据必定是最优化的（也即，这样降低维度必定是失去讯息最少的方法）。主成分分析在分析复杂数据时尤为有用，比如人脸识别。
PCA是最简单的以特征量分析多元统计分布的方法。通常，这种运算可以被看作是揭露数据的内部结构，从而更好地展现数据的变异度。如果一个多元数据集是用高维数据空间之坐标系来表示的，那幺PCA能提供一幅较低维度的图像，相当于数据集在讯息量最多之角度上的一个投影。这样就可以利用少量的主成分让数据的维度降低了。
PCA 跟因子分析密切相关。因子分析通常包含更多特定领域底层结构的假设，并且求解稍微不同矩阵的特征向量。
PCA 也跟典型相关分析（CCA）有关。CCA定义的坐标系可以最佳地描述两个数据集之间的互协方差，而PCA定义了新的正交坐标系，能最佳地描述单个数据集当中的变异数。

**数学定义**
PCA的数学定义是：一个正交化线性变换，把数据变换到一个新的坐标系统中，使得这一数据的任何投影的第一大方差在第一个坐标（称为第一主成分）上，第二大方差在第二个坐标（第二主成分）上，依次类推。
定义一个的矩阵, 为去平均值（以平均值为中心移动至原点）的数据，其行为数据样本，列为数据类别（注意，这里定义的是 而不是）。则的奇异值分解为，其中是的特征向量矩阵， 是奇异值矩阵，是的特征向量矩阵。据此，

当 m TWT=XT，且YT的第一列由第一主成分组成，第二列由第二主成分组成，依此类推。
为了得到一种降低数据维度的有效办法，我们可以利用WL把 X 映射到一个只应用前面L个向量的低维空间中去：
 
其中，且为的单位矩阵。
X 的单向量矩阵W相当于协方差矩阵的特征向量 C = X XT,

在欧几里得空间给定一组点数，第一主成分对应于通过多维空间平均点的一条线，同时保证各个点到这条直线距离的平方和最小。去除掉第一主成分后，用同样的方法得到第二主成分。依此类推。在Σ中的奇异值均为矩阵 XXT的特征值的平方根。每一个特征值都与跟它们相关的方差是成正比的，而且所有特征值的总和等于所有点到它们的多维空间平均点距离的平方和。PCA提供了一种降低维度的有效办法，本质上，它利用正交变换将围绕平均点的点集中尽可能多的变量投影到第一维中去，因此，降低维度必定是失去讯息最少的方法。PCA具有保持子空间拥有最大方差的最优正交变换的特性。然而，当与离散余弦变换相比时，它需要更大的计算需求代价。非线性降维技术相对于PCA来说则需要更高的计算要求。
PCA对变量的缩放很敏感。如果我们只有两个变量，而且它们具有相同的样本方差，并且成正相关，那幺PCA将涉及两个变量的主成分的旋转。但是，如果把第一个变量的所有值都乘以100，那幺第一主成分就几乎和这个变量一样，另一个变量只提供了很小的贡献，第二主成分也将和第二个原始变量几乎一致。这就意味着当不同的变量代表不同的单位（如温度和质量）时，PCA是一种比较武断的分析方法。但是在Pearson的题为
"On Lines and Planes of Closest Fit to Systems of Points in Space"的原始文件里，是假设在欧几里得空间里不考虑这些。一种使PCA不那幺武断的方法是使用变量缩放以得到单位方差。

**讨论**
通常，为了确保第一主成分描述的是最大方差的方向，我们会使用平均减法进行主成分分析。如果不执行平均减法，第一主成分有可能或多或少的对应于数据的平均值。另外，为了找到近似数据的最小均方误差，我们必须选取一个零均值。
假设零经验均值，数据集 X 的主成分w1可以被定义为：

为了得到第 k个主成分，必须先从X中减去前面的  个主成分：

然后把求得的第k个主成分带入数据集，得到新的数据集，继续寻找主成分。

PCA相当于在气象学中使用的经验正交函数（EOF）,同时也类似于一个线性隐层神经网络。 隐含层 K 个神经元的权重向量收敛后，将形成一个由前 K 个主成分跨越空间的基础。但是与PCA不同的是，这种技术并不一定会产生正交向量。
PCA是一种很流行且主要的模式识别技术。然而，它并不能最优化类别可分离性 。另一种不考虑这一点的方法是线性判别分析。

**符号和缩写表**

**主成分分析的属性和限制**
如上所述，主成分分析的结果依赖于变量的缩放。
主成分分析的适用性受到由它的派生物产生的某些假设 的限制。

**主成分分析和信息理论**
通过使用降维来保存大部分数据信息的主成分分析的观点是不正确的。确实如此，当没有任何假设信息的信号模型时，主成分分析在降维的同时并不能保证信息的不丢失，其中信息是由香农熵来衡量的。
基于假设得
也就是说，向量 x 是含有信息的目标信号 s 和噪声信号 n 之和，从信息论角度考虑主成分分析在降维上是最优的。
特别地，Linsker证明了如果 s 是高斯分布，且 n 是 与密度矩阵相应的协方差矩阵的高斯噪声，

**使用统计方法计算PCA**
以下是使用统计方法计算PCA的详细说明。但是请注意，如果利用奇异值分解（使用标准的软件）效果会更好。
我们的目标是把一个给定的具有 M 维的数据集X 变换成具有较小维度 L的数据集Y。现在要求的就是矩阵Y，Y是矩阵X  Karhunen–Loève变换。:

**组织数据集**
假设有一组 M 个变量的观察数据，我们的目的是减少数据，使得能够用L 个向量来描述每个观察值，L - Correspondence analysis- Canonical correlation- CUR matrix approximation (can replace of low-rank SVD approximation)- Detrended correspondence analysis- Dynamic mode decomposition- 特征脸(Eigenface)- 多线性主成分分析(Multilinear PCA)- Geometric data analysis- Factorial code- 独立成分分析- 核主成分分析- 矩阵分解- Nonlinear dimensionality reduction- Oja's rule- Point distribution model (PCA applied to morphometry and computer vision)- Principal component regression- Singular spectrum analysis- 奇异值分解- Sparse PCA- 变换编码- 最小二乘法- Low-rank approximation- 图模式- 马尔可夫链- 马尔可夫逻辑网络