
如何正确应用SPSS 软件做主成分分析
1引言
主成分分析( principal components analysis) 也称主分量分析,由霍特林(Hotelling)于1933 年首先提出。主成分分析是利用降维的思想,在损失很少信息的前提下把多个指标转化为几个综合指标的多元统计方法。通常把转化后的综合指标称之为主成分,其中每个主成分都是原始变量的线性组合,且各个主成分之间互不相关,这就使得主成分比原始变量具有某些更优越的性能。这样在研究复杂问题时就可以只考虑少数几个主成分而不至于损失太多信息,从而更容易抓住主要矛盾,揭示事物内部变量之间的规律性,同时使问题得到简化,提高分析效率。
由于主成分分析的这些优势,在实际问题中遇到指标较多且各指标相关关系较大时,人们常考虑应用主成分分析的方法。但是目前用SPSS 软件分析主成分的教材中和发表的文章中有很多错误和误解之处(SAS 软件中有主成分分析和因子分析的专门语句,一般不会出现这种情况) :(1)如果把主成分与原始变量(或标准化后的变量) 的相关系数矩阵叫做因子负荷阵,把原始变量标准化后用因子来表示的系数阵叫做因子载荷阵,那么SPSS 软件得到的是因子载荷阵,因子载荷阵表示标准化后的主成分( 或叫公因子,方差为1) 来近似标准化后原始变量的系数矩阵。(2)主成分的系数是因子载荷阵推出的,不是从因子负荷阵推出的,即从因子分析得到的载荷阵求主成分的系数时很多教材中和文章中的公式表达错误,虽然实际数据结果是对的。这时的主成分的方差不是1,即非标准化的主成分。(3)当SPSS 软件从相关系数求主成分时,主成分应表示为标准化后的随机变量的线性组合,有些文献中就没加区分,把主成分直接写成原始变量的线性组合。(4)为了从因子分析得到主成分的系数,在SPSS 软件中对因子不要旋转,实际上很多人旋转了。(5)从因子得分系数矩阵得到主成分系数表达式,可以认为因子与标准化原始变量间的变换关系是可逆的,因为因子的提取采用主成分方法时,标准化后的随机变量完全由因子来表示[3]。鉴于以上错误和误解,本文从主成分分析与因子分析的关系出发,借用SPSS 软件自带的例子,进行了正确的操作,将其结果与SAS 软件进行比较,结果完全相同。
2联系与区别
(一) 主成分分析
设对某一事物的研究涉及到p 个指标,记为X1,X2,…Xp,这p 个指标构成的p 维随机向量为X= ( X1,X2,…Xp) ′。对X 进行线性变换,可以形成新的综合变量,用Y 表示,也就是说,新的综合变量可以由原来的变量线性表示,满足下式:
Y1 = b11X1 + b12X2 + … + b1pXp
Y2 = b21X1 + b22X2 + … + b2pXp
……
Yp = bp1X1 + bp2X2 + … + bppXp (1)
由于可以任意地对原始变量进行上述的线性变换,不同的线性变换得到的综合变量Y 的统计特性也不尽相同。通常主成分要求满足如下的三个条件:
1. b′ibi = 1,即b2 i1 + b2 i2 + … + b2ip = 1,b′i = ( bi1,bi2,…,bip) ,i = 1,2,…,p;
2. Yi与Yj相互无关( i≠j;i,j = 1,2,…p) ;
3. Y1是X1,X2,…Xp的一切满足条件1 的线性组合中方差最大者;Y2是与Y1不相关的X1,X2,…Xp的一切满足条件1 的线性组合中方差最大者;……;Yp是与Y1,Y2,…,Yp - 1都不相关的X1,X2,…Xp的一切满足条件1 的线性组合中方差最大者。
基于以上三个条件决定的综合变量,我们把Y1,Y2,…,Yp重新记为G1,G2,…,Gp,分别称为原始变量的第一、第二、…、第p 主成分,其系数重新记为cij,(i,j = 1,2,…,p) ,根据矩阵代数的知识,每个主成分的方差( var(Gi) ,i = 1,2,…,p) ,其实就是X1,X2,…Xp的协方差阵Σ 的非零特征值(λi) ,于是主成分与原始变量关系为:
G1 = c11X1 + c12X2 + … + c1pXp
G2 = c21X1 + c22X2 + … + c2pXp
……
Gp = cp1X1 + cp2X2 + … + cppXp (2)
记G = (G1,G2,…,Gp) ′,C = (cij)p × p,那么上式可以表示为:G = C′X,其中C是正交阵。如果数据是标准化后,即从相关系数矩阵出发,求得的特征值与对应的特征向量为主成分的系数矩阵。基于相关系数矩阵还是基于协方差矩阵做主成分分析:当分析中所选择的经济变量具有不同的量纲,变量水平差异很大,应该选择基于相关系数矩阵的主成分分析。对同度量或是取值范围在同量级的数据,还是直接从协方差矩阵求主成分。
对上述问题涉及到的p 个指标X1,X2,…Xp,我们为了从相关系数矩阵出发,将p 个指标标准化后记为ZX = ( ZX1,ZX2,…ZXp) ′,相关系数矩阵记为R。那么求得的主成分可以表示为:
F1 = u11ZX1 + u12ZX2 + … + u1pZXp
F2 = u21ZX1 + u22ZX2 + … + u2pZXp
……
Fp = up1ZX1 + up2ZX2 + … + uppZXp (3)
其中:u′i = ( ui1,ui2,…,uip) ,F = (F1,F2,…,Fp) ′,
那么上式可以表示为:F = U′ZX,其中U 是正交阵。
(二) 因子分析
因子分析(factor analysis) 的一般模型:设对某一事物的研究涉及到p 个指标X1,X2,…Xp,这p 指标有着较强的相关性,为了便于研究,在指标同向化的基础上,将样本数据进行标准化。为了说明方便,将同向化和标准化后的变量向量用ZX 表示,即ZX= (ZX1,ZX2,…ZXp) ′,其均值向量E(ZX)= 0,协方差矩阵记为cov(ZX) = Σ zx,其实这里的协方差矩阵Σ zx与相关系数矩阵Rzx相同,那么因子分析
的一般模型为:
ZX1 = a11 f1 + a12 f2 + … + a1m fm + ε1
ZX2 = a21 f1 + a22 f2 + … + a2m fm + ε2
……
ZXp = ap1 f1 + ap2 f2 + … + apm fm + εp (4)
其中f = (f1,f2,…fm) ′,(m < p ) 为公因子,ε= (ε1,ε1,…εp) ′为特殊因子,它们都是不可观测的随机变量,A = (aij)p × m叫做因子载荷阵。f 的均值向量E(f) = 0,协方差cov(f) = I,E(ε) = 0,且ε 与f相互独立,ε 的协方差矩阵是对角阵。
(三) 主成分与因子分析的联系
主成分分析与因子分析都是绛维的分析方法,利用少数几个变量对数据进行解释。主成分分析是一种数据的变换,而不假定数据阵有什么样的结构形式;因子分析可以看成是一种模型分析,当模型的某些条件不满足时,因子分析可能是虚假的。主成分分析的重点放在从观测变量到主成分的变换上,因子分析重点放在从基本因子到观测变量的变换上,主成分变换是可逆的,因子分析则不要求。当特殊因子的变差为0时,主成分分析和因子分析是完全等价的。那么对于一个因子分析模型怎么估计其因子载荷矩阵A,实践中有很多方法,其中有一种就是上述的主成分分析方法,从公式F= U′ZX 我们可以得到ZX = UF,具体表达式为:
ZX1 = u11F1 + u21F2 + … + up1Fp
ZX2 = u12F1 + u22F2 + … + up2Fp
……
ZXp = u1pF1 + u2pF2 + … + uppFp (5)
对上面的等式(5)只保留前m(m < p) 个主成分,而把后面的部分用εi代替,则
当主成分F1,F2,…,Fp是从标准化后的相关系数矩阵求出,各成分相互独立,且其方差按大到小的排序为λ1,λ2…λp,我们将式(6)
做。通过上述变换,我们就能得到与式(4)类似的因子模型表达式。注意这里的ε1,ε2,…εp与式(4 ) 的ε1,ε2,…εp是有区别的,式(4)要求它们相互独立而这里它们之间不独立,为了方便还是用原符号表示。
实际上对于主成分分析SPSS 软件中没有对应的模块,但是因子分析模块中有利用主成分分析来求得因子载荷矩阵,根据上面主成分分析与因子分析的联系,我们可以从SPSS 的因子载荷矩阵得到主成分分析的系数。由于主成分分析所得到的特殊因子ε1,ε2,…εp并不独立,因此所得的因子载荷并不完全正确。但是当共同度较大时,特殊因子所起的作用较小,那么特殊因子之间的相关性所带来的影响就几乎可以忽略不计,这时主成分分析和因子分析是完全等价的(公因子的数目与变量一样多)。这时可以利用式(4)中的aij反推出式(3)中的uij它们之间的关系是,也就是推出了从因子载荷矩阵得到主成分系数表达式。
3主成分分析的SPSS 实现
本文利用SPSS 软件自带的数据集Employee data 为例说明如何利用因子分析模块得到主成分系数。数据集Employee data 为Midwestern 银行在1969 - 1971 年之间雇员情况的数据,共包括474 条观测及如下10个变量:Id(观测号)、Gender(性别)、Bdate(出生日期)、Educ (受教育程度(年数))、Jobcat(工作种类)、Salary (目前年薪)、Salbegin (开始受聘时的年薪)、Jobtime(受雇时间)、Prevexp(受雇以前的工作时间)、Minority(是否少数民族)。我们将educ、salary、salbegin、jobtime、prevexp 依次表示为X1,X2,X3,X4,X5。数据在同向化的基础上SPSS 中的因子分析默认针对标准化后的数据来分析的,所以利用Analyze → Descriptive Statistics →Descriptives…进入描述性统计对话框,依次选中变量X1,X2,X3,X4,X5并点向右的箭头按钮,这五个变量便进入variables 窗口,选中Save standardizedas variables 复选框,点击OK 按钮,即可在数据窗口得到标准化的数据ZX1,ZX2,ZX3,ZX4,ZX5。接下来对标准化后的数据进行分析,点击Analyze→Data Reduction→Factor…进入Factor Analysis( 因子分析)对话框。依次选中变量ZX1,ZX2,ZX3,ZX4,ZX5(用原始数据也是一样,标准化主要是在主成分表达中需要)并点向右的箭头按钮,这五个变量便进入variables 窗口,点击右侧的OK 按钮,即可得到表1、表2 和表3。
表1中的Communalities(共同度)数据给出了该次分析从每个原始变量中提取的信息(特征根大于1),可以看到除受教育程度(ZX1)信息损失较大外,主成分几乎包含了各个原始变量至少90% 的信息。表2 中的Total Variance Explained(总方差解释部分)则显示了各主成分解释原始变量总方差的情况,SPSS 默认保留特征根大于1 的主成分,在本例中看到当保留3 个主成分为宜,这3 个主成分集中了原始5 个变量信息的90. 66% ,可见效果是比较好的。表3中Component Matrix(因子载荷矩阵)给出了标准化原始变量用公因子线性表示的近似表达式,提取三个公因子时的因子模型可以表示为:
ZX1 = 0. 846f1 - 0. 194f2 - 0. 014f3 + ε1
ZX2 = 0. 940f1 + 0. 104f2 + 0. 029f3 + ε2
……
ZX5 = - 0. 178f1 + 0. 965f2 + 0. 069f3 + εp
根据上面的因子载荷系数aij与主成分系数uij之间的关系 ,也就推出了从相关系数矩阵得到的主成分系数表达式:
实际中我们通常只选取前几个主成分,例如F1,F2,F3来反映原p 个变量信息。主成分系数还可以通过进入Factor Analysis 对话框并选择好变量之后,点击对话框下部的Scores 按钮进入Factor Scores 对话框,选择Display factor score coefficient matrix 选项,并按Continue 继续,最后点击OK 按钮运行,也可以推出主成分的系数,具体参见何晓群教授的多元统计分析。作者又应用SAS 软件(从相关系数出发) 得到的结果与上述的结果一样。
4结论
从上面的分析可以看出,因子分析和主成分分析都依赖于原始变量,所以原始变量的选择很重要(指标的选择非常重要)。如果原始变量都本质上独立,那么降维就可能失败,这是因为很难把很多独立变量用少数综合的变量概括。数据越相关,降维效果就越好。其次,对于具体的问题指标选取之后还要对其处理,正向指标、逆向的指标和区间型指标怎样转换成可以比较的指标问题。最后,从相关系数出发建立主成分的系数矩阵还是从协方差矩阵出发建立主成分的系数还没有定论。因子分析中的特殊因子如果作用较大,不能从因子载荷阵推主成分系数。可见建立主成分模型的事前步骤和事后分析很重要,不是随便什么数据拿来用SPSS软件分析得出结果就行了。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
R 语言:数据科学与科研领域的核心工具及优势解析 一、引言 在数据驱动决策的时代,无论是科研人员验证实验假设(如前文中的 T ...
2025-09-08T 检验在假设检验中的应用与实践 一、引言 在科研数据分析、医学实验验证、经济指标对比等领域,常常需要判断 “样本间的差异是 ...
2025-09-08在商业竞争日益激烈的当下,“用数据说话” 已从企业的 “加分项” 变为 “生存必需”。然而,零散的数据分析无法持续为业务赋能 ...
2025-09-08随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03CDA 数据分析师与数据分析:解锁数据价值的关键 在数字经济高速发展的今天,数据已成为企业核心资产与社会发展的重要驱动力。无 ...
2025-09-03解析 loss.backward ():深度学习中梯度汇总与同步的自动触发核心 在深度学习模型训练流程中,loss.backward()是连接 “前向计算 ...
2025-09-02要解答 “画 K-S 图时横轴是等距还是等频” 的问题,需先明确 K-S 图的核心用途(检验样本分布与理论分布的一致性),再结合横轴 ...
2025-09-02CDA 数据分析师:助力企业破解数据需求与数据分析需求难题 在数字化浪潮席卷全球的当下,数据已成为企业核心战略资产。无论是市 ...
2025-09-02Power BI 度量值实战:基于每月收入与税金占比计算累计税金分摊金额 在企业财务分析中,税金分摊是成本核算与利润统计的核心环节 ...
2025-09-01巧用 ALTER TABLE rent ADD INDEX:租房系统数据库性能优化实践 在租房管理系统中,rent表是核心业务表之一,通常存储租赁订单信 ...
2025-09-01CDA 数据分析师:企业数字化转型的核心引擎 —— 从能力落地到价值跃迁 当数字化转型从 “选择题” 变为企业生存的 “必答题”, ...
2025-09-01数据清洗工具全景指南:从入门到进阶的实操路径 在数据驱动决策的链条中,“数据清洗” 是决定后续分析与建模有效性的 “第一道 ...
2025-08-29机器学习中的参数优化:以预测结果为核心的闭环调优路径 在机器学习模型落地中,“参数” 是连接 “数据” 与 “预测结果” 的关 ...
2025-08-29