主成分分析
在多元统计分析中，主成分分析（，）是一種统计分析、簡化數據集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换，从而投影为一系列线性不相关变量的值，这些不相关变量称为主成分（Principal Components）。具体地，主成分可以看做一个线性方程，其包含一系列线性系数来指示投影方向。PCA对原始数据的正则化或预处理敏感（相对缩放）。
基本思想：主成分分析经常用于减少数据集的维数，同时保留数据集當中对方差贡献最大的特征。这是通过保留低維主成分，忽略高維主成分做到的。这样低維成分往往能够保留住数据的最重要部分。但是，这也不是一定的，要视具体应用而定。由于主成分分析依赖所给数据，所以数据的准确性对分析结果影响很大。
主成分分析由卡尔·皮尔逊於1901年發明，用於分析數據及建立數理模型，在原理上与相似。之后在1930年左右由哈罗德·霍特林独立发展并命名。依据应用领域的不同，在信号处理中它也叫做离散K-L 转换（discrete Karhunen–Loève transform (KLT)）。其方法主要是通過對共變異數矩陣進行特征分解，以得出數據的主成分（即特征向量）與它們的權值（即特征值）。PCA是最簡單的以特征量分析多元統計分布的方法。其結果可以理解為對原數據中的方差做出解釋：哪一個方向上的數據值對方差的影響最大？換而言之，PCA提供了一種降低數據維度的有效辦法；如果分析者在原數據中除掉最小的特征值所對應的成分，那麼所得的低維度數據必定是最優化的（也即，這樣降低維度必定是失去訊息最少的方法）。主成分分析在分析複雜數據時尤為有用，比如人臉識別。
PCA是最简单的以特征量分析多元统计分布的方法。通常，这种运算可以被看作是揭露数据的内部结构，從而更好地展現数据的變異度。如果一个多元数据集是用高维数据空间之坐标系來表示的，那么PCA能提供一幅较低维度的图像，相當於数据集在讯息量最多之角度上的一個投影。这样就可以利用少量的主成分讓数据的维度降低了。
PCA 跟因子分析密切相关。因子分析通常包含更多特定領域底層結構的假設，並且求解稍微不同矩陣的特徵向量。
PCA 也跟典型相關分析（CCA）有關。CCA定義的坐標系可以最佳地描述兩個數據集之間的互協方差，而PCA定義了新的正交坐標系，能最佳地描述單個數據集當中的變異數。
PCA的数学定义是：一个正交化线性变换，把数据变换到一个新的坐标系统中，使得这一数据的任何投影的第一大方差在第一个坐标（称为第一主成分）上，第二大方差在第二个坐标（第二主成分）上，依次类推。
定义一个"n" × "m"的矩阵, X为去平均值（以平均值为中心移动至原点）的数据，其行为数据样本，列为数据类别（注意，这里定义的是X 而不是X）。则X的奇异值分解为X = WΣV，其中"m" × "m"矩阵W是XX的特征向量矩阵， Σ是"m" × "n"的非负矩形对角矩阵，V是"n" × "n"的XX的特征向量矩阵。据此，
当 "m" < "n" − 1时，V 在通常情况下不是唯一定义的，而Y 则是唯一定义的。W 是一个正交矩阵，YW=X，且Y的第一列由第一主成分组成，第二列由第二主成分组成，依此类推。
为了得到一种降低数据维度的有效办法，我们可以利用W把 X 映射到一个只应用前面L个向量的低维空间中去：
其中formula_3，且formula_4為formula_5的單位矩陣。
X 的单向量矩阵W相当于协方差矩阵的特征向量 C = X X,
在欧几里得空间给定一组点数，第一主成分对应于通过多维空间平均点的一条线，同时保证各个点到这条直线距离的平方和最小。去除掉第一主成分后，用同样的方法得到第二主成分。依此类推。在Σ中的奇异值均为矩阵 XX的特征值的平方根。每一个特征值都与跟它们相关的方差是成正比的，而且所有特征值的总和等于所有点到它们的多维空间平均点距离的平方和。PCA提供了一种降低维度的有效办法，本质上，它利用正交变换将围绕平均点的点集中尽可能多的变量投影到第一维中去，因此，降低维度必定是失去讯息最少的方法。PCA具有保持子空间拥有最大方差的最优正交变换的特性。然而，当与离散余弦变换相比时，它需要更大的计算需求代价。非线性降维技术相对于PCA来说则需要更高的计算要求。
PCA对变量的缩放很敏感。如果我们只有两个变量，而且它们具有相同的样本方差，并且成正相关，那么PCA将涉及两个变量的主成分的旋转。但是，如果把第一个变量的所有值都乘以100，那么第一主成分就几乎和这个变量一样，另一个变量只提供了很小的贡献，第二主成分也将和第二个原始变量几乎一致。这就意味着当不同的变量代表不同的单位（如温度和质量）时，PCA是一种比较武断的分析方法。但是在Pearson的题为 "On Lines and Planes of Closest Fit to Systems of Points in Space"的原始文件里，是假设在欧几里得空间里不考虑这些。一种使PCA不那么武断的方法是使用变量缩放以得到单位方差。
通常，为了确保第一主成分描述的是最大方差的方向，我们会使用平均减法进行主成分分析。如果不执行平均减法，第一主成分有可能或多或少的对应于数据的平均值。另外，为了找到近似数据的最小均方误差，我们必须选取一个零均值。
假设零经验均值，数据集 X 的主成分"w"可以被定义为：
为了得到第 "k"个主成分，必须先从X中减去前面的 formula_8 个主成分：
然后把求得的第"k"个主成分带入数据集，得到新的数据集，继续寻找主成分。
PCA相当于在气象学中使用的经验正交函数（EOF）,同时也类似于一个线性隐层神经网络。 隐含层 "K" 个神经元的权重向量收敛后，将形成一个由前 "K" 个主成分跨越空间的基础。但是与PCA不同的是，这种技术并不一定会产生正交向量。
PCA是一种很流行且主要的的模式识别技术。然而，它并不能最优化类别可分离性 。另一种不考虑这一点的方法是线性判别分析。
如上所述，主成分分析的结果依赖于变量的缩放。
主成分分析的适用性受到由它的派生物产生的某些假设 的限制。
通过使用降维来保存大部分数据信息的主成分分析的观点是不正确的。确实如此，当没有任何假设信息的信号模型时，主成分分析在降维的同时并不能保证信息的不丢失，其中信息是由香农熵来衡量的。 基于假设得 formula_11 也就是说，向量 "x" 是含有信息的目标信号 "s" 和噪声信号 "n" 之和，从信息论角度考虑主成分分析在降维上是最优的。
特别地，Linsker证明了如果 "s" 是高斯分布，且 "n" 是 与密度矩阵相应的协方差矩阵的高斯噪声，
以下是使用统计方法计算PCA的详细说明。但是请注意，如果利用奇异值分解（使用标准的软件）效果会更好。
我们的目标是把一个给定的具有 "M" 维的数据集X 变换成具有较小维度 "L"的数据集Y。现在要求的就是矩阵Y，Y是矩阵X Karhunen–Loève变换。:formula_12
假设有一组 "M" 个变量的观察数据，我们的目的是减少数据，使得能够用"L" 个向量来描述每个观察值，"L" < "M"。进一步假设，该数据被整理成一组具有"N"个向量的数据集，其中每个向量都代表"M" 个变量的单一观察数据。对于在最大限度地减少近似数据的均方误差的基础上找到一个主成分来说，均值减去法是该解决方案的不可或缺的组成部分 。因此，我们继续如下步骤： 其中h是一个全 1s:的1 × "N" 的行向量其中 formula_18为期望值
formula_19是最外层运算符
formula_20是共轭转置运算符。
请注意，如果B完全由实数组成，那么共轭转置与正常的转置一样。