Please enable JavaScript to view this site.

主成分分析(PCA)是一种无监督*学习方法,它利用高维数据(即包含大量独立变量的数据)中存在的模式,在保留大部分信息的同时降低数据的复杂性。

*“无监督”是机器学习中用于指代某项技术在处理数据时不使用结果或标签的术语。为理解这一点,可将其与监督学习进行对比。回归就是监督学习方法的一个例子,因为它使用一组已知的结果值(独立变量),并构建模型来将预测变量(在机器学习中有时称为“特征”)与这些结果联系起来。 相比之下,无监督学习方法(如PCA)在进行分析时不使用任何标签(结果)。您无需定义任何结果(因变量)或预测变量(独立变量)。相反,它仅关注数据的属性(就PCA而言,它利用数据中的方差)。

 

全局视角

何时适用PCA?

由于PCA的主要目标是减少描述数据集所需的变量数量,因此当数据中变量过多、难以轻松探索或可视化时,它最为有用

数据集中的变量可能存在多重共线性,即两个或多个变量之间存在统计学显著的相关性。这意味着一个变量的值可以通过另一个变量的值来描述。然而,对于许多统计模型而言,变量之间相互独立至关重要(因此常被称为“独立变量”)。 若不满足这一条件(即变量存在多重共线性),则各种统计模型或分析结果的解读将变得困难,甚至无法进行。PCA生成的主成分之间不存在共线性。换言之,每个主成分彼此完全正交(与其他主成分的相关系数为零)

当将主成分用作多元回归的输入时,PCA 有助于消除过拟合问题(即模型对样本数据拟合过于紧密,导致在预测数据采样母体中的值时表现不佳)。这种情况通常发生在数据中的变量数量相对于观测值数量过多时。 在这种情况下,数据中的噪声(随机误差)会对模型产生过大的影响。由于PCA可用于减少变量数量,因此有助于克服过拟合问题

PCA 与变量选择是一回事吗?

不。在PCA中,每个主成分(PC)都是所有原始变量的线性组合。所有变量的信息都被用于定义每个主成分。相比之下,变量选择的过程是根据给定标准从数据集中剔除整个变量。Prism不提供任何形式的自动变量选择

 

分析选项

为何“主成分回归(PCR)”选项呈灰色(不可用)?

执行 PCR 需要选择一个因变量。该因变量不能同时包含在 PCA 中。默认情况下,Prism 会将所有(连续型)变量都纳入 PCA,因此没有可用的变量可选作 PCR 的因变量。因此,PCR 选项呈灰色不可用。一旦从 PCA 变量列表中取消选中某个变量,PCR 选项即会变为可用

我应该对数据进行中心化处理吗?我应该对数据进行标准化处理吗?

如有疑问,请对数据进行标准化

数据中心化首先需要确定每个变量的均值,然后将该均值从该变量的每个数值中减去。在生成的数据集中,每个变量的均值均为零。请注意,仅进行中心化处理不会改变变量的标准偏差

数据的标准化首先需要对变量进行中心化处理(参见上文)。随后,计算每个变量的标准偏差,并将每个中心化后的数值除以其所属变量的标准偏差。这样得到的数据集中,每个变量的均值为零,标准偏差为1(因此方差也为1)

在未进行中心化和标准化处理的数据上运行PCA的情况很少见(尽管在少数学科中会这样做)。Prism不提供此选项

PCA 通过分析数据集的变异性来工作。变异性较大的变量对 PCA 结果的影响更大。然而,变异性的差异可能仅仅是由于测量尺度的不同所致(例如,以毫米为单位的长度测量值,仅因测量尺度不同,其变异性就会大于以米为单位的相同长度测量值)。 在某些情况下,保留数据集中方差之间的关系可能很重要,但通常建议对数据进行标准化处理(即将每个变量的方差设为1,参见上文)

应如何选择保留的主成分(PC)数量?

我们建议使用平行分析(PA)作为选择保留主成分数量的方法。历史上,基于特征值(凯泽法则等)或解释方差比例的其他方法曾较为常见。然而,普遍认为PA是成分选择的最佳经验方法

Prism 要求输入的随机种子是什么?它在表格结果中会显示吗?

平行分析采用蒙特卡洛模拟,随机数生成器需要一个初始值 - 即种子。若需精确重复分析,每次必须使用相同的种子。若您有此需求,当选择平行分析时,Prism 将在表格结果页中显示所使用的随机种子。 您还可以在参数对话框中输入种子值。请注意,随机种子仅与平行分析相关,其他用于选择成分的方法均不使用随机种子。

 

理解PCA结果

PCA 无法在数据中发现哪些关系?

PCA 通过创建原始变量的线性组合来降低数据集的维度。PCA 无法识别变量之间的非线性关系

如果将PCA得到的主成分(PCs)作为输入用于另一项PCA分析,会发生什么?

根据定义,每个主成分(PC)都与其他所有主成分正交,这意味着任意两个主成分之间的相关系数恰好为零。在这种情况下,Prism 不会生成主成分得分或载荷表,因为此时进行 PCA 分析已无实际意义

主成分的相关矩阵是什么样子的?

每个主成分与其他所有主成分正交,这意味着任意两个主成分之间的相关系数恰好为零。相关矩阵将显示所有主成分对的相关系数均等于(或非常接近)零(而主成分与自身的相关系数为1.0)。您可以在Prism中对“主成分得分”表执行相关矩阵分析来亲自验证这一点。由于数值计算中的舍入误差,这些数值可能并非精确为零

何时成分数与变量数不同?

PCA的表格结果中同时列出了从数据集生成的成分数以及该数据集所含的原始变量数。这两个数值几乎总是相等的。 请注意,因子数通常大于所选因子数。只有在以下两种情况下,因子总数才会少于变量数:i) 两个(或多个)变量完全相同,或 ii) 一个变量是另一个变量的线性组合。在这两种情况下,因子数都会少于变量数

为什么会跳过某些行?

PCA 仅包含分析中所有变量(列)均有值的行。当某行中任意变量的值为空(缺失值)或被排除时,该行将被跳过。PCA 的表格结果会显示被排除的行数

我该如何处理PCA结果?

如果您在 Prism 中作为 PCA 的一部分运行了主成分回归(PCR),那么您需要关注的是 PCR 结果。如果您运行 PCR,则可能需要选择并复制(或导出)主成分得分表以进行进一步分析。 很多时候,PCA 的目的仅仅是查看 Prism 生成的、将数据投影到前几个主成分上的图表。这些可视化图表通常能提供有关观测值内部趋势(如组、聚类等)的有用信息

 

理解 PCR 结果

为什么我的PCR结果中的系数数量多于所选的主成分数量?

主成分回归(PCR)是指使用指定的因变量(因变量)以及从PCA中选出的主成分作为预测变量,进行多元线性回归的过程。执行线性回归后,系数将转换为原始变量的量纲(使用定义每个主成分的原始变量线性组合)

为何PCR结果中的方差分析表显示回归的自由度如此之少?

回归的自由度等于PCA中选定作为回归自变量的成分数。因此,系数的数量几乎总是超过回归的自由度。这实际上正是PCR的核心意义所在!

我该如何解读 PCR 结果?

主成分回归(PCR)是一种多元回归分析,它将PCA生成的主成分(PCs)作为独立变量,并结合您选择的另一个变量(不属于PCA)作为因变量。PCR的结果结构与多元线性回归生成的结果完全一致。如需了解更多信息,请查阅多元线性回归的分析检查表