Kenneth的个人空间 http://KennethLaw.home.chinahrd.net

博客

探索性的因子分析

已有 7040 次阅读 2008-8-30 18:36


因子分析的目的是用现有的变量去建构一些新的变量。新变量「现有变量」的线性组合。因为「新变量」是由「现有变量」组成的,所以「新变量」的数目就可以比「现有变量」少。比如我们现在有10个变量,我们把前5个组合成一个新的变量,然后把后5个组合成另外一个新的变量。原来的10个变量,就变成新的2个变量了。所以,我们常常说因子分析是减少变量(variable reduction)的一种统计工具。

 

为什么要减少变量呢?一个在管理研究里最经常的原因是构念(construct)与测量项目(item)的关系。在做研究的时候,为了增加信度,我们常常会用几个不同的测量项目来代表一个构念。举例,虽然我们是问了6道题,可是它们可能都是代表一个构念。因此就有把这6个测量项目变成一个新的变量(它们代表的构念)的必要了。下面我们用一个最简单的虚构例子,里面有两个构念,每个构念由两道题来测量。我们的目的是把4个题目合并成为两个构念。因子分析是其中一个我们经常用的方法。


         

现在我们在问卷里问了四道题,前两道(x1x2)是问「下属跟主管的关系」的;后两道题(x3x4)是问「下属和主管的亲密度」。理论上来讲,「亲密度」与「关系」不完全一样,好的关系不一定代表很亲密的。我们的假设是关系越好,亲密度高的机会就越大。

 

因子分析是一个减少变量的统计工具。现在我们有四个变量(x1x4),我们希望把它们减到两个变量,因为四个变量的背后其实只是代表两个构念(「关系」与「亲密度」)。其实,在我们设计问卷的时候,我们对这四个变量(x1x4)已经有一定的假设, x1x2量「关系」(我们叫做F1), x3x4量「亲密度」(我们叫做F2),可是每一道题测量的时候都会有误差(uk)。所以,我们的测量模型应该是如下:

x1 = λ1 F1 + λ2 F2 + u1                   1

x2 = λ3 F1 + λ4 F2 + u2                   2

x3 = λ5 F1 + λ6 F2 + u3                   3

x4 = λ7 F1 + λ8 F2 + u4                   4

 

这四条公式的意思是什么呢?我们拿第一条“公式(1)”来作例子。x1就是问题「主管偶尔会邀请我到他家里吃饭」的得分。其实它是在测量「关系」这个构念(F1)的。不过某程度上来讲,这道题也反映了主管与下属的「亲密度」(F2)。λ1是代表这道题代表「关系」这个构念的能力,λ2也代表了这道题反映了「亲密度」这个构念的程度。λ越高,看得见的测量项目x1与看不见的构念(F1F2)的关系越强。最后,ukxk特有的部分,是跟两个因子没有关系的部分。如果用图画来表达的话,就是下面的图:

         

在这个图里,方格是看得见的问卷变量(x1x4),圆圈是看不见的构念(F1“关系”和F2“亲密度”)。我们看见有三个箭头指向x1,它们就是x1的三个“原因”。黑色箭头从F1指向x1,代表在方程式(1)里F1x1的其中一个原因,F1x1的影响是λ1或者反过来讲,x1这个看得见的变量表现F1这个看不见的构念的程度是λ1。同时,F2也是x1的原因,x1表现F2的程度是λ2。最后还有一个不可以用两个因子解释的原因,叫做u1。所以,上面的公式(1)就是附图(1)的下面部分:


                   

在因子分析中,这些看不见的构念叫做「因子」(factor),看得见的测量项目(xk)就叫做「项目」(item)。项目反映因子的程度(λk)叫做「因子载荷」。所以在管理的研究里,因子分析可以形容为一个把一大堆看得见的问卷变量(项目),减少到我们需要的,但是看不见的构念(因子)的统计方法。

我花了很长的时间,尝试用非数学的方式介绍「载荷λ」、「因子F」、「误差ε」是怎样猜出来的,可是暂时未能成功。因为因子分析最常用的估计方法「主成份」法(principal component analysis)牵涉到向量和矩阵的特征值eigen value)与特征向量(eigen vector)的问题。这个我无法不用矩阵的数学表达(可能是认识不够深和功力不够吧,大概要多等几年,等我完全消化这些数学的概念才可以做)。所以,希望大家暂时不要知道「载荷」到底是怎样估计出来的。我们暂时相信,只要我们输入我们所有变量(x1x4)的相关矩阵,用统计的「主成份法」就可以找到上面方程式(1)到(4)里面的λ1λ8了。最后一点,一般在估计「载荷」的时候,我们都会把因子的方差定为1。假设下面就是我们得到的结果:


