实验课:因子分析
实验目的
理解主成分(因子)分析的基本原理,熟悉并掌握SPSS中的主成分(因子)分析方法及其主要应用。
因子分析
一、 基础理论知识
1 概念
因子分析(Factor analysis):就是用少数几个因子来描述许多指标或因素之间的联系,以较少几个因子来反映原资料的大部分信息的统计学分析方法。从数学角度来看,主成分分析是一种化繁为简的降维处理技术。
主成分分析(Principal component analysis):是因子分析的一个特例,是使用最多的因子提取方法。它通过坐标变换手段,将原有的多个相关变量,做线性变化,转换为另外一组不相关的变量。选取前面几个方差最大的主成分,这样达到了因子分析较少变量个数的目的,同时又能与较少的变量反映原有变量的绝大部分的信息。
两者关系:主成分分析(PCA)和因子分析(FA)是两种把变量维数降低以便于描述、理解和分析的方法,而实际上主成分分析可以说是因子分析的一个特例。
2 特点
(1)因子变量的数量远少于原有的指标变量的数量,因而对因子变量的分析能够减少分析中的工作量。
(2)因子变量不是对原始变量的取舍,而是根据原始变量的信息进行重新组构,它能够反映原有变量大部分的信息。
(3)因子变量之间不存在显著的线性相关关系,对变量的分析比较方便,但原始部分变量之间多存在较显著的相关关系。
(4)因子变量具有命名解释性,即该变量是对某些原始变量信息的综合和反映。 在保证数据信息丢失最少的原则下,对高维变量空间进行降维处理(即通过因子分析或主成分分析)。显然,在一个低维空间解释系统要比在高维系统容易的多。
第 1 页
3 类型
根据研究对象的不同,把因子分析分为R型和Q型两种。 当研究对象是变量时,属于R型因子分析; 当研究对象是样品时,属于Q型因子分析。
但有的因子分析方法兼有R型和Q型因子分析的一些特点,如因子分析中的对应分析方法,有的学者称之为双重型因子分析,以示与其他两类的区别。
4分析原理
假定:有n个地理样本,每个样本共有p个变量,构成一个n×p阶的地理数据矩阵 : 当p较大时,在p维空间中考察问题比较麻烦。这就需要进行降维处理,即用较少几个综合指标代替原来指标,而且使这些综合指标既能尽量多地反映原来指标所反映的信息,同时它们之间又是彼此独立的。
线性组合:记x1,x2,…,xP为原变量指标,z1,z2,…,zm(m≤p)为新变量指标(主成分),则其线性组合为:
Lij是原变量在各主成分上的载荷 无论是哪一种因子分析方法,其相应的因子解都不是唯一的,主因子解仅仅是无数因子解中之一。
zi与zj相互无关;
z1是x1,x2,…,xp的一切线性组合中方差最大者,z2是与z1不相关的x1,x2,…的所有线性组合中方差最大者。则,新变量指标z1,z2,…分别称为原变量指标的第一,第二,…主成分。
Z为因子变量或公共因子,可以理解为在高维空间中互相垂直的m个坐标轴。
主成分分析实质就是确定原来变量xj(j=1,2 ,…,p)在各主成分zi(i=1,2,…,m)上的荷载 lij。
从数学上容易知道,从数学上也可以证明,它们分别是相关矩阵的m个较大的特征值所对应的特征向量。
5分析步骤
5.1 确定待分析的原有若干变量是否适合进行因子分析(第一步)
因子分析是从众多的原始变量中重构少数几个具有代表意义的因子变量的过程。其潜在的要求:原有变量之间要具有比较强的相关性。因此,因子分析需要先进行相关分析,计算原始变量之间的相关系数矩阵。如果相关系数矩阵在进行统计检验时,大部分相关系数均小于0.3且未通过检验,则这些原始变量就不太适合进行因子分析。
进行原始变量的相关分析之前,需要对输入的原始数据进行标准化计算(一般采用标准差标准化方法,标准化后的数据均值为0,方差为1)。
SPSS在因子分析中还提供了几种判定是否适合因子分析的检验方法。主要有以下3种: 巴特利特球形检验(Bartlett Test of Sphericity)
反映象相关矩阵检验(Anti-image correlation matrix)
第 2 页
KMO(Kaiser-Meyer-Olkin)检验 (1)巴特利特球形检验
该检验以变量的相关系数矩阵作为出发点,它的零假设H0为相关系数矩阵是一个单位阵,即相关系数矩阵对角线上的所有元素都为1,而所有非对角线上的元素都为0,也即原始变量两两之间不相关。
巴特利特球形检验的统计量是根据相关系数矩阵的行列式得到。如果该值较大,且其对应的相伴概率值小于用户指定的显著性水平,那么就应拒绝零假设H0,认为相关系数不可能是单位阵,也即原始变量间存在相关性。
(2)反映象相关矩阵检验
该检验以变量的偏相关系数矩阵作为出发点,将偏相关系数矩阵的每个元素取反,得到反映象相关矩阵。
偏相关系数是在控制了其他变量影响的条件下计算出来的相关系数,如果变量之间存在较多的重叠影响,那么偏相关系数就会较小,这些变量越适合进行因子分析。
(3)KMO(Kaiser-Meyer-Olkin)检验
该检验的统计量用于比较变量之间的简单相关和偏相关系数。
KMO值介于0-1,越接近1,表明所有变量之间简单相关系数平方和远大于偏相关系数平方和,越适合因子分析。
其中,Kaiser给出一个KMO检验标准:KMO>0.9,非常适合;0.8 5.2 构造因子变量 因子分析中有很多确定因子变量的方法,如基于主成分模型的主成分分析和基于因子分析模型的主轴因子法、极大似然法、最小二乘法等。前者应用最为广泛。 主成分分析法(Principal component analysis): 该方法通过坐标变换,将原有变量作线性变化,转换为另外一组不相关的变量Zi(主成分)。求相关系数矩阵的特征根λi (λ1,λ2,…,λp>0)和相应的标准正交的特征向量li;根据相关系数矩阵的特征根,即公共因子Zj的方差贡献(等于因子载荷矩阵L中第j列各元素的平方和),计算公共因子Zj的方差贡献率与累积贡献率。 主成分分析是在一个多维坐标轴中,将原始变量组成的坐标系进行平移变换,使得新的坐标原点和数据群点的重心重合。新坐标第一轴与数据变化最大方向对应。通过计算特征根(方差贡献)和方差贡献率与累积方差贡献率等指标,来判断选取公共因子的数量和公共因子(主成分)所能代表的原始变量信息。 公共因子个数的确定准则:1)根据特征值的大小来确定,一般取大于1的特征值对应的几个公共因子/主成分。2)根据因子的累积方差贡献率来确定,一般取累计贡献率达85-95%的特征值所对应的第一、第二、…、第m(m≤p)个主成分。也有学者认为累积方差贡献率应在80%以上。 5.3 因子变量的命名解释 因子变量的命名解释是因子分析的另一个核心问题。经过主成分分析得到的公共因子/主成分Z1,Z2,…,Zm是对原有变量的综合。原有变量是有物理含义的变量,对它们进行线性变换后,得到的新的综合变量的物理含义到底是什么? 在实际的应用分析中,主要通过对载荷矩阵进行分析,得到因子变量和原有变量之间的 第 3 页 关系,从而对新的因子变量进行命名。利用因子旋转方法能使因子变量更具有可解释性。 计算主成分载荷,构建载荷矩阵A。 计算主成分载荷,构建载荷矩阵A。载荷矩阵A中某一行表示原有变量 Xi与公共因子/因子变量的相关关系。载荷矩阵A中某一列表示某一个公共因子/因子变量能够解释的原有变量 Xi的信息量。有时因子载荷矩阵的解释性不太好,通常需要进行因子旋转,使原有因子变量更具有可解释性。因子旋转的主要方法:正交旋转、斜交旋转。 正交旋转和斜交旋转是因子旋转的两类方法。前者由于保持了坐标轴的正交性,因此使用最多。正交旋转的方法很多,其中以方差最大化法最为常用。 方差最大正交旋转(varimax orthogonal rotation)——基本思想:使公共因子的相对负荷的方差之和最大,且保持原公共因子的正交性和公共方差总和不变。可使每个因子上的具有最大载荷的变量数最小,因此可以简化对因子的解释。 斜交旋转(oblique rotation)——因子斜交旋转后,各因子负荷发生了变化,出现了两极分化。各因子间不再相互独立,而是彼此相关。各因子对各变量的贡献的总和也发生了改变。 斜交旋转因为因子间的相关性而不受欢迎。但如果总体中各因子间存在明显的相关关系则应该考虑斜交旋转。适用于大数据集的因子分析。 无论是正交旋转还是斜交旋转,因子旋转的目的:是使因子负荷两极分化,要么接近于0,要么接近于1。从而使原有因子变量更具有可解释性。 5.4 计算因子变量得分 因子变量确定以后,对于每一个样本数据,我们希望得到它们在不同因子上的具体数据值,即因子得分。估计因子得分的方法主要有:回归法、Bartlette法等。计算因子得分应首先将因子变量表示为原始变量的线性组合。即: 回归法,即Thomson法:得分是由贝叶斯Bayes思想导出的,得到的因子得分是有偏的,但计算结果误差较小。贝叶斯(BAYES)判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断。 Bartlett法:Bartlett因子得分是极大似然估计,也是加权最小二乘回归,得到的因子得分是无偏的,但计算结果误差较大。 因子得分可用于模型诊断,也可用作进一步分析如聚类分析、回归分析等的原始资料。关于因子得分的进一步应用将在案例介绍一节分析。 5.5 结果的分析解释 此部分详细见案例分析 二、案例分析 1 研究问题 石家庄18个县市14个指标因子,具体来说有人均GDP(元/人)、人均全社会固定资产投资额、人均城镇固定资产投资额、人均一般预算性财政收入、第三产业占GDP比重(%)、 第 4 页 人均社会消费品零售额、人均实际利用外资额(万美元/人)、人均城乡居民储蓄存款、农民人均纯收入、在岗职工平均工资、人才密度指数、科技支出占财政支出比重(%)、每万人拥有执业医师数量、每千人拥有病床数。 要求根据这14项内容进行因子分析,得到维度较少的几个因子。 2 实现步骤 【1】在“Analyze”菜单“Data Reduction”中选择“Factor”命令,如下图所示。 【2】在弹出的下图所示的Factor Analysis对话框中,从对话框左侧的变量列表中选择这14个变量,使之添加到Variables框中。 【3】点击“Descriptives”按钮,弹出“Factor Analysis:Descriptives”对话框,如图所示。 Statistics框用于选择哪些相关的统计量,其中: Univariate descriptives(变量描述):输出变量均值、标准差; Initial solution (初始结果) Correlation Matrix框中提供了几种检验变量是否适合做引子分析的检验方法,其中: Coefficients (相关系数矩阵) Significance leves (显著性水平) Determinant (相关系数矩阵的行列式) Inverse (相关系数矩阵的逆矩阵) Reproduced (再生相关矩阵,原始相关与再生相关的差值) Anti-image (反影像相关矩阵检验) KMO and Bartlett’s test of sphericity (KMO检验和巴特利特球形检验) 本例中,选中该对话框中所有选项,单击Continue按钮返回Factor Analysis对话框。 【4】单击“Extraction”按钮,弹出“Factor Analysis:Extraction”对话框,选择因子提取方法,如下图所示: 因子提取方法在Method下拉框中选取,SPSS共提供了7种方法: Principle Components Analysis (主成分分析) Unweighted least squares(未加权最小平方法) Generalized least squares (综合最小平方法) Maximum likelihood (最大似然估价法) Principal axis factoring (主轴因子法) Alpha factoring (α因子) Image factoring (影像因子) Analyze框中用于选择提取变量依据,其中: Correlation matrix (相关系数矩阵) Covariance matrix (协方差矩阵) Extract框用于指定因子个数的标准,其中: Eigenvaluse over (大于特征值) Number of factors (因子个数) Display框用于选择输出哪些与因子提取有关的信息,其中: Unrotated factor solution (未经旋转的因子载荷矩阵) 第 5 页