中人网

标题: [系统转发] 探索性的因子分析 [打印本页]

作者: chinahrd    时间: 2008-8-30 22:11
因子分析的目的是用现有的变量去建构一些新的变量。「新变量」是「现有变量」的线性组合。因为「新变量」是由「现有变量」组成的,所以「新变量」的数目就可以比「现有变量」少。比如我们现在有10个变量,我们把前5个组合成一个新的变量,然后把后5个组合成另外一个新的变量。原来的10个变量,就变成新的2个变量了。所以,我们常常说因子分析是减少变量(variable reduction)的一种统计工具。   为什么要减少变量呢?一个在管理研究里最经常的原因是构念(construct)与测量项目(item)的关系。在做研究的时候,为了增加信度,我们常常会用几个不同的测量项目来代表一个构念。举例,虽然我们是问了6道题,可是它们可能都是代表一个构念。因此就有把这6个测量项目变成一个新的变量(它们代表的构念)的必要了。下面我们用一个最简单的虚构例子,里面有两个构念,每个构念由两道题来测量。我们的目的是把4个题目合并成为两个构念。因子分析是其中一个我们经常用的方法。           现在我们在问卷里问了四道题,前两道(x1和x2)是问「下属跟主管的关系」的;后两道题(x3和x4)是问「下属和主管的亲密度」。理论上来讲,「亲密度」与「关系」不完全一样,好的关系不一定代表很亲密的。我们的假设是关系越好,亲密度高的机会就越大。   因子分析是一个减少变量的统计工具。现在我们有四个变量(x1到x4),我们希望把它们减到两个变量,因为四个变量的背后其实只是代表两个构念(「关系」与「亲密度」)。其实,在我们设计问卷的时候,我们对这四个变量(x1到x4)已经有一定的假设, x1和x2量「关系」(我们叫做F1), x3和x4量「亲密度」(我们叫做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与看不见的构念(F1或F2)的关系越强。最后,uk是xk特有的部分,是跟两个因子没有关系的部分。如果用图画来表达的话,就是下面的图:           在这个图里,方格是看得见的问卷变量(x1到x4),圆圈是看不见的构念(F1“关系”和F2“亲密度”)。我们看见有三个箭头指向x1,它们就是x1的三个“原因”。黑色箭头从F1指向x1,代表在方程式(1)里F1是x1的其中一个原因,F1对x1的影响是λ1,或者反过来讲,x1这个看得见的变量表现F1这个看不见的构念的程度是λ1。同时,F2也是x1的原因,x1表现F2的程度是λ2。最后还有一个不可以用两个因子解释的原因,叫做u1。所以,上面的公式(1)就是附图(1)的下面部分:                     在因子分析中,这些看不见的构念叫做「因子」(factor),看得见的测量项目(xk)就叫做「项目」(item)。项目反映因子的程度(λk)叫做「因子载荷」。所以在管理的研究里,因子分析可以形容为一个把一大堆看得见的问卷变量(项目),减少到我们需要的,但是看不见的构念(因子)的统计方法。 我花了很长的时间,尝试用非数学的方式介绍「载荷λ」、「因子F」、「误差ε」是怎样猜出来的,可是暂时未能成功。因为因子分析最常用的估计方法「主成份」法(principal component analysis)牵涉到向量和矩阵的特征值(eigen value)与特征向量(eigen vector)的问题。这个我无法不用矩阵的数学表达(可能是认识不够深和功力不够吧,大概要多等几年,等我完全消化这些数学的概念才可以做)。所以,希望大家暂时不要知道「载荷」到底是怎样估计出来的。我们暂时相信,只要我们输入我们所有变量(x1到x4)的相关矩阵,用统计的「主成份法」就可以找到上面方程式(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的方差,因为F1与F2与ε1都是独立的,所以协相关(共变 cov)都是0。我们会得到:             Var(x1) = (.81)2 Var(F1) + (.34)2 Var(F2) + Var(u1)   Var(x1) 是x1的方差,它是“主管偶尔会邀请我到他家里吃饭”这个问题在不同的“员工-主管”配对里所产生的不同。x1的方差可以拆开为三部分:第一个是x1反映了构念F1的方差,第二个是x1反映了构念F2的方差。最后一个部分是x1的方差,不能用F1和F2来解释的特有部分。明白了这个已后,我们就可以来看附表(3)了。   附表(3)跟附表(2)很相似。表中的第一纵列是x1到x4。第二纵列是它们对应的测量项目。第三纵列是它们在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就代表了F1和F2两个因子加起来一共解释了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)的意思是四个变量(x1到x4)的变化(方差)的共同的地方。一个变量的「分解共性」越低,就代表它的Var(uk)很大,也就是说“它的变化”跟“其它的几个变量的变化”不一样。   我们也可以反过来看,附表(3)的最后一行是「每一个纵列的载荷的平方的平均数」。所以.35是[(.81)2+(.77)2+ (-.24)2+(-.31)2]/4。这个平均数在在统计上叫做「平均方差解释%」(% of variance accounted for)。它说明了第一个因子(F1)平均来讲解释了四个观察变量(x1到x4)的能力。所以「平均方差解释%」越大,就代表了这个因子很可以用来代表这四个观察变量。我们可以想一想,如果F1平均只可以解释所有的观察变量的10%,那就代表平均来讲,这些变量还有90%的变化是因子不能解释的(也就是上面讲的“特有的方差”)。在多元分析里面,变量的变化(方差)与共变(或者是标准化后的相关系数)是我们研究因果关系的中心部分。如果因子不可以代表变量的变化,我们就不可以用因子来代表变量了。   最后,我们再来看附表(3)一次。四个变量(x1到x4)在F1的载荷分别是.81,.77,-.24,-.31。这说明了什么呢?就是说用F1来代表x1和x2应该是没有问题的。但是用F1来代表x3和x4就有问题了,因为F1根本不可以代表x3和x4的变化。相反,四个变量在F2的载荷分别是.34,.15,.79,.65。F2可以用来代表x3和x4,但是不可以代表x1和x2。   附表(3)的结果告诉我们x1和x2可以由F1来代表,因为x1和x2本来是用来测量主管和下属的「关系」的,所以,我们叫F1做「关系」。同样的,x3和x4可以由F2来代表,因为x3和x4本来是用来测量主管和下属的「亲密度」的,所以,我们叫F2做「亲密度」。你可能说,我怎么知道「载荷」要达到什么程度,才可以说因子可以代表变量呢?一般管理研究的标准是「载荷」高于0.4的叫做大,低于0.4的叫做小。   《完》
作者: 匿名用户    时间: 2008-8-30 22:11
又是精采易懂!有关「尝试用非数学的方式介绍「载荷λ」、「因子F」、「误差ε」是怎样猜出来的,可是暂时未能成功。」,会慢慢等,更希望能进步快些,在您未敎之前,就搞懂了。
有个小问题:「如果我们用方差分解的方法来分解x1的方差,因为F1与F2与ε1都是独立的,所以协相关(共变 cov)都是0。」,我有些困惑,因为依照 λ11、λ12, λ21  , λ22  的数字,我以为这两个因子F1与F2是有相关的。不知是否我解读错了?? 若这两个因子有相关,「分解共性」协相关的计算要不要扣除共变的数据?

作者: 匿名用户    时间: 2008-8-30 22:25
写的真好
作者: 匿名用户    时间: 2008-8-30 22:29
有个小问题:因子与项目之间有对应关系吗?也就是说一个因子一般要对应几个项目?这又没有特别的要求。
希望书稿上网的速度再快点阿,谢谢Kenny
作者: 匿名用户    时间: 2008-8-30 22:49
Kenny, 您真是高效率。感谢这么详细的说明。赞!今夜会好好消化。在这之前,可以先了解一下您对于测量题目有交叉载荷(cross loading)的问题(您的例子无此问题),您建议应怎么处理?我过去就遇到这问题,我除了删题,不知还能做啥?对了,Kenny,您是否收到我今天请您把我加入QQ的讯息?一直未得到回应!!只是很想跟您说声谢!呵!

作者: 匿名用户    时间: 2008-8-31 15:43
Kenny无私的分享令人敬佩。我呼吁所有此博客人尊重智慧财产权,此博客的知识应仅作为自身学习,未经Kenny同意,不宜将这些内容做为授课之用!相信大家都能自律。 
可以解个惑吗?我听过处理EFA时,有一种方法是 “centroid method” (不清楚中文应如何说),可以谈谈吗?谢谢!

作者: Kenneth    时间: 2008-8-31 17:35
谢谢你的提醒。你能够看到这一点,大概就不需要看这个日子吧!  :-)
附表中的数据是我乱编出来的,不是真的。本来是为了解释Sandy问的两个名词的意思的。
我已经改过了数据,现在的F1与F2应该是差不多不相关的了。谢谢!  Kenny
作者: Kenneth    时间: 2008-8-31 17:53
问:因子与项目之间有对应关系吗?
回应:我所知道的是「没有」对应关系的。一般从一个因子对应3到4个项目开始,到一个因子对应十几项目的我都见过。
另外,凡是牵涉图、表的东西,我要首先画完,再贴在word上(自存之用),然后再储存为jpg。再要用另外一个程式来减低解像度。然后要在最短的时间贴上去(系统不容许我慢慢改的,不然,所有改的东西都会没有了)。其中,还有照顾希腊字母的问题(有一些系统可以接受,有一些不可以),还有上标、下标(平方 与subscript 等)所以是极为费时的。因此,我没有打算所有写完的文章都贴上来。不是不愿意,只是没有这么多时间来做编辑。我贴了EFA是因为要回答Sandy的问题而已。  Kenny
作者: Kenneth    时间: 2008-8-31 21:30
Sandy,用一般0.4作为载荷的标准的话,交叉载荷 (cross loading) 代表一个项目同时在两个构念上有超过0.4的载荷。概念上这代表什么呢?就是一个项目同时在量两个构念。这在一般测量模型里是不能接受的。我们还记得在一般测量模型里,x = λ τ + ε,x 只可以测量τ, 剩下的就全是误差ε。所以除非在很特别的情形,这是不可以接受的。不可以接受的意思是这个项目是不容许的。把它删掉是唯一方法。
我看不见有QQ要叫我加入,可能还没有学懂。:-(       Kenny
作者: 匿名用户    时间: 2008-8-31 21:33
Kenny,太好了,您分享了探索性因子分析,希望有许多回应,这样我的压力会少很多。!!我想针对您于「因子分析」该章的一句话,藉此机会就敎于您。请问:『一个「测量项目变数」( variable)和「因子数」(factor scores)的相关,就等于该项目变数在该因子上的「因子载荷」(factor loading)』是什么意思? 要怎么算呢?另外,您针对因子分析的PPT,提过ㄧ个词 “Residual Matrix after reflection”。 请问,reflection的中文在这是指什么?谢谢!
作者: Kenneth    时间: 2008-8-31 21:37
学习者,谢谢您。
我的书里的因子分析的一章,用的就是「中位法」(Centroid Method)开始的。请给我多一点时间,我试试可不可以贴上来。    Kenny
作者: Kenneth    时间: 2008-8-31 22:35
(1)假设x1与x2是两个变量。如果我们找到了一个因子,x1在它的载荷是λ1,x2在它的载荷是λ2。用我日志上的符号:
x1 = λ1 F + u1
x2 = λ2 F + u2 
从上式可以看见,F与x1的关系,其实就像一个回归分析,x1是因变量,F是自变量,λ1是回归系数。如果F与x1都是标准化的话(平均值=0;标准差=1),λ1就是F与x1的相关系数。

用数学符号来讲,x1与F的相关系数是:
= Cov(λ1 F + u1 ,F)
= Cov(λ1 F ,F)                      因为u1与F不相关
=λ1Cov(F ,F)                        F的方差是1
= λ1

(2)要怎么算呢?
F = λ1 x1 + λ2 x2
有了x1和x2,我们估计了λ1 和 λ2 ,就可以计算F了。
计算了F以后,F就变成一个新的变量。我的意思是F与x1的相关其实就是λ1。

(3)“Residual Matrix after reflection”。 请问,reflection的中文在这是指什么?
在我给你的文章里的12页,我说:『可是,在估计第二因子以前,我们看见残余矩阵内有很多负数。所以我们要做一个叫做「反映」(reflection)的动作。「反映」其实是把某些变量改变符号而已。因为x4,x5和x6 的残余相关有很多负数,我们把这三行的残余相关改变了符号。』
Reflection就是「反映」,把其中一些残余相关的符号改变,从负变成正。   Kenny 
作者: 匿名用户    时间: 2008-9-1 07:51
@回复 Wu 9楼 (Kenneth)
I am using the library computer and sorry to type Chinese. 

Kenny, how does this equation, "F = λ1 x1 + λ2 x2", come?

From "x1 = λ1 F + u1,x2 = λ2 F + u2", F sould equal to (x1-u1)/λ1 or 
(x2-u3)/λ2. 
作者: 匿名用户    时间: 2008-9-1 08:10
谢谢Kenny的解惑。确实在网上写这些非文字的内容太急人了,但是我在网上没有找到你的书阿?只是觉得在网上学习太慢了
作者: 匿名用户    时间: 2008-9-1 08:47
清楚了,非常谢谢您。
ㄧ个小提醒:您在「管理研究理论和贡献探讨1」172楼给我的答复曾提过 『Cluster analysis是「聚类分析」。我会解释因子分析跟聚类分析有什么不一样。』 谢谢!

作者: Kenneth    时间: 2008-9-1 21:38
问:how does this equation, "F = λ1 x1 +  λ2 x2", come? 
对不起,写错了。 λ1和 λ2 在这条方程式是常数,不是因子载荷。这几个常数怎么猜,众说纷纭。我猜最简单的应该是OLS(最小平方法)。因为在用因子矩阵(F)来代表X(观察变量的矩阵)的时候有“误差”(或者叫独特部分),所以因子F不可以尽表现X,在用因子数(factor score)来代表X的时候,误差的部分就要剔除(这就好像在做回归的时候,我们要剔除误差,只要估计的Y,Y-hat,一样)。原来是X=FB’+ U (U是误差) 的。如果拿走了误差,我们就有:
X=FB’ (X是观察变量矩阵,F是因子数factor score,B是因子载荷)。
经过以下推导就是找因子数的其中一个方法(如果我没错的话):
X=FB’
XB = F B’B
XB(B’B)-1=F
所以因子数factor score F= XB(B’B)-1
**你写的两条方程都不对的。因为我们不知道u1 和u2是多少,这样是解不到F出来的。   Kenny
作者: Kenneth    时间: 2008-9-1 21:48
如果我们的数据是10个变量x 100 个数据点的话(一个数据点可能是一个员工、一个团队、一家企业等),
Factor analysis 「因子分析」是减少变量的方法。我们用几个因子(比如2个因子),来代表10这个变量。
Cluster analysis「聚类分析」是减少数据点的方法。我们可能用5个类型(cluster)来代表这100个数据点。经过了聚类分析,可能100 个员工都分成5类型的员工了。      Kenny
作者: 匿名用户    时间: 2008-9-2 03:22
@回复 Twotwo 12楼 (Kenneth)

Kenny,多谢您的回复。我知道您尽量让大家多知道一些,但是我却有更多疑问,资质愚钝,诸多问题还要脸皮厚,真不好意思。
1.Y-hat 是什么?
2.是不是从“F = λ1 x1 +  λ2 x2”,即F=BX推出“X=FB’+ U (U是误差)”
3.在“X=FB’+ U (U是误差)”中,B’是矩阵吧?那么B是B’的转秩矩阵(transposed matrix,即把原矩阵行列互换)吗?还是说B是B’的逆矩阵(inverse matrix)。
4.我在大陆学的教材中,B’是转置矩阵的意思。B-1(类似“B的-1次方”的写法)是表示逆矩阵。若B’是转置矩阵的意思,那么B’B有什么用呢?
5.在“F= XB(B’B)-1”中,F转化为这样子有什么用吗?是不是说X通过问卷统计得到,B’用OLS求出,所以F就可以估计了?如果B’用OLS求出,那么为什么还费劲用F= XB(B’B)-1求F,直接用F=XB’不就可以了吗?
5.如果您有时间,请解释一下怎么用OLS求出B’,好吗?
作者: Kenneth    时间: 2008-9-2 20:35
1.Y-hat 是什么? 
Y-hat 是回归分析中估计出来的Y值。
2.是不是从“F = λ1 x1 +  λ2 x2”,即F=BX推出“X=FB’+ U (U是误差)” 
我的意思是我写错了,应该是F =w1 x1 +  w2 x2 (wk 是要估计出来的常数,回归法是其中一种猜的方法)。
X=FB’+ U 是我原来写的公式(1)到(4)的矩阵表达。
3. B是B’的转秩矩阵(transpose),B-1是B逆矩阵(inverse,类似“B的-1次方”的写法)。 我有把-1变成指数(升高、变小,像平方一样)的。只是系统不接受,在我贴上去的时候把它还原了。
4.若B’是转置矩阵的意思,那么B’B有什么用呢? 我的理解是B是因子载荷,所以在我的例子中是一个向量。一个向量乘自己的transpose就等于所有的数值的平方和。
5.在“F= XB(B’B)-1”中,F转化为这样子有什么用吗?
X是我们原来的数据,B是估计出来的(比如用主成份法)。因为X与B都是已经知道的,所以F就可以计算了。用我的推导来求F(即乘于transpose,再求逆矩阵,这样乘出来求F的方法,叫做回归法。另外还有起码三四种方法求F)。 
5.如果您有时间,请解释一下怎么用OLS求出B’,好吗?
没有用OLS求B'。我只介绍了一种求因子载荷的估计方法,叫做「主成份法」。OLS是用来求F的,不是求B的。      Kenny
作者: 匿名用户    时间: 2008-9-3 09:27
您提到:Residual Matrix after reflection其实就是把某些变量改变符号而已。因为x4,x5和x6 的残余相关有很多负数,我们把这三行的残余相关改变了符号。Reflection就是「反映」,把其中一些残余相关的符号改变,从负变成正。
我想请问,怎么把负变成正?谢谢。关于您因子分析的ppt能否也给我发一份,me_mo@163.com 谢谢
作者: Kenneth    时间: 2008-9-3 15:25
Rush, 如果残余矩阵是:
.5  .4  -.1  .2
.3  .2  -.2  .1
.4  .2  -.1  .2
.6  .5   .2  .3
「反映」就是把第三个纵列的符号改变。所以经过反映后的矩阵是:
.5  .4   .1  .2
.3  .2   .2  .1
.4  .2   .1  .2
.6  .5  -.2  .3
不过,我不太建议大家学「中位法」。因为它是把「载荷的绝对值的总和最大化」。这相对于「主成分法」的把「载荷的平方的总和最大化」解释的总方差为小,不是因子分析的最重要目的(因子分析是希望因子解释变量的方差越大越好的)。
关于我的ppt,我发现有一些写错了,可是没有时间去改。我怕会误导读者。所以对不起,还是请你等一下,我会把改正的都写进书内的。    Kenny
作者: 匿名用户    时间: 2008-9-6 18:13
有个问题一直想不通,按照Kenny的例子,这四个测量题项所找出的两个因素(关系 & 亲密)依数值看来是不相关了,但大部分的因素分析出来的结果,因素多会有所相关(即使是采正交转轴)。同Helena 2楼的困惑,「若这两个因子有相关,「分解共性」协相关的计算要不要扣除共变的数据?」 这答案应是肯定的吧?


作者: Kenneth    时间: 2008-9-7 08:10
问:若这两个因子有相关,「分解共性」协相关的计算要不要扣除共变的数据?
回应:我的理解是「分解共性」commonality是「一个因子架构能够解释该变量的能力」(the proportion of a variable’s variable explained by a factor structure)。如果:x1 = λ1 F1 + λ2 F2 + u1(λ是载荷、F是因子分数、u是独特部分或叫误差),而F1与F2不是垂直的,那么,var(x1) = (λ1)^2 var(F1) + (λ2)^2 var(F2) + 2cov(F1,F2) + var(u1)。如果我没有错,理论上来讲,var(u1) 还是这个「因子架构」(factor structure)不能解释x1的变异(方差)的部分,余下的var(x1) – var(u1) 就是这个「因子架构」解释了x1的变异的部分(分解共性)了。
【注:因子可以想像成为在多维空间中的向量。找到了第一个因子,一般的做法是找一个跟这个向量垂直的向量作为第二因子。所以我们现在有两个向量像十字架一样的垂直的。因子的转轴(factor rotation)可以想像成为我们把这个十字架用手把它按它的相交点为中心的旋转。两个向量的相交角度(在这个情形是90度)永远保持不变的。所以「因子转轴」一般不会改变因子的相关的】。     Kenny
作者: 匿名用户    时间: 2008-9-7 13:00
谢谢你的说明,但我实在是看不太懂,对不起,程度太差了。下列两个问题,请给我简单的答复就好,别再浪费您的时间:1. 「若这两个因子有相关,「分解共性」协相关的计算要不要扣除共变的数据」?Yes or No?  2. 「这个算法,SPSS软件会自己算出来,我不需算,是吗」?


作者: Kenneth    时间: 2008-9-7 21:22
Song,先给你你要的简单回答。
1.「若这两个因子有相关,「分解共 性」协相关的计算要不要扣除共变的数据」?NO.
2.「这个算法,SPSS软件会自己算出来,我不需算,是吗」?YES.
我再试图解释一次。
「分解共 性」的意思是我们把每一个变量(比如x1)分成两部分:共有的“共性”和特有的“特性”。比如你与我都是「中国人」,这是你(x1)与我(x2)的“共性”。你与我也同时是「做学问的」,这也是我们的“共性”。但是你可能是「安徽人」,我是「香港人」,这就是我们“独特”的地方。一个变量的(比如x1)方差只有两部分:(1)与其他变量“共性”的部分;和(2)它自己“独特” 的部分。非独特的部分,通通都叫“共性”。 「协相关」不是独特的方差,所以是“共性”的部分。      Kenny
作者: 匿名用户    时间: 2008-9-7 22:16
懂了!感谢您那易懂的例子。

作者: 匿名用户    时间: 2008-11-21 11:51
xiexie 
作者: 匿名用户    时间: 2009-3-12 11:58
kenny,我觉得您讲的太好了,尤其对我这样一个数学底子不好,甚至惧怕数字,但是不讨厌数字的人来说,这样的讲义真的可以看的很明白,不知道您有没有更多的讲义,希望可以出成小册子啊,是我这样的研究者的福音啊。
作者: 匿名用户    时间: 2009-3-25 09:51
Kenny,您好!我是中大岭南学院的硕士生,叫陈升,请您推荐一本scale development的textbook,谢谢!
作者: zhuzhiqiang    时间: 2009-3-25 14:13
谢谢!难得把自己的研究拿出来与大家分享!
作者: Kenneth    时间: 2009-3-25 14:47

陈升,比较新的一本是Robert F. DeVellis 的 Scale DevelopmentTheory and application, Second ed. SAGE publication. Applied Social Research Methods Series, volumne 26.
作者: 匿名用户    时间: 2009-3-25 21:03
kenny,我最近也有在岭院听你的课,一直坐第一排,感觉受益匪浅!越来越觉得你好型!你最型的地方在于,用简单的例子解释复杂的理论,用通俗的例子解释抽象的数学,让人感觉那些飘在云端的东西也是可以approach的!当然我知道罗马不会一天就到达,但是上完课我至少觉得我已经出发了!谢谢你!
作者: 匿名用户    时间: 2009-9-24 14:06
Kenny,你说Convergent validity是相同construct不同measures之间的相关,但是我常常看到论文中检验Convergent validity的方法是,对自己采纳的meausres进行EFA或者CFA,并没有把其他measures纳入进来进行相关分析,我不知道为什么?谢谢Kenny!
作者: 匿名用户    时间: 2009-9-25 11:27
“Convergent ​validity是相同construct不同measures之间的相关”是计算相关系数就可以了啊,为什么会做CFA或EFA?
作者: Kenneth    时间: 2009-9-25 22:06
同意Kathy讲。他们这些人相信测量同一个构念的项目的高相关叫做「convergent validity」;测量不同构念的项目在不同的影子载荷叫做「discriminant validity」。我不同意这看法。
作者: 匿名用户    时间: 2009-9-27 08:56
Kenny,那“他们这些人”是不是不能区分reliability和convergent ​validity,有点搞糊涂了。。。
作者: Kenneth    时间: 2009-9-27 15:29
正是!我常常不知道如何指出“他们的错误”,这正是一个很好的表达。
作者: 匿名用户    时间: 2009-9-27 20:49
Kenny,如果按照您说的检验「convergent ​validity」的方法,是不是在设置问卷时要同时包含别人的measures和自己的measures呢,因为这样才能计算别人和自己不同measures之间的相关啊。但是在问卷中同时包含自己和别人的measures,我好像从来没有见过啊。
作者: Kenneth    时间: 2009-9-27 23:34
Austin,因为你不是做 validation(大部分人都不是),所以就很不常见了。
作者: 匿名用户    时间: 2009-9-27 23:37
那我想知道,大部分人这样做到底为什么呢?是不是也会有他们的道理。。。
作者: Kenneth    时间: 2009-9-28 09:24
他们这样做是正确的,我也会这样做。在分析以前做因子分析是一个必然的步骤,因为要肯定变量的因子结构。问题不是分析本身,是这个因子分析的“意义”。比如你研究三个变量之间的关系,这个分析是肯定用的项目是在测量它自己背后的构念,不是其他。但是我们不可以说一个三因子结构就“验证或证明”了这些项目是有convergent和discriminant validity的。因为你的设计本来就是假设它们是不一样的构念。它们本来理论上就不用应该是一样的东西。
作者: 匿名用户    时间: 2009-9-29 11:49
Kenny, 还有一个问题。一般检验问卷是先做探索性因子分析,然后做验证性因子分析。探索性因子分析做完可以得到因子的初步结构,然后再用初步的结构去做验证性因子分析。但是这里存在一个问题:探索性因子分析的结果一般是,各因子互相正交的;而验证性因子分析的假设是,各因子是相关的。这是不是有矛盾呢?
作者: Kenneth    时间: 2009-9-29 14:07
Austin, 
(1)每一个数据只准“做一次”因子分析。要么做探索性因子分析,要么做验证性因子分析。不会做完一种,在做另外一种的。如果你不知道项目的因子结构的话,就做探索性因子分析。如果你已经知道了项目的因子结构的话,就应该做验证性因子分析。
(2)当然是矛盾的。探索性因子分析只是给你去“探索”项目之间的关系。知道了以后,就应该用另外一个样本去验证这个因子结构。虽然在探索性因子分析中,我们一般会让项目之间有相关。但是一般高于.40的就代表有问题了。验证性因子分析对项目之间的相关要求就更高了,是完全不准相关的。它们唯一可以相关的原因就因为它们是量同一个构念。

作者: 匿名用户    时间: 2009-9-29 17:15
Kenny
1、对于EFA和CFA不能用同一样本,我是知道的。
2、我在41楼问的问题是关于因子相关或不相关的,还没到项目上,难道这本质上是同一个问题?
3、在项目层次上,您似乎在说,无论EFA或CFA,都不允许项目之间有高的相关,我不太懂。能麻烦Kenny多说一些吗?
作者: Kenneth    时间: 2009-9-29 20:19
明白了。看得太快,所以有误,对不起。
2. 探索性因子分析不一定是垂直的。有一些旋转的方法是相关的。只是我们习惯用垂直的方法而已。
3. 可能我讲得不清楚。我的意思是无论EFA或CFA,都不允许有交叉载荷(EFA要很低、CFA不容许)。测量同一个因子的项目之间有高的相关是很正常的。
作者: 匿名用户    时间: 2009-9-29 22:40
Kenny,只要在EFA中是正交旋转,我说的这个问题还是存在:“探索性因子分析的结果一般是,各因子互相正交的;而验证性因子分析的假设是,各因子是相关的。”
如何解释呢?
作者: Kenneth    时间: 2009-9-29 22:59
为什么要解释呢?EFA 和 CFA 是两个不同的因子分析方法,它们有不同的假设有什么问题呢?就算同是EFA,抽因子时的标准都会不一样。比如主成分分析是因子方差平方最大化;重心法是方差绝对值最大化。标准不一样,抽出来的因子就不一样了。有什么问题呢?
作者: 匿名用户    时间: 2009-9-29 23:39
可是EFA和CFA是有承接关系的啊。EFA确定因子结构,CFA是对EFA结果进行验证。也就是说EFA的结果和CFA的假设应该是一致的啊。如果EFA结果和CFA假设不一致,那做EFA是干嘛呢?
作者: Kenneth    时间: 2009-9-30 09:26
它们两者是没有关系的。提出CFA的人只是把它看成是SEM的一部分。是我们(研究人员)把它们这样用的。如果EFA是为了发展量表个选项目,用垂直这个标准更保守,更安全。选了项目后,有一个较宽松(实际)的验证标准也不为过。你的问题是你把这两个技巧看成是“我们发展出来,为了这样做的”。其实不然。在统计上,它们是各自发展和存在的。只是我们做研究时,发现如果不知道因子结构时,EFA这个工具应该比较合适;如果知道因子结构时,CFA这个工具应该比较合适而已。这就好像样本大的时候,我们觉得正态分布可能更适合;样本小的时候,我们觉得t-分布可能更适合。这,都是我们主观的判断而定的“规矩”。
作者: 匿名用户    时间: 2009-9-30 10:24
我举一个例子。比如,我不知道某个多维构念的因子结构,所以在一个样本通过EFA来确定,采用正交旋转,得到四个因子(维度),所以这四个因子(维度)是正交的。知道是四因子结构后,我在另一个样本用CFA来验证。但是因为SEM系统假定这些因子是相关的,所以我们用CFA验证的,同样这个多维构念、同样包括四个因子,但是现在四个因子从正交变为相关了。这不是一个问题吗?
作者: Kenneth    时间: 2009-9-30 13:14
Austin,我没有责任替学界的习惯辩护。不过,我真的不觉得是一个很大的问题。
1.没人强迫你在EFA要用正交的假设的。如果你有任何理由要用交互的假设,没有人会不同意的。只是正交假设得到的因子是最小的,比较保守。
2.因子是正交,但是EFA也容许交互载荷。在这一点他们放宽了。
3.相反的,在CFA的因子是斜交的,但是不准交叉负载。在这一点他们严谨了。
4. 我已经讲过,这只是习惯。如果你觉得有需要,完全可以在CFA要求正交的。
5. EFA 和 CFA 是两个不同的工具,不是一个工具的两个步骤。我们一般只是觉得 EFA 在未知道因子结构是“比较”合用;当知道了因子结构后,CFA “比较”合用。在EFA中,你作为研究人员是可以让因子相交的。同样,你作为研究人员也是可以让因子在CFA中不相交的。
6. 最后,我想问你,既然你不知道变量的结构,你怎么用CFA? EFA是不是唯一的选择? 当你知道了结构以后,不同的因子在实际的情况下几乎一定会相交的。而且,你明明知道某些测量项目是在量某一个因子的,干嘛要给交叉载荷呢?是不是 CFA 比较合理?
作者: 匿名用户    时间: 2009-9-30 15:46
谢谢Kenny。忽然想到:如果那些只是和学界习惯一致的论文送到Kenny那里review,不知道Kenny会不会就此写下修改意见呢?
作者: Kenneth    时间: 2009-9-30 16:10
看什么问题吧。这个问题肯定不会,因为我觉得大致是可以接受的。但有些问题,比如过为宽松地解释discriminant validty和convergent validity,我就不可以接受了。把p<.10看成是partially supported我也不可以接受。随意交叉地从不同的量表选项目我也不会接受。这三者在论文中都是常见的。
作者: 匿名用户    时间: 2009-9-30 18:54
Kenny,我还有一个问题:不存在交叉载荷和unidimensionality是不是一个意思?谢谢!老来骚扰您:)
作者: Kenneth    时间: 2009-9-30 23:38
当然不是,有交叉载荷只是代表测量不好(除非是例外的情形),跟多维变量完全没有关系。多维变量的每一个维度都不会有交叉载荷的。只是第一阶因子可以再抽一个共同因子而已。
作者: 匿名用户    时间: 2009-10-1 00:43
那unidimensionality是什么意思?如何检验呢?
作者: Kenneth    时间: 2009-10-1 09:30
unidimensionality 不是一个验证上的问题(empirical question)。它是一个理论的设定。对于单位构念,所有的项目只可以抽一个共同因子。对于多维构念,每一个维度的项目各自背后有一个因子,然后这几个因子(维度)背后再可以抽一个共同因子(我假设你的多维构念是latent model)。
作者: 匿名用户    时间: 2009-10-27 17:00
Kenny好 。有一个经验性的问题就教于您:在国际期刊上发表的组织行为方面的文章,如果做探索性因素分析,可以解释的总变异(Total Variance Explained)一般会要求是%多少?谢谢!
作者: Kenneth    时间: 2009-10-27 21:18
Sean,我没有听过有这样的要求。因为如果是探索性因子分析,只要因子数目多的话,「可以解释的总变异」自然就多了。到了因子数等如变数量时,「可以解释的总变异」就是100%了。所以,我猜你的问题可以转化为「到底要几个因子才足够」?这个一般我们用 Eigen value > 1 和 Scree test 两个作为标准。
作者: 匿名用户    时间: 2009-10-27 21:40
我猜seam的意思是EFA抽取的特征值大于1的所有因子累计解释多少变异才是可接受的(比如50%)。
作者: Kenneth    时间: 2009-10-27 21:52
Tsai,我已经讲了。我没有听人说有这样的要求。退一步来说,如果你已经取了特征值大于1的所有因子,或是 Scree test 的结果已经告诉你这个数目的因子是适当的。但是累计解释变异还是很少,那就是证明各个变量的 commonality 很低,你根本就没有什么可以做。多与少有什么关系呢?我的理解是一般因子分析的应用,是关心变量的 commonality (对不起,我不知道中文是什么)多于这几个因子是否有能力代表所有的变量的方差的。
作者: 匿名用户    时间: 2009-10-28 00:08
@回复 Tsai 59楼 (Kenneth)
谢谢Kenny.是我没有讲清楚。我再把我的问题解释一下。
您在回复Tsai中讲到“......但是累计解释变异还是很少,那就是证明各个变量的 ​commonality ​很低......"。我想问的问题是累计解释变异是否有一个经验性的标准?多少算很少呢?比如50%什么的。另外,在发表文章时,EFA的结果中,需要报告​各个变量的communality ​吗?我记得好像没有。
再次感谢您。
作者: Kenneth    时间: 2009-10-28 09:34
是的。一般很少报告累计解释变异。我猜正如我说,做EFA时,大家有兴趣的是各个变量的“因子结构”(factor structure)是怎样的。是不是相同的项目应该在相同的因子上有大的载荷,同时,它们也不会在其他因子有大的载荷。
举个例子,你有四个项目,假设它们背后有两个因子,x1与x2背后是F1,x3与x4背后是F2。我们再假设x1与x2在F1的载荷是0.5,在F2的载荷是0。同样的,x3与x4在F2的载荷是0.5,在F1的载荷是0。这样的因子结构,对我们来说,是superb的。但是平均两个因子只是解释了变量的50%而已。
作者: 匿名用户    时间: 2009-10-28 09:53
commonality中文被译成共同度,即一个变量被所有抽取的因子共同解释的比例。但是好像即使英文期刊一般也是报告cumulative%,而不是commonality.
作者: Kenneth    时间: 2009-10-28 10:11
谢谢,Tsai。是的,很少人会报告共同度。我只是说「如果累计解释变异很低,就代表共同度少了」而已。
作者: 匿名用户    时间: 2009-10-28 16:31
@ 回复 Tsai 63楼 (Kenneth)
谢谢Kenny 和Tsai。