x1 = .81 F1 + .34 F2 + u1                    1

x2 = .77 F1 + .15 F2 + u2                    2

x3 = -.24 F1 + .79 F2 + u3                   3

x4 = -.31 F1 + .65 F2 + u4                   4

 

为了方便,我们把「载荷」列成表的方式,表现如下。这个就是大家用SPSS或是SAS常常看见的因子分析结果,叫做「因子载荷矩阵」(当然,程序不会告诉你F1是“关系”;F2是“亲密度”,我写出来是为了方便大家了解而已)。

           

这个「因子载荷矩阵」告诉了我们因子分析最重要的信息。现在我们来解释「因子载荷」到底是什么。我们用公式(1)作为一个例子:

 

x1 =.81 F1 + .34 F2 + u1                   1

 

如果我们用方差分解(variance partitioning)的方法来分解x1的方差,因为F1F2ε1都是独立的,所以协相关(共变 cov)都是0。我们会得到:

 

          Var(x1) = (.81)2 Var(F1) + (.34)2 Var(F2) + Var(u1)

 

Var(x1) x1的方差,它是“主管偶尔会邀请我到他家里吃饭”这个问题在不同的“员工-主管”配对里所产生的不同。x1的方差可以拆开为三部分:第一个是x1反映了构念F1的方差,第二个是x1反映了构念F2的方差。最后一个部分是x1的方差,不能用F1F2来解释的特有部分。明白了这个已后,我们就可以来看附表(3)了。


 

附表(3)跟附表(2)很相似。表中的第一纵列是x1x4。第二纵列是它们对应的测量项目。第三纵列是它们在F1(关系这个因子)的「因子载荷」。第四纵列是它们在F2(亲密度这个因子)的「载荷」。最后一个纵列是「因子载荷的平方的和」(Σλk2)。所以对于第一个测量变量x1(“主管偶尔会邀请我到他家里吃饭”)来说,.77(.81)2+(.34)2。这是什么意思呢?让我们再来看x1的方差分解方程:

 

          Var(x1) = (.81)2 Var(F1) + (.34)2 Var(F2) + Var(u1)                 

 

这里说x1的观察方差(也就是它在不同的“员工-主管”配对里的变化)其实有(.81)2是由于“员工与主管的关系变化”而产生的。另外,有(.34)2是由于“员工与主管的亲密度变化”而产生的。最后,有Var(ε1)是两个因子都不能解释的x1的变化。(.81)2+(.34)2就代表了F1F2两个因子加起来一共解释了x1的变化(方差)的多少。这个「所有的因子加起来,对于观察变量的方差的总解释能力」在统计上叫做「分解共性」(communality)。「分解共性」越高,观察变量就越能被这两个因子来代表。为什么叫「分解共性」呢?Communal这个英文是「共有的」的意思。现在我们把四个问卷变量的变化(方差)的分解都写出来:

 

          Var(x1) = (.81)2 Var(F1) + (.34)2 Var(F2) + Var(u1)                    

          Var(x2) = (.77)2 Var(F1) + (.15)2 Var(F2) + Var(u2)                    

          Var(x3) = (-.24)2 Var(F1) + (.79)2 Var(F2) + Var(u3)                    

          Var(x4) = (-.31)2 Var(F1) + (.65)2 Var(F2) + Var(u4)                    

                                         【共有的】      +     【特有的】

 

前面的Var(F1)Var(F2)是所有四个变量都“共同有的”,后面的Var(uk)是个别变量自己特有的,不能被这两个因子解释的“独特变化”。因为这个部分的变化不能被因子解释,在因子分析的术语里,有时候叫它们做“误差”方差(其实这部分的方差不一定是“错误”的意思,只是因子不能解释而已,请不要把它和“测量的误差”或“抽样的误差”混乱)。所以,「分解共性」(communality)的意思是四个变量(x1x4)的变化(方差)的共同的地方。一个变量的「分解共性」越低,就代表它的Var(uk)很大,也就是说“它的变化”跟“其它的几个变量的变化”不一样。

 

我们也可以反过来看,附表(3)的最后一行是「每一个纵列的载荷的平方的平均数」。所以.35[(.81)2+(.77)2+ (-.24)2+(-.31)2]/4。这个平均数在在统计上叫做「平均方差解释%」(% of variance accounted for)。它说明了第一个因子(F1)平均来讲解释了四个观察变量(x1x4)的能力。所以「平均方差解释%」越大,就代表了这个因子很可以用来代表这四个观察变量。我们可以想一想,如果F1平均只可以解释所有的观察变量的10%,那就代表平均来讲,这些变量还有90%的变化是因子不能解释的(也就是上面讲的“特有的方差”)。在多元分析里面,变量的变化(方差)与共变(或者是标准化后的相关系数)是我们研究因果关系的中心部分。如果因子不可以代表变量的变化,我们就不可以用因子来代表变量了。

 

