- 主成分分析(PCA)是一种强大的探索性模型,可以降低数据的维度。它非常适用于有大量变量(列)的情况,也适用于分析那种列多于行的表;
- 通过 PCA,你可以实现:可视化你的数据,以便进行探索性分析(exploratory analyses)。你可以选择任意两个主成分使用分数图绘制数据行,或使用载荷图绘制数据列,从而寻找数据的感兴趣的特征;减少用于后续分析(如主成分回归,PCR)的预测因子数量。
- 关键词:降维;特征选择与提取;数据投射较低维度中
02 模型局限性
PCA 通过提取数据中的线性关系来工作。实践中,使用这些线性关系就足够了,且不可否认,它之所以如此流行的一部分原因是线性假设极大地简化了计算。然而,PCA 主要的一个限制在于它是忽视非线性关系的。例如有 3 列数据:X1、X2 和 X3。如果 X1 = X2*X3(非线性关系),那么 PCA 就不能准确的提取出该关系。相比之下,PCA 能够提取出变量之间复杂的线性关系。
如何进行主成分分析? —— 以 Prism 9 为例
01 一般步骤
- 在 Prism 9 的「欢迎(Welcome)或新建图表(New Table)」对话框中,创建一个多变量数据表。只有多变量数据表可以用于执行 PCA 的图表类型。选择将数据输入到一个新表中,或者从主成分分析的示例数据集开始;
- 输入数据。每一列代表一个不同的变量,而每一行代表一个不同的观察或重复测量值。PCA 只能分析连续变量。数据表中包含的分类变量可用于定制 PCA 生成的图形;
- 开始主成分分析。从数据表中,单击工具栏上的【Analyze 按钮】。在分析数据对话框的多变量分析部分中选择主成分分析。或者,在数据表界面,点击【工具栏】-【分析区域】-【PCA】按钮即可开始进行分析;
02 参数选择(关于 PCA 的 4 个选项卡的设置)
Prism 9 在执行主成分分析前,设置了四个主要参数需要预设,以确保最终得到预想结果。
设计(Design)
选择要包含在 PCA 中的变量,下方还有一个选项,可以选择用于运行主成分回归的结果变量。
- 在 [Design] 选项卡中,你可以指定用于 PCA 的测量变量值(有时称为预测变量或只是称为 X 变量)。PCA 分析是完全基于测量变量,这让你可以确定变量的底层结构、识别变量的类型或行,并可视化你的数据;
- 至少选择两个连续变量来包含到主成分分析中;
- 如果你希望对减少维度的主成分分数运行主成分回归(PCR),请选中此选项并选择因变量(结果);
选项(Options)
选择如何标准化列以及如何确定要保留的主成分的数量。
- 在 [Options] 选项卡中,需要你做两个重要的决定,它们会严重影响之后 PCA 的结果和结论。一般建议对标准化数据执行 PCA,并通过「并行分析(Parallel Analysis)」来选择成分数量。如果你想选择其它方法,需要先明确为什么再操作;
- [Method]:这里需要决定是对标准化数据还是中心化数据执行 PCA。Standardized data - 推荐,也称为相关矩阵上的主成分分析,适用于变量单位不相同的情况;Centered data - 对中心化数据执行主成分分析,是适用于单位相同的变量的情况,又称为协方差矩阵主成分分析(PCA on the covariance matrix)。但是这较少使用;
- [Method for selecting principal components]:选择主成分的过程就是确定降维数据集在执行 PCA 后中将具有多少个「维度」的过程;
注:Prism 9 提供了方法帮助选择:平行分析(Parallel analysis)- 推荐;根据特征值选择主成分;根据总解释方差的百分比选择主成分;选择所有主成分;
输出(Output)
自定义报告的输出。还可以选择包括其它用于绘制图形的变量(如,用于符号颜色、大小、标签等)
- 在 [Output] 选项卡中,你可以自定义 PCA 的输出,并定义附加变量以包含在结果表中。这些额外的变量可以用于绘图和后续分析;
- [Additionally report]:选择是否报告可选结果表;
- [Additional variables for graphing (PC scores table)]:选择可选变量来优化图形;
图表(Graphs)
选择需要 Prism 绘制的图表。PCA 生成的图表包括:
Proportion of Variance Plot 方差比例图
03 主成分回归分析(PCR, Principal Component Regression)
PCR 是多元线性回归和主成分分析的结合。主要用于解决自变量之间存在高度相关的情况。英文注释参考:
Principal component regression (PCR) is a combination of multiple linear regression and principal component analysis. One of the primary goals of Principal Component Analysis is to reduce the number of predictors for a future analysis, which also reduces the number of degrees of freedom in the model.
PCA 会生成许多不同的分析结果选项卡。其四个主要选项卡是每个分析都有的,其提供了分析的主要结果。另外六个选项卡是可选的结果,在参数对话框的选项卡中选择。如果选择执行主成分回归(PCR),这些结果会显示在各自的【results 选项卡】上。
01 主要结果(Primary Results)
- 表格形式结果(Tabular Results):表格形式结果提供了分析的一个快照,包括特征值,解释方差比例,和选择的成分的数量。所有的主成分都包含在这个表中,即使只选择了一些成分。
- 特征值(Eigenvalues):A 列列出了特征值,它量化了每个主成分解释的方差量。B 列尽当在 [Method for selecting principal components] 中选择平行分析时才显示。
- 载荷(Loadings):根据数据是标准化还是中心化的,载荷分别是数据列和特征向量之间的相关系数或协方差。
- 主成分得分(Principal Component Scores):主成分得分是由 PCA 得出的,用于绘制数据行,并用于运行进一步的分析,如多重线性或逻辑回归。它们是通过将标准化或中心化数据乘以特征向量计算得出的。分数只有在该选项时才显示。
- 标准化或中心化数据(Standardized or Centered Data):在 PCA 对话框的 options 选项卡中,你选择在标准化(居中和缩放)或中心化数据上运行 PCA。这个可选选项卡显示了这些值,它们是 PCA 计算的输入值。
- 特征向量(Eigenvectors):特征向量是主成分分析 (以及许多其他多元分析方法) 的支柱,因为它们定义了解释输入数据中最大方差的向量。下表中的每一列值代表一个特征向量。特征向量只在选择了对应的方法时才显示。
- 变量贡献矩阵(Comtribution matrix of variables):变量的贡献矩阵表示哪些变量对主成分的计算做出了「贡献」。每一行代表一个变量,每一列代表一个主成分。
- 变量与主成分之间的相关矩阵(Correlation matrix between variables and Principal Components):如果你对标准化(居中和缩放)数据运行 PCA,那么这个矩阵与载荷矩阵相同。但是,如果你对中心化数据运行 PCA,那么载荷矩阵就是变量与特征向量的协方差。在这种情况下,你可能希望查看相关矩阵,以便更容易地解释载荷的大小。
- 实例贡献矩阵(Contribution matrix of cases):与变量的贡献矩阵类似,实例的贡献矩阵表示相对于其他行,哪些行对主成分有贡献。每一行代表一种实例(原始数据表中的行),每一列代表一个主成分。注意,只有在对应的方法勾选后,该矩阵才会在表中显示。
- 变量之间的相关 or 协方差矩阵(Correlation/Covariance matrix between variables):变量之间的相关(或协方差)矩阵,就是数据输入列的相关(或协方差)矩阵。如果数据已做了标准化(居中和缩放),那它与相关矩阵是相同的。
- 主成分回归的结果(PCR results):主成分回归是 PCA 和多元线性回归(MLR)的结合。通常,通过 PCA 降低维数的目标是 PCR,Prism 提供了在 PCA 中执行 PCR 的能力。