作者: 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就可以了,为什么还做其他的?
作者: 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-11-3 22:27
谢谢kenny!今年五月底在南大听了你的课,又在网上看到这么好的博客,为你的无私付出很受感动!自己也想为这个博客多做点事,不知道kenny有没有什么建议?
作者: Kenneth    时间: 2009-11-3 22:34
Chalk,谢谢你。我想每一个看这个博客的人都可以帮我(也是帮大家)做两件事:
1. 有学习的心得的话,可以写日志寄给我(我帮你登出来)。
2. 帮助我回问题,与大家一同学习。
作者: 匿名用户    时间: 2009-12-15 22:06
各位好!我正在做一个研究.计划要用到探索性因子分析,验证性因子分析,以及路径分析.不知道这三个统计分析方法一般分别要多大的样本量比较好?

作者: 匿名用户    时间: 2009-12-15 22:12
记得做以上三种分析时,样本容量量与项目(ITEM)数有一定的比例关系.但具体的量忘记了.
先谢谢各位了。
作者: 匿名用户    时间: 2009-12-15 23:16
Sean, 凭我的破记性,样本量应该至少需要是项目数的5倍。项目数以你完整的模型中的项目数为准。
作者: 匿名用户    时间: 2009-12-15 23:41
@71楼 Sean (xinxin)
谢谢XINXIN。如果是做路径分析的话,由于涉及多个变量,因此是测量所有变量的ITEM数之和的5倍,是吗?
再次感谢!
作者: 匿名用户    时间: 2009-12-16 01:10
Sean,是的,应该是所有的和。在全模型中,准确说应该是样本数至少是待估计的参数的5倍。所以如果你把item都合并为single item或者少数几个item, 需要估计的参数少了,需要的样本似乎就少了。另外,在因素分析中,Gorsuch (1983) 建议样本数应最少为变量数的5倍,且大于100,才能做因素分析,也是一样的道理。
作者: 匿名用户    时间: 2009-12-22 14:48
各位好!在做探索性因子分析时,出现了负载荷?这是什么道理?这样的项目(item)如何处理?
作者: Kenneth    时间: 2009-12-22 17:54
负载荷在反向题目是正常的,把它当成是正就好了。如果在正向题目有负载荷,你会希望载荷很小(<.40甚至是.30)。不然的话,肯定是项目有问题,或是数据有问题了。
作者: 匿名用户    时间: 2009-12-30 16:05
有一个问题想向大家和kenny请教。我在进行安全氛围研究,根据国内外研究结果,安全氛围包括若干个因素(因子/要素),具体有多少种要素学术界一直在争论中,也没有一致的量表。根据一些学者对以往研究进行的文献综述,安全氛围一般包括管理层承诺、安全系统、安全沟通、安全参与等要素。在进行安全氛围问卷设计时,我选取了最高管理层承诺、基层管理层承诺、安全沟通、安全参与等要素,对每个要素分别进行了问卷题目的设计。现在问卷调查已经实施完毕,正在进行数据分析和处理,我想对安全氛围问卷调查结果进行探索性因子分析,是否要将所有题项放在一起进行因子分析,还是按照设计时的要素分别进行因子分析?谢谢
作者: Kenneth    时间: 2009-12-31 09:29
当然是所有“由同一个来源(受访者)得回来的变量,都一起做因子分析”了,这样才有意思。不然的话,你的所谓因子分析,只是在测构念的“单一维度性”了。
不过我想提醒一下,我感觉你对所谓「安全氛围」的定义好像很松散。比如,你分析了以后,发现安全氛围对企业的业绩(我希望你不是说对“员工的安全行为”吧)有很大的影响。你有没有想过,如果我把定义在扩大一点,比如加入「安全培训、奖金制度」等后,原来显著的结果,可能变成不显著了。换句话来说,你有没有证据支持你现在的“定义”是一个“合理的”「安全氛围」定义呢?
作者: 匿名用户    时间: 2010-1-1 11:13
谢谢kenny,我搞清楚了。我又查阅了几篇文献,大部门研究者是将所有问卷题项放在一起进行探索性因子分析,也有个别研究者是自己设计的要素分别进行因子分析,但随后的研究者对此提出了质疑。有些问题是在逐步研究中才能发现解决的。另外,安全氛围的概念首先是由以色列学者zohar在1980年首先提出的,他将安全氛围定义为:”员工对工作环境的共同感受“。后来产生了很多定义,虽然有些差异,但都是从员工角度描述对企业安全问题的看法。
作者: 匿名用户    时间: 2010-4-5 16:53
学到了
作者: 匿名用户    时间: 2010-4-26 12:00
Kenny,您好。在EFA过程中,根据因子载荷删除items的时候,是将所有因子载荷《0.4的项目一起删除,还是每次仅删除一个,如果每次只删除一个的话,那删除的标准是什么呢? 谢谢!
作者: Kenneth    时间: 2010-4-27 11:09
我希望你是发展量表,而不是用别人的量表。不然的话,请不要删除别人的项目。如果是发展量表的话,我一般是一次过把不好的项目删除的。不好一般的定义是载荷少于0.4。当然如果你的项目很多,也很精准的话,可以提高一点的。
作者: caocao860528    时间: 2010-11-5 21:22
你好Kenneth,我想问一下做探索和验证的样本量是怎样确定的?
作者: caocao860528    时间: 2010-11-5 21:24
我现在有一个3000人的样本,想用部分数据做探索,另一部分数据做验证,那用多少样本量做探索,多少样本作验证比较合适?




欢迎光临 中人网 (http://bbs.chinahrd.net/) Powered by Discuz! X2.5