1、1因子分析专题8.1 引言因子分析是主成分分析的推广,它也是一种把多个变量化为少数几个综合变量的多元分析方法,其目的是用有限个不可观测的隐变量来解释原始变量之间的相关关系。例 8.1.1 Linden 对二次大战以来奥林匹克十项全能比赛的得分做了分析研究,他收集了 160 组数据,这十个全能项目依次为:100 米跑、跳远、铅球、跳高、400 米跑、110 米跨栏、铁饼、撑竿跳高、标枪、1500 米跑。但是总的来说基本上可归结为他们的短跑速度、爆发性臂力、爆发性腿力和耐力这四个方面,每一个方面都称为一个因子。用分别表示十个项目的得分,它们可以表示为含有上述四个因子的线性模型:1021,x,iii
2、iiii faffaf 432 10,2其中 表示 4 个因子,称为公因子, 称为第 个变量在第 个因子上的载荷。321,f ijij是总平均, 是第 项得分不能被四个公因子解释的部分,称之为特殊因子。这个模型ii形式上与线性回归模型几乎一样,但是它们有着本质的区别:回归模型中自变量是可以被观测得到的,而上述因子模型中的 是不可观测的隐变量,这使得该模型理解4321,ff起来较为困难;再者,两个模型的参数意义也很不相同。例 8.1.2 为了评价高中学生将来进大学时的学习能力,抽了 200 名高中生进行问卷调查,共 50 个问题。所有这些问题可简单地归结为阅读理解、数学水平和艺术修养这三个方面。
3、这也是一个因子分析模型,每一方面就是一个因子。例 8.1.3 公司老板对 48 名申请工作的人进行面试,并给出申请人在 15 个方面所得的分数,这 15 个方面是:(1)申请信的形式;(2)外貌;(3)专业能力;(4)讨人喜欢的能力;(5)自信心;(6)洞察力;(7)诚实;(8)推销能力;(9)经验;(10)驾驶汽车本领;(11)抱负;(12)理解能力;(13)潜力;(14)对工作要求强烈程度(15)适应性。这些问题可以归结为如下的几个方面:申请者外露的能力,讨人喜欢的程度,申请者的经验,专业能力。每一方面都是因子模型中的一个因子。8.2 因子模型一、数学模型设 维可观测的随机向量 的均值为
4、,协方p),(21pxx ),(21p差矩阵为 ,因子分析的一般模型为)(ij2(8.2.1)pmppp mfaffaxfff 21 2222 11211其中 为公因子, 为特殊因子,它们都是不可观测的随机变量。mf,21 ,1公因子 出现在每一个原始变量 的表达式中,可理解为原始f ix),21(变量共同具有的公共因素;每个公因子 至少对两个原始变量有作用,否jf,则它将归入特殊因子。每个特殊因子 仅仅出现在与之相应的第 个原始变i)(p i量 的表示式中,它只对这个原始变量有作用。 (8.2.1)式可用矩阵表示为ix(8.2.2)Af式中 为公因子向量, 为特殊因子向量,),(21mf )
5、(p),(21p称为因子载荷矩阵,并假设 的秩为 。通常假定paij:) Am(8.2.3) pmppmfEfEf diagDVIffffEf 0)()()(),cov( ),()()()(0( 2211 同理易知 ,注意两个协方差矩阵阶数不一样。由上述假定可以看出,公因子彼此不相关且具有单位方差,特殊因子彼此不相关且和公因子也不相关。因子分析与主成分分析是多元分析中两种重要的降维方法,但两者有很大的不同。主成分分析不能作为一个模型来描述,它只能作为一般的变量变换,主成分是可观测的原始变量的线性组合;而因子分析需要构造一个因子模型,公因子一般不能表示为原始变量的线性组合。二、因子模型的性质1
6、的协方差矩阵 的分解x由(8.2.2)式知3DAVEAIffEf ffAfAff AfEfEEAfVxmpm )(0)()()( )()()()()即 (8.2.4)这就是 的一个分解。如果 为标准化了的随机向量,则 就是相关矩阵 ,xpijR)(即有(8.2.5)AR2.模型不受单位的影响将 的单位作变化,就是作一变换 ,这里 ,x x* ),(21pdiag,0j,于是 ,令 ,),21(pi AfAfx)(* *, , ,则有A*f*(仍然为因子分析模型)*x这个模型能满足完全类似于(8.2.3)式的假定,即 pmmpfEfDVIffE0)(),cov()(0*1*其中4*221*2*2
7、1()()()(),(,),ppVDEEDdiagi 即 , , 。)(*dag 2ii),1(p3因子载荷是不唯一的设 为任意 正交矩阵,令 , ,则模型(8.2.2)式能表示为TmAT*f*(8.2.6)*fAx因为 0)()()(*fETffEmIVV)()(),cov(* fff所以仍满足条件(8.2.3)式。从(8.2.4)式可以看出, 也可分解为(8.2.7)DA*因此,因子载荷矩阵 不是唯一的,在实际应用中常常利用这一点,通过因子的变换,使得新的因子有更好的实际意义。三、因子载荷矩阵的统计意义1 的元素 原始变量 与公因子 之间的协方差函数ijaixjf(8.2.1)式可以表示为
8、, (8.2.8)imiiiii faffx 21 ),21(p故5(8.2.9)ijj jijijij jimiiijiafVff ffafafx)(),cov(,cov),(),cov( 21即 是 与 之间的协方差函数。若 为标准化了的随机向量,即 ,则 与ijaixjf x 1)(ixVi之间的相关系数jf(8.2.10)ijjijiji afxfVxfx ),cov()(,cov),(此时 表示 与 的相关系数。ijaijf2 的行元素平方和 原始变量 对公因子依赖的程度Amjiiah12 ix对(8.2.8)式两边取方差 221 212)()()( )()( iimii imii
9、iii iiiii aafVffVVfaffx (8.2.11)),(pi令 , ,于是jiimiii aah122212 ),(p, (8.2.12)2iii),(p反映了公因子对 的影响,可以看成是公因子对 的方差贡献,称为共性方差;而2ihixix是特殊因子 对 的方差贡献,称为个性方差。当 为标准化了的随机向量时,i ii,此时有1i, (8.2.13)2iih),1(pi3 的列元素平方和 公因子 对 的贡献Aijjag12jfx由(8.2.11)式得6(8.2.14221 12122112 1221 1111211 )()()( )()()( )()()()(impimpimipi
10、pi ipimii piipimiiipiipiii imiiiipii gfVgffVfVafafafff fafaVfaVfffx )其中,pijjag122 ),(从(8.2.14)式可见, 的第 列元素的平方和 是 的系数, 的值越大,反映Aj2jg)(jfV2jg了 对 的影响越大, 是衡量公因子 重要性的一个尺度,可视为公因子 对 的贡jfx2jgjf jfx献。8.3 参数估计设 是一组 维样本,则 和 可分别估计为nx,21 p和i1niiixxS1)(为了建立因子模型,首先要估计因子载荷矩阵 和个性方差矩阵mpaAij:(。常用的参数估计方法有如下三种:主成分法,主因子法和极
11、),(221pdiagD大似然法。一、主成分法设样本协方差矩阵 的特征值依次为 ,相应的正交单位特征向S021p量为 。选取相对较小的主成分个数 ,并使得累计贡献率ptt,21 m7pimi1达到一个较高的百分比,则 可作如下的近似分解SDADttt Dttt tttttt ttt tttttt ttt ttt tttttt ttt ttt tttttt ttt ttttttttt tttttSm pmmpppp m pp mmmpppmpmpmm ppmpp mppp mmmpmmmp pmpmppmmpmpp mp 21 21 22 1211222111 2212 1,1,2,2,1 2,
12、2 1121, 2212 1212211121 2,2,2, 1112212 121 2, 2,1,2 12,1,1222 111 12 其中8pmpmpmpp maattt tttttA 21211222211121, 2212),(pdigD 易知, , 。证明如下。mjiiias122,证明:因为 ,即DASDA DttttDt tttt mmpm )()()(22112 11 又因为 ,即21211, A91212121,1,21212 2,1,2121212,1,pppmmpppmpmppmmpssssaaaaaaa 121212112122121,1,222,pppmpppmmpm
13、ppmaaaaa ,1,112221,2 2121121212pmp ppmpppmmaaaaa 22121212 2111 22121pmjj jjj jjj jpjj j pmmpjpj pjjj jaaa 对比等式两边,即得 , 。jiiias12,10证明完毕。这里的 和 就是因子模型的一个解。因子载荷矩阵 的第 列与 的第 个主成分ADAjSj的系数向量仅相差一个倍数 ( ) ,因此这个解就称为主成分解。jm,21若 个原始变量的单位不同,则我们首先对原始变量作标准化变换,此时的样本协方p差矩阵即为原始变量的样本相关矩阵 ,用 代替(8.3.1)式中的 ,可类似地求得主成R S分的解
14、。二、主因子法主因子法是因子分析中一种最简单、最有效的方法,它已经得到了最普遍的应用。我们这里假定原始变量 已作了标准化变换。如果随机向量 满足因子模型xxAfx则有, ,其中 为 的相关矩阵,令DRR(8.3.2)*即 2212211* ppppR 则称 为 的约相关矩阵。易见, 中的对角元素是 ,而不是 1,非对角元素和 中*x*2ihR是完全一样的,并且 是一个非负定矩阵。我们首先在相关矩阵 及个性方差矩阵* R已知的条件下,求出因子载荷矩阵 。),(221pdiag A由上一节因子模型的性质 3 知, 的解是不唯一的,可以有许多。主因子法就是要求A得到的解能使第一个公因子 对 的贡献
15、达到最大,第二个公因子 对 的1fxpiag122 2fx贡献 次之,第 个公因子 对 的贡献 最小。piag122 mmfxpimag122由于 ,所以 有 个正特征值,依次记为ArankrkRrnk)()()(* *R,相应的正交单位特征向量为 ,故 的谱分解为0*21m 21,mtt *11(8.3.3)AtttttttRmm*21*21* *2*1*, 其中, (8.3.4)*21*,tt它就是我们所要求的主因子解。 中的第 列元素的平方和为Aj,即*jjjtt(8.3.5)pijjjag122在实际应用中,相关矩阵 和个性方差矩阵 一般都是未知的,它们可通过一组样本RD来进行估计。为
16、了符号上的方便,我们将 (或 )的估计值仍记为 (或nx,21 R*R) 。估计个性方差 等价于估计共性方差 ,这是因为由 ,*R2i2ih12iih式知),(pi,221iih),(p(或 )的较好估计一般很难直接得到,通常是先给出它的一个初始估计 (或 ) ,ii 2iih待载荷矩阵 估计好之后再作出 (或 )的最终估计。A2iih个性方差 (或共性方差 )的常用初始估计方法有如下几种:2i i(1) 取为原始变量 与其它原始变量 的复相关系数的平ihix piixx,121 方,则 。22ii(2)取 ,其中 是 的对角元素。iir1i1R(3)取 ,则 。ijjihmax2 22iih
17、(4)取 ,则 ,得到的 是一个主成分解。 (因为此时 ,1i 0i A0D)R*12因子的个数 应选取为多少呢?一般可采用主成分分析中确定主成分个数的原则,即m寻求一个较小的自然数 ,使得pjj1*达到一个较高的百分比(比如至少达到 85) 。需要指出的是, 的部分特征值可能是负*R的。最后,取 的前 的正特征值 及其相应的正交单位特征向量*Rm0*21m,可以得到近似分解式*21,tt A其中 )(, *21* ijmatt的最终估计为2i, (8.3.7)jiii ah12221),(p我们称这样求得的 和 为因子模型的主因子解。A,221pdigD如果我们希望求得近似程度更好的解,则可
18、以采用迭代主因子法,即利用(8.3.7)式中的 再作为个性方差的初始估计,重复上述步骤,直至解稳定为止。2i三、极大似然法设公因子 ,特殊因子 ,且相互独立,则原始向量),0(INfm),0(DNp。样本 的似然函数为pAx nx,2113 )()(212)(212)()(2121 )()(211111)()()()()(),( xnxtrnpxtrnpxnpni xpiiniiniii iiieexfL容易知道,似然函数是 的函数。由于 ,故似然函数可确切地表示为,DA。记 的极大似然估计为 ,即有),(DAL),( ),(,maxDAL可以证明, ,而 和 满足以下方程组(8.3.8))(
19、11AdiagDIm其中 ,由于 的解是不唯一的,为了得到唯一解,可附加计算niiixx1上方便的唯一性条件:是对角矩阵 (8.3.9)A(8.3.8)式中的 和 一般可用迭代方法解得。D共性方差的极大似然估计为:,mjiiah122p,第 个因子 对总样本方差的贡献为 ,其中 为第 个变量的方差。jjf piijsa12i极大似然法在正态性假定能较好地被满足或者在大样本的情况下,能给出比主因子法14更好的估计,并且有令人满意的渐进性质。极大似然法的计算量大约是主因子法的 100 倍,这是由于极大似然估计需要用迭代方法计算并且要试着提取不同个数的因子。实际应用中,在使用极大似然法之前,一般先使
20、用主因子法进行分析,以便给出因子个数的初步估计。8.4 因子旋转因子模型的参数估计完成之后,还必须对模型中的公因子进行合理的解释。进行这种解释通常需要一定的专业知识和经验,要对每个公因子给出具有实际意义的一种名称,它可用来反映在预测每个可观测的原始变量时这个公因子的重要性,也就是相应于这个因子的载荷。因子的解释带有一定的主观性,我们常常通过旋转公因子的方法来减少这种主观性。公因子是否易于解释,很大程度上取决于因子载荷矩阵 的元素结构。假设 是从相AA关矩阵 出发求得的,则 ,故有 ,即 的所有元素均在 和 1 之R121imjiha1ija间。如果载荷矩阵 的所有元素都接近于 0 或 ,则模型
21、的公因子就容易解释。这时可A将原始变量 分成 个部分,第一部分对应第一个公因子 ,第二部分对应第px,21 1f二个公因子 ,第 部分对应第 个公因子 。反之,如果载荷矩阵 的多数元素fmmf A居中,不大不小,则对模型的公因子将难以作出解释,此时必须进行因子旋转,使得旋转之后的载荷矩阵在每一列上元素的绝对值尽量拉开大小距离,也就是尽可能地使其中的一些元素接近于 0,另一些元素接近于 。1因子旋转方法有正交旋转和斜交旋转两类,本书中我们只讨论正交旋转。对公因子作正交旋转就是对载荷矩阵 作一正交变换,右乘正交矩阵 ,使 能有更鲜明实际意义。ATA旋转后的公因子向量为 ,它的各分量 也是互不相关的
22、公因子。正fT* *2*1,mff交矩阵 的不同选取法构成了正交旋转的各种不同方法,在这些方法中使用最普遍的是最T大方差旋转法(varimax) ,本节仅介绍这一种正交旋转法。令 , , ,则 的第 列元素平方的相对方)(*ijaAijijhd*pijjd12*Aj差可定义为 2*2*1121() (8.41)ppijijjipjijiVhd取 是为了消除 符号不同的影响,除以 是为了消除各个原始变量对公共因子依赖2*ija*ija2ih程度不同的影响。备注:的第 行平方和 等于 的第 行平方和 ,因为*Ai2*ihAi2i15ATA)(*两个矩阵相等,对应的对角线元素当然相等,即 。2*ii
23、h备注完毕。所谓最大方差旋转法就是选择正交矩阵 ,使得矩阵 所有 个列元素平方的相对T*Am方差之和(8.4.2)mVV21达到最大。当 时,设已求出的因子载荷矩阵为 2112paA现选取正交变换矩阵 进行因子旋转, 可以表示为TTcosiniT这里 是坐标平面上因子轴按逆时针方向旋转的角度,只要求出 ,也就求出了 。 T *21*12212122 121121* cossinsicoii sss ppppp aaaAT 再由(8.4.1)式和(8.4.2)式即可求得 各列元素平方的相对方差之和 。显然, 是*AV旋转角度 的函数,按照最大方差旋转法的原则,应求出 ,使 达到最大。由微积分中求
24、极值的方法,将 对 求导,并令其为零,可以推得 满足V(8.4.3)pBACDtg)(24其中, , ,piu1piv1piiivu12)(piivuD1而,221iii ha21iihav16当 时,我们可以逐次对每两个公因子进行上述的旋转。对公因子 和 进行旋2m lfk转,就是对 的第 和 两列进行正交变换,使这两列元素平方的相对方差之和达到最大,Alk而其余各列不变,其正交变换矩阵为 kl klTlk 1cossin1sincos1 其中 是因子轴 和 的旋转角度,矩阵中其余位置上的元素全为 0。 个公因子的两两lfk m配对旋转共需进行 次,称其为完成了第一轮旋转,并记第一轮旋转后的
25、因2)1(mC子载荷矩阵为 。然后再重新开始,进行第二轮的 次配对旋转,新的因子载荷矩阵)1(A2mC记为 。如此继续旋转下去,记第 轮旋转后的因子载荷矩阵为 ,得到的一系列因)2( s)(sA子载荷矩阵为, , ,)1()2()(s记 为 各列元素平方的相对方差之和,则必然有sVsA )()2()1( sV这是一个有界的单调上升数列,因此一定会收敛到某一极限。在实际应用中,当 的值)(sV变化不大时,即可停止旋转。8.5 因子得分一、因子得分的概念我们再回过来看一下因子模型 ,设 为一组样本。在前面Afxnx,21的讨论中,我们根据这一组样本估计出了公因子个数 、因子载荷矩阵 和个性方差矩阵
26、mA17,并试图对公因子 进行合理的解释,即给出具有实际意义的名称。如果对Dmff,21这些公因子难以作出解释,则可以通过因子旋转的方法使得旋转后的公因子有着更鲜明的实际意义。实际上,还有一个问题是令我们非常感兴趣的,就是给出每一个个体 对 个ixm公因子的得分。必须指出的是,因子得分的计算并不是通常意义下的参数估计,而是对不可观测的随机变量 作出估计。因子模型的式子意味着这些公因子一般不是可mff,21观测原始变量 的线性组合,而是非线性组合。这些公因子的得分是无法直接px,计算得到的,但它们可用各种不同的方法来进行估计。为了数学上处理的方便,人们一般还是将公因子得分的估计值表达为原始变量
27、的线性函数。以下我们介绍两种px,21常用的因子得分估计方法。二、巴特莱特(Bartlett)因子得分因子模型(8.2.1)式可以写为(8.5.1)pmppp mfaffaxfff 21 2222 11211其中 , 。我们可以采用与求解线性回归模型相同的方法来求得因2)(iiV,子得分 。由于 个个性方差不全相等,因此应采用加权的最小二乘法,也就mff,21是寻求 的一组取值 使得加权的“残差”平方和, mff,21(8.5.2) pi iiiii afax1221)()(达到最小,这样求得的解 就称为巴特莱特因子得分。mff,21(8.5.1)式用矩阵来表示就是(8.5.3)Afx(8.5
28、.2)式可用矩阵表示为(8.5.4))()(1fAxDf其中 mff2118用微积分学求极值的方法可以解得巴特莱特因子得分为(8.5.5))()(11xDAf在实际应用中,用估计值 、 和 分别代替上述公式中的 、 和 ,并将每个样品 AD的数据 代入,便可得到相应的因子得分 。ixf若将 和 不相关的假定加强为相互独立,则在 值已知的条件下,由(8.5.5)式和f f(8.5.3)式可得因子得分 的条件数学期望f(8.5.6)fAfDAfExf 1111)( |)(| 因此,从条件意义上来说巴特莱特因子得分 是无偏的。我们再来计算反映 估计精度的f f平均预报误差 ,由(8.5.5)式和(8
29、.5.3)式得)(ffE11)(DAff故(8.5.7)11111()()()()EffEAAD三、汤姆森(Thompson )因子得分在因子模型(8.2.2)式中,假设 服从 元正态分布,由条件(8.2.3)式得xf)(pm(8.5.8)0)(xEff19 AIfEAfIf fEfffIfAEAfffEIxVfxfEffxxffffExxffV)()( )()(),cov(,)()()(),0)()(,由(3.2.6)式知,在 给定的条件下, 的条件数学期望xf)()|(1fE再由(8.2.4)知, ,因此(8.5.10)式也可表示为DA(8.5.11))()()|(1xxf或者(8.5.1
30、2))()(11If易知, (8.5.11)式和(8.5.12)式相等。证明如下。 111)()( DAIDA证明:20欲证明(8.5.11)式和(8.5.12)式相等,只需证明,111)()( DAIDA即 )()(1DAI即 )( 111I即 ADA即 II 11)(即 I即 A证明完毕。称 为汤姆森因子得分。在实际应用中,用估计值 、 和 分别代替上述公式中的 、f xAD和 ,并将每个样品的数据 代入,便可得到相应的因子得分 。Dixf由(8.5.12)式和(8.5.3)式得 fADIf fADIffI fAAEDf1 11111)( )()()( |)()| 所以,汤姆森因子得分是有偏的。因为 fADIADI ffxf 11111 )()( ) 所以 的平均预报误差f21(8.5.14)1111111111()()()()()(EffIADIADfIEIfIADAD 111)()()II备注: )()(备注完毕。比较(8.5.14)式与(8.5.7)两式,由于 是正定矩阵,因此11)()( ADIA汤姆森因子得分比巴特莱特因子得分有更小的平均预报误差。