最后,我们再来看附表(3)一次。四个变量(x1x4)在F1的载荷分别是.81.77-.24,-.31。这说明了什么呢?就是说用F1来代表x1x2应该是没有问题的。但是用F1来代表x3x4就有问题了,因为F1根本不可以代表x3x4的变化。相反,四个变量在F2的载荷分别是.34.15.79.65F2可以用来代表x3x4,但是不可以代表x1x2

 

附表(3)的结果告诉我们x1x2可以由F1来代表,因为x1x2本来是用来测量主管和下属的「关系」的,所以,我们叫F1做「关系」。同样的,x3x4可以由F2来代表,因为x3x4本来是用来测量主管和下属的「亲密度」的,所以,我们叫F2做「亲密度」。你可能说,我怎么知道「载荷」要达到什么程度,才可以说因子可以代表变量呢?一般管理研究的标准是「载荷」高于0.4的叫做大,低于0.4的叫做小。

 

《完》




路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (82 个评论)

回复 Kenneth 2010-4-27 11:09
我希望你是发展量表,而不是用别人的量表。不然的话,请不要删除别人的项目。如果是发展量表的话,我一般是一次过把不好的项目删除的。不好一般的定义是载荷少于0.4。当然如果你的项目很多,也很精准的话,可以提高一点的。
编辑 删除 binglengyu 2010-4-26 12:00
Kenny,您好。在EFA过程中,根据因子载荷删除items的时候,是将所有因子载荷《0.4的项目一起删除,还是每次仅删除一个,如果每次只删除一个的话,那删除的标准是什么呢? 谢谢!
编辑 删除 匿名 2010-4-5 16:53
学到了
编辑 删除 knight 2010-1-1 11:13
谢谢kenny,我搞清楚了。我又查阅了几篇文献,大部门研究者是将所有问卷题项放在一起进行探索性因子分析,也有个别研究者是自己设计的要素分别进行因子分析,但随后的研究者对此提出了质疑。有些问题是在逐步研究中才能发现解决的。另外,安全氛围的概念首先是由以色列学者zohar在1980年首先提出的,他将安全氛围定义为:”员工对工作环境的共同感受“。后来产生了很多定义,虽然有些差异,但都是从员工角度描述对企业安全问题的看法。
回复 Kenneth 2009-12-31 09:29
当然是所有“由同一个来源(受访者)得回来的变量,都一起做因子分析”了,这样才有意思。不然的话,你的所谓因子分析,只是在测构念的“单一维度性”了。
不过我想提醒一下,我感觉你对所谓「安全氛围」的定义好像很松散。比如,你分析了以后,发现安全氛围对企业的业绩(我希望你不是说对“员工的安全行为”吧)有很大的影响。你有没有想过,如果我把定义在扩大一点,比如加入「安全培训、奖金制度」等后,原来显著的结果,可能变成不显著了。换句话来说,你有没有证据支持你现在的“定义”是一个“合理的”「安全氛围」定义呢?
编辑 删除 knight 2009-12-30 16:05
有一个问题想向大家和kenny请教。我在进行安全氛围研究,根据国内外研究结果,安全氛围包括若干个因素(因子/要素),具体有多少种要素学术界一直在争论中,也没有一致的量表。根据一些学者对以往研究进行的文献综述,安全氛围一般包括管理层承诺、安全系统、安全沟通、安全参与等要素。在进行安全氛围问卷设计时,我选取了最高管理层承诺、基层管理层承诺、安全沟通、安全参与等要素,对每个要素分别进行了问卷题目的设计。现在问卷调查已经实施完毕,正在进行数据分析和处理,我想对安全氛围问卷调查结果进行探索性因子分析,是否要将所有题项放在一起进行因子分析,还是按照设计时的要素分别进行因子分析?谢谢
回复 Kenneth 2009-12-22 17:54
负载荷在反向题目是正常的,把它当成是正就好了。如果在正向题目有负载荷,你会希望载荷很小(<.40甚至是.30)。不然的话,肯定是项目有问题,或是数据有问题了。
编辑 删除 sean 2009-12-22 14:48
各位好!在做探索性因子分析时,出现了负载荷?这是什么道理?这样的项目(item)如何处理?
编辑 删除 xinxin 2009-12-16 01:10
Sean,是的,应该是所有的和。在全模型中,准确说应该是样本数至少是待估计的参数的5倍。所以如果你把item都合并为single item或者少数几个item, 需要估计的参数少了,需要的样本似乎就少了。另外,在因素分析中,Gorsuch (1983) 建议样本数应最少为变量数的5倍,且大于100,才能做因素分析,也是一样的道理。
编辑 删除 sean 2009-12-15 23:41
@71楼 Sean (xinxin)
谢谢XINXIN。如果是做路径分析的话,由于涉及多个变量,因此是测量所有变量的ITEM数之和的5倍,是吗?
再次感谢!
编辑 删除 71楼 Sean (xinxin) 2009-12-15 23:16
Sean, 凭我的破记性,样本量应该至少需要是项目数的5倍。项目数以你完整的模型中的项目数为准。
编辑 删除 SEAN 2009-12-15 22:12
记得做以上三种分析时,样本容量量与项目(ITEM)数有一定的比例关系.但具体的量忘记了.
先谢谢各位了。
编辑 删除 Sean 2009-12-15 22:06
各位好!我正在做一个研究.计划要用到探索性因子分析,验证性因子分析,以及路径分析.不知道这三个统计分析方法一般分别要多大的样本量比较好?
回复 Kenneth 2009-11-3 22:34
Chalk,谢谢你。我想每一个看这个博客的人都可以帮我(也是帮大家)做两件事:
1. 有学习的心得的话,可以写日志寄给我(我帮你登出来)。
2. 帮助我回问题,与大家一同学习。
回复 chalk 2009-11-3 22:27
谢谢kenny!今年五月底在南大听了你的课,又在网上看到这么好的博客,为你的无私付出很受感动!自己也想为这个博客多做点事,不知道kenny有没有什么建议?
回复 Kenneth 2009-11-2 22:59
Chalk,
1、在量表开发的过程中,什么情况下需要做EFA?如果理论能够清楚的说明构念的因子结构,是不是就不需要做EFA?
一般是这样说的,也是我的立场。不过也有学者觉得EFA和CFA是两种完全不同的工具。
2、在JAP看到一篇做量表的文章,其在理论部分已经说明一个二阶的构念(假定为A)有三个一阶的因子(假定为A1、A2、A3),但我觉得奇怪的是,他在做CFA的时候,做了所有可能的因子结构的CFA(如将该构念看作是一阶;看作是二阶的,但A1和A2合并、A3独立,A1和A3合并、A2独立,等等)。我所不解的是,既然理论部分已经阐明该构念由三个一阶的因子构成,那么只需做一种CFA就可以了,为什么还做其他的?
你们都很有趣,常常问我“其他的人”到底为什么会这样做、那样做?
我的“猜测”是虽然他们讲了理论上是这样,但是实战上如果能够提出强的证据,支持这个一个3维构念,而“不是”单维或两维的,那不是更好吗?
回复 chalk 2009-10-31 20:28
kenny还有各位路过的朋友,看完了kenny关于探索性因子分析的讲解,受益匪浅!看了所有的评论,有一些疑问想请教:
1、在量表开发的过程中,什么情况下需要做EFA?如果理论能够清楚的说明构念的因子结构,是不是就不需要做EFA?
2、在JAP看到一篇做量表的文章,其在理论部分已经说明一个二阶的构念(假定为A)有三个一阶的因子(假定为A1、A2、A3),但我觉得奇怪的是,他在做CFA的时候,做了所有可能的因子结构的CFA(如将该构念看作是一阶;看作是二阶的,但A1和A2合并、A3独立,A1和A3合并、A2独立,等等)。我所不解的是,既然理论部分已经阐明该构念由三个一阶的因子构成,那么只需做一种CFA就可以了,为什么还做其他的?
编辑 删除 Sean 2009-10-28 16:31
@ 回复 Tsai 63楼 (Kenneth)
谢谢Kenny 和Tsai。
回复 Kenneth 2009-10-28 10:11
谢谢,Tsai。是的,很少人会报告共同度。我只是说「如果累计解释变异很低,就代表共同度少了」而已。
编辑 删除 Tsai 2009-10-28 09:53
commonality中文被译成共同度,即一个变量被所有抽取的因子共同解释的比例。但是好像即使英文期刊一般也是报告cumulative%,而不是commonality.

facelist

中国人力资源开发网 ( 京ICP证090188号)|联系我们

GMT+8, 2010-9-3 07:20, Processed in 0.041615 second(s), 17 queries.