一、基础理论知识
1.概念
因子分析(Factor Analysis):就是用少数几个因子来描述许多指标或因素之间的联系,以较少几个因子来反映原资料的大部分信息的统计学分析方法。从数学角度来看,主成分分析是一种化繁为简的降维处理技术。
主成分分析(Principal Component Analysis):是因子分析的一个特例,是使用最多的因子提取方法。它通过坐标变换手段,将原有的多个相关变量,做线性变化,转换为另外一组不相关的变量。选取前面几个方差最大的主成分,这样达到了因子分析较少变量个数的目的,同时又能与较少的变量反映原有变量的绝大部分的信息。
两者关系:主成分分析(PCA)和因子分析(FA)是两种把变量维数降低以便于描述、理解和分析的方法,而实际上主成分分析可以说是因子分析的一个特例。
主成分分析主要是一种探索性的技术,在分析者进行多元数据分析之前,用它来分析数据,让分析者对数据有一个大致的了解,这是非常有必要的。主成分分析一般很少单独使用:(a)了解数据(screening the data);(b)和cluster analysis(聚类分析)一起使用;(c)和判别分析一起使用,比如当变量很多,个案数不多,直接使用判别分析可能无解,这时候可以使用主成分对变量的维度进行简化(reduce dimensionality);(d)在多元回归中,主成分分析可以帮助判断是否存在共线性(条件指数),还可以用来处理共线性。
(1)因子分析中是把变量表示成各因子的线性组合,而主成分分析中则是把主成分表示成各变量的线性组合。
(2)主成分分析的重点在于解释各变量的总方差,而因子分析则把重点放在解释各变量之间的协方差。
(3)主成分分析中不需要有假设(assumptions),因子分析则需要一些假设。因子分析的假设包括:各个共同因子之间不相关,特殊因子(specific factor)之间也不相关,共同因子和特殊因子之间也不相关。
(4)主成分分析中,当给定的协方差矩阵或者相关矩阵的特征值是唯一的时候,主成分一般是独特的;而因子分析中因子不是独特的,可以旋转得到不同的因子。
(5)在因子分析中,因子个数需要分析者指定(SPSS根据一定的条件自动设定,只要是特征值大于1的因子进入分析),而指定的因子数量不同而结果不同。在主成分分析中,成分的数量是一定的,一般有几个变量就有几个主成分。和主成分分析相比,由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。大致说来,当需要寻找潜在的因子,并对这些因子进行解释的时候,更加倾向于使用因子分析,并且借助旋转技术帮助更好解释。而如果想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析。当然,这种情况也可以使用因子得分做到。所以这种区分不是绝对的。
1
在算法上,主成分分析和因子分析很类似,不过在因子分析中所采用的协方差矩阵的对角元素不再是变量的方差,而是和变量对应的共同度(变量方差中被各因子所解释的部分)。
可以说,因子分析是主成分分析的推广,也是一种把多个变量化为少数几个综合变量的多变量分析方法,其目的是用有限个不可观测的隐变量来解释原始变量之间的相关关系。
因子分析主要用于:(1)减少分析变量个数;(2)通过对变量间相关关系探测,将原始变量进行分类。即将相关性高的变量分为一组,用共性因子代替该组变量。
2.特点
(1)因子变量的数量远少于原有的指标变量的数量,因而对因子变量的分析能够减少分析中的工作量。
(2)因子变量不是对原始变量的取舍,而是根据原始变量的信息进行重新组构,它能够反映原有变量大部分的信息。
(3)因子变量之间不存在显著的线性相关关系,对变量的分析比较方便,但原始部分变量之间多存在较显著的相关关系。
(4)因子变量具有命名解释性,即该变量是对某些原始变量信息的综合和反映。在保证数据信息丢失最少的原则下,对高维变量空间进行降维处理(即通过因子分析或主成分分析)。显然,在一个低维空间解释系统要比在高维系统容易的多。
3.类型
根据研究对象的不同,把因子分析分为R型和Q型两种。 当研究对象是变量时,属于R型因子分析(相关系数矩阵);当研究对象是样品时,属于Q型因子分析(相似系数矩阵)。
但有的因子分析方法兼有R型和Q型因子分析的一些特点,如因子分析中的对应分析方法,有的学者称之为双重型因子分析,以示与其它两类的区别。
4.分析原理
假定:有n个样本,每个样本共有p个变量,构成一个n×p阶的样本数据矩阵:
x11x12x1px21x22x2p Xxn1xn2xnp当p较大时,在p维空间中考察问题比较麻烦。这就需要进行降维处理,即用较少几个综合指标代替原来指标,而且使这些综合指标既能尽量多地反映原来指标所反映的信息,同时它们之间又是彼此独立的。
线性组合:记x1,x2,,xp为原变量指标,z1,z2,,zm(m≤p)为新变量指标(主成分),则其线性组合为:
2
z1l11x1l12x2l1pxpz2l21x1l22x2l2pxp zmlm1x1lm2x2lmpxplij是原变量xi在各主成分zj上的载荷(即“权重”)。
z1l11x1l12x2l1pxpz2l21x1l22x2l2pxp zmlm1x1lm2x2lmpxp无论是哪一种因子分析方法,其相应的因子解都不是唯一的,主因子解仅仅是无数因子解中的一个。
zi与zj相互无关;z1是x1,x2,,xp的一切线性组合中方差最大者,z2是与z1不相关的x1,x2,,xp的所有线性组合中方差最大者,…。则新变量指标z1,z2,分别称为原变量指标的第一,第二,…主成分。
Z为因子变量或公共因子,可以理解为在高维空间中互相垂直的m个坐标轴。
主成分分析实质就是确定原来变量xj(j=1,2,„,p)在各主成分zi(i=1,2,„,m)上的荷载lij。
从数学上容易知道,当然也可以证明,它们分别是相关系数矩阵的m个较大的特征值所对应的特征向量。
5.分析步骤
5.1确定待分析的原有若干变量是否适合进行因子分析(第一步)
因子分析是从众多的原始变量中重构少数几个具有代表意义的因子变量的过程。其潜在的要求:原有变量之间要具有比较强的相关性。因此,因子分析需要先进行相关分析,计算原始变量之间的相关系数矩阵。如果相关系数矩阵在进行统计检验时,大部分相关系数均小于0.3且未通过检验,则这些原始变量就不太适合进行因子分析。
r11r12r1prrr21222p Rrp1rp2rpp 3
其中:rij(xk1nkixi)(xkjxj)n(xk1n(i1,2,,p;j1,2,,p)
kixi)2(xkjxj)2k1进行原始变量的相关分析之前,需要对输入的原始数据进行标准化计算(一
般采用标准差标准化方法,标准化后的数据均值为0,方差为1)。
SPSS在因子分析中还提供了几种判定是否适合因子分析的检验方法。主要有以下3种:
巴特利特球形检验(Bartlett Test of Sphericity) ; 反映象相关矩阵检验(Anti-image correlation matrix); 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 主成分分析法(Principal component analysis): 该方法通过坐标变换,将原有变量作线性变化,转换为另外一组不相关的变量zi(主成分)。求相关系数矩阵的特征根i (1,2,…,p>0)和相应的标准正交的特征向量Li;根据相关系数矩阵的特征根,即公共因子zj的方差贡献(等于因子载荷矩阵L中第j列各元素的平方和),计算公共因子zj的方差贡献率与累积贡献率。 4 ik1p(i1,2,,p), kk1k1pik(i1,2,,p) k主成分分析是在一个多维坐标轴中,将原始变量组成的坐标系进行平移变换,使得新的坐标原点和数据群点的重心重合。新坐标第一轴与数据变化最大方向对应。通过计算特征根(方差贡献)和方差贡献率与累积方差贡献率等指标,来判断选取公共因子的数量和公共因子(主成分)所能代表的原始变量信息。 公共因子个数的确定准则:(1)根据特征值的大小来确定,一般取大于1的特征值对应的几个公共因子/主成分。(2)根据因子的累积方差贡献率来确定,一般取累计贡献率达85-95%的特征值所对应的第一、第二、…、第m(m≤p)个主成分。也有学者认为累积方差贡献率应在80%以上。 5.3因子变量的命名解释 因子变量的命名解释是因子分析的另一个核心问题。经过主成分分析得到的公共因子/主成分z1,z2,,zm是对原有变量的综合。原有变量是有物理含义的变量,对它们进行线性变换后,得到的新的综合变量的物理含义到底是什么? 在实际的应用分析中,主要通过对载荷矩阵进行分析,得到因子变量和原有变量之间的关系,从而对新的因子变量进行命名。利用因子旋转方法能使因子变量更具有可解释性。 计算主成分载荷,构建载荷矩阵A。 aijjlij(i,1,2,,p;j1,2,,m) a11a21Aap1a12a22ap2a1ml111a2ml211apmlp11l122l222lp22l1mml2mm lpmmx1a11z1a12z2a1pzpx2a21z1a22z2a2pzp xmam1z1am2z2ampzpz1l11x1l12x2l1pxpz2l21x1l22x2l2pxp zmlm1x1lm2x2lmpxp载荷矩阵A中某一行表示原有变量xi与公共因子(因子变量)的相关关系。载荷矩阵A中某一列表示某一个公共因子(因子变量)能够解释的原有变量xi的信息量。有时因子载荷矩阵的解释性不太好,通常需要进行因子旋转,使原有因子变量更具有可解释性。因子旋转的主要方法:正交旋转、斜交旋转。 5 a11a21Aap1a12a22ap2a1ml111a2ml211apmlp11l122l222lp22l1mml2mm lpmm正交旋转和斜交旋转是因子旋转的两类方法。前者由于保持了坐标轴的正交 性,因此使用最多。正交旋转的方法很多,其中以方差最大化法最为常用。 方差最大正交旋转(varimax orthogonal rotation)——基本思想:使公共因子的相对负荷的方差之和最大,且保持原公共因子的正交性和公共方差总和不变。可使每个因子上的具有最大载荷的变量数最小,因此可以简化对因子的解释。 斜交旋转(oblique rotation)——因子斜交旋转后,各因子负荷发生了变化,出现了两极分化。各因子间不再相互独立,而是彼此相关。各因子对各变量的贡献的总和也发生了改变。 斜交旋转因为因子间的相关性而不受欢迎。但如果总体中各因子间存在明显的相关关系则应该考虑斜交旋转。适用于大数据集的因子分析。 无论是正交旋转还是斜交旋转,因子旋转的目的:是使因子负荷两极分化,要么接近于0,要么接近于1。从而使原有因子变量更具有可解释性。 5.4计算因子变量得分 因子变量确定以后,对于每一个样本数据,我们希望得到它们在不同因子上的具体数据值,即因子得分。估计因子得分的方法主要有:回归法、Bartlette法等。计算因子得分应首先将因子变量表示为原始变量的线性组合。即: z1l11x1l12x2l1pxpz2l21x1l22x2l2pxp zmlm1x1lm2x2lmpxp回归法,即Thomson法:得分是由贝叶斯Bayes思想导出的,得到的因子得分是有偏的,但计算结果误差较小。贝叶斯(BAYES)判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断。 Bartlett法:Bartlett因子得分是极大似然估计,也是加权最小二乘回归,得到的因子得分是无偏的,但计算结果误差较大。 因子得分可用于模型诊断,也可用作进一步分析如聚类分析、回归分析等的原始资料。 5.5结果的分析解释 此部分详细见案例分析。 二、聚类分析法 6 聚类分析方法小结 将定量调查或者其他消费者数据进行聚类分析,再通过交叉分析描述细分市场轮廓是我们常用的方法。 聚类分析可以作为其他多元统计分析的预备过程,先聚类,然后再利用判别分析进一步研究各个群体之间的差异。先通过聚类分析达到简化数据的目的,将众多的个体先聚集成比较好处理的几个类别或子集,然后再进行后续的多元分析。它也可以用于抽样设计中的分层抽样。 对一个数据,既可以对变量(指标)进行分类,也可以对观测值来分类。分类的时候,不一定要事先假定有多少类,也可以完全根据数据自身的规律来分类。一般将变量的聚类分析称为R型聚类,而对观测值聚类称为Q型聚类。 聚类分析中,比较重要的概念涉及到对两个距离概念的认识。搞清楚这两个距离概念对于聚类分析本身具有很大的帮助。按照远近程度来聚类是聚类分析法的要义,那么这个远近究竟指什么呢?一指点与点之间的距离,二是类和类之间的距离。点间距离本身有多个定义方式也即多种运算方法。因此,你只要选择一种算法即可。由一个点组成的类是最基本的类;如果每一类都由一个点组成,那么点间距离就是类间距离。但是如果一个类包含不止一个点,那么就需要确定类间距离。类间距离是基于点间距离定义的。如两类之间最近点之间的距离可以作为两类间距离,也可以选用最远点的距离,还可以选择各类之间的中心距离。 从实际操作来讲,聚类分析法有多种方法。Two Step Cluster Analysis、K-means cluster analysis、Hierarchical Cluster Analysis三种聚类方法在SPSS里都有提供,但其应用范围和优劣势各有不同。 K-means cluster analysis(KCA)也叫快速聚类,是我们现在做人群细分时最常使用的方法。该方法是单纯应用统计技术根据若干指定变量(应限制为尺度变量)将众多案例分到固定的类别中去。此种方法用于大量(数千)case的类别划分时非常有效。但该方法可以选择的内容较少,最重要的是选择聚类的数量,迭代的次数,和聚类的中心位置;人为经验和判断无形中会起很大作用。KCA方法本身是要求事先确定分类的。它不仅要求确定分类的类数,而且你还需要事先确定点,也就是聚类种子,当然,SPSS可以为你自动选种子。然后,根据其他点离这些种子的远近把所有点进行分类。再然后呢,就是将这几类的中心(均值)作为新的基石,再分类。如此迭代。因此,前面聚类基石或者说种子的选择不必过于认真。 TwoStep Cluster Analysis是揭示自然类别的探索性工具。该方法的算法与传统聚类技术相比有一些显著的特点:它可以基于类别变量和连续变量来进行聚类;自动选择聚类结果的最佳类别数;具备有效分析大量数据的能力。 如果我们只拥有少量的Case(少于数百个),并且想尝试多种聚类方法,测量不同类别之间的差异,我们就应该尝试使用Hierarchical Cluster Analysis(HCA)。当然该方法不仅可以对样本聚类,也可以对变量聚类。此种方法的分类结果取决于对聚类方法、距离测量方法、标准化变量的设置。这种方法不事先确定类数,有多少点就是多少类,它沿着最近的先聚为一类的思想进行合并,直至最后只有一大类为止。 聚类分析需要注意的几点: 聚类结果深受变量选择的影响,因此一开始就需要你目标明确,确定自己的变量。 7 用KCA做聚类时,对孤立点的处理建议如下: 首先,你可以用箱形图分析一下各变量,如果某一case在多个变量上都是奇异点,那么你可以考虑将这样的case去掉后,再做一遍聚类;此时,要特别注意一下Distances between Final Cluster Centers的变动,因为你删除的点也可能数量不多,但影响很大; 第二,在做聚类的同时,你也可以保存各样本距其所在类中心的距离,这一指标给你后期分析提供了一些灵活性,你可以以此为依据,选择各类中比较有代表性的数据做进一步的分析,以突出类别之间的差异; 第三,正如之前提到的,KCA在聚类时类别数是人为主观确定的,所以建议一定多做一些尝试,在基本方案定下来之后,尝试一些边际分析,至少要加一类、减一类再各做一次,做一下交叉表,看看你现在选择的类别方案是否相对稳定; 最后,再提醒一句,如果你在聚类的同时,选择了迭代,一定要注意迭代次数的设置,以保证算法的收敛,这样你得到的聚类结果才是稳定的。 8 因篇幅问题不能全部显示,请点此查看更多更全内容