主成分与因子分析是医用多元统计分析教学中的一个难点,笔者结合几年来教学中的一些体会,谈谈自己肤浅的见解,向学界前辈、同仁讨教。
主成分与因子分析的难点是概念抽象,计算复杂,很多名词也是第一次接触,如特征根、特征向量、因子负荷、旋转等。相应的教学对策就是要将抽象概念具体化,复杂计算简单化。
1 概念
主成分与因子分析中的概念比较抽象,难以理解。因此,教学中第一个碰到的问题是,什么是主成分?什么是因子?
主成分是对变量共性的提取。这句话可以通过下面的一个例子来说明。
设x[,1],x[,2]的相关系数为r(不妨假设r≥0),可以理解为x[,1],x[,2]的信息量均为1,总信息量为2,r是其共性部分。 两个主成分对应的特征根分别为:λ[,1]=1+r和λ[,2]=1-r,即第一主成分包含的信息量为1+r,第二主成分包含的信息量为1-r,总信息量仍为2。可见主成分是对信息量的再分配,且第一主成分包括的信息随两变量相关程度(共性)的增大而增大,当两变量完全相关时,λ[,1]=2,λ[,2]=1,即第一主成分包括的了x[,1],x[,2]的全部信息;而当两变量无相关时,λ[,1]=λ[,2]=1,第一、二主成分包括x[,1],x[,2]的信息各占一半。因此,当变量间的相关关系不明显时,作主成分分析意义不大。
因子分析基于这样的基本思想:根据相关性的大小把变量分组,使得同组内的变量之间相关性(共性)较高,而不同组的变量相关性较低。这样,从实际意义上说,每组代表一个方面(因子);从统计学上来讲,每组代表了原协方差结构的一个基本结构。这句话可以通过下面的例子解释。
考察5个生理指标:收缩压(x[,1]),舒张压(x[,2]),心跳间隔(x[,3]),呼吸间隔(x[,4]),舌下温度(x[,5])。从生理学的知识来看,这五个指标都是受植物神经支配的,植物神经又分为交感神经和副交感神经,因此,这5个指标有两个公共因子, 故可以用因子分析的模型去处理它:若用f[,1]和f[,2]分别表示交感神经和副交感神经,那么,可以想象,x[,1],x[,2],x[,3],x[,4],x[,5]可用f[,1]和f[,2]的线性函数来表示,再加上其他对这些x[,i]有影响的因子,用函数形式可表示为:
x[,i]=l[,i1]f[,1]+l[,i2]f[,2]+u[,i] i=1,2,3,4,5 (1)
因子分析的首要任务就是要估计因子负荷{1[,i[,j]]}和特殊方差{u[,i] },并对每个因子给出合理的解释,若难以找到合理的解释,需作一些变换。成功的因子分析就是要用尽量少的因子解释观察到的相关性,且每个因子都有一个合理的解释。
2 主成分与因子的关系
主成分是原变量的线性函数,是对原变量信息的综合,每个主成分就是一个综合指标,该综合指标可以具体估计出来,并可参与进一步的分析。
因子分析是寻找一些意义明确的综合指标(公因子),并以它们为框架,将原变量分解为共性部分和个性部分,从而洞察原变量间的联系与区别。而共性部分就是这些公因子的线性函数。综合指标的提取方法很多,主成分是其中的一种。因此,在讲解主成分与因子分析的关系时,可以解释为:主成分分析是因子分析中的一步,因子分析是主成分的一个应用和发展。
3 主成分的贡献
主成分的贡献是用主成分反应原变量方差的多少来衡量的。第i 个主成分对所有原变量的贡献为λ[,i],而对第j个原变量X[,j]的贡献是λ[,i]与负荷系数a[2][,ij]的乘积。从而知道为什么称a[2][,ij]为负荷系数。讲解时可以结合图1来说明,对公因子的解释亦可仿此。
附图
图1 主成分对原变量的贡献图
4 因子旋转
当初始负荷不易解释时,应用中常常对负荷作正交变换,即旋转,以便能得到一个更简单的结构,便于因子的解释。最理想的是这样的负荷结构,每个变量只在一个因子上有较大的负荷,而在其余因子上的负荷比较小,至多是中等大小。
旋转是几何学上的名词,实际上,因子分析中的“旋转”是对变量信息的再一次分配。讲解时可作如下比喻:旋转的在原理很象调节显微镜的焦点,以便看清观察物的细微之处,它们的共同之处是不增加也不减少事物的信息量,只是通过适当的调整使事物的本来面目更清晰。
5 因子分析策略
因子分析总会遇到三个问题:其一,用什么方法提取因子;其二,每个因子的实际背景是什么:其三,需保留多少个因子。因子分析没有定式,并常伴有主观性,因此有人说因子分析仍然保留着一种艺术的气息,犹如艺术家雕刻一块石头,并没有千篇一律的做法。但实际应用时还是有一些经验可以借鉴。
(1)先采用主成分因子提取法,当因子的意义不是十分明确时,采用方差极大正交旋转,同时用因子得分探查离群值。
(2)再用极大似然法重复上述步骤。
(3)比较上述两法所得到的因子分析解,主要分析:(a)因子负荷能否按同种方式分组;(b )两种方法所得的因子得分各为一个坐标轴作散点图,如果在一特定因子上两法所得因子负荷的一致的,则因子得分应密集在过原点的45°线附近,否则因子得分将偏离45°线,如果这种情况发生,常说明因子数选多了。
(4)另选一个因子个数m,重复上述(1)~(3),考察添加因子对解释的影响。
(5)若数据较多,可再从中随机抽取一部分(通常是1/3 以上)作因子分析,比较这一部分以及全部数据得到的因子分析解,以考察解的稳定性。这一作法与其他多因素分析法相同。
因子分析中最大的困难莫过于对因子的解释,如果公因子得不到切合实际的解释,也就失去了因子分析的意义。
6 应用
主成分分析本身往往并不是目的,而是达到目的的一种手段。因此,它多用在大型研究项目的某个中间环节中。例如,把它用在多元回归中,便产生了主成分回归,这种回归具有一些优良性质,可以克服原变量的多重共线性。另外,它还可以用于综合评价,聚类分析,判别分析等。如果能结合几个实例,则学生对主成分的理解将会更深刻。
7 举例
一个恰当的例子,可以使主成分和因子分析的教学变得简明易懂,再配合几个好的习题,通过上机练习,学生自己解释,可使其具有趣味性。下面的一个例子是值得推荐的。
实例Linden对二次大战以来的奥林匹克十项全能得分作了因子分析,共有160组数据,对每项运动得分施以标准化变换, 每项运动标准化后的得分服从或近似服从正态分布。从n=160组数据算出的样本相关矩阵如下,试对样本相关系数矩阵做因子分析。
百米 ┌1 ┐跳远 │0.59 1 │铅球 │0.35 0.42 1 │跳高 │0.34 0.51 0.38 1 │400米 │0.63 0.49 0.19 0.29 1 │百米跨栏│0.40 0.52 0.36 0.46 0.34 1 │铁饼 │0.28 0.31 0.73 0.27 0.17 0.32 1 │撑竿跳高│0.20 0.36 0.24 0.39 0.23 0.33 0.24 1 │标松 │0.11 0.21 0.44 0.17 0.13 0.18 0.34 0.24 1 │1500米 └-0.07 0.09 -0.08 0.18 0.39 0.00 -0.02 0.17 0.00 1┘
用主成分法提取因子,因子负荷系数见表1。 从主成分法的观点看,应取m=3或4。从后面的因子负荷的讨论可知,取m=4较合适。 应用主成分法算出的因子分析的关量都列在表1中。
表1 奥林匹克资料的因子分析(主成分法)
因子负荷 最大方差旋转因子负荷变量 共同度 F1 F2 F3 F4百米 0.6905 0.2170 -0.5203 0.2060 0.8370跳远 0.7885 0.1836 -0.1926 -0.0925 0.7012铅球 0.7019 -0.5346 0.0470 0.1753 0.8114跳高 0.6737 0.1340 0.1388 -0.3959 0.6478400米 0.6197 0.5511 -0.0838 0.4187 0.8701百米跨栏 0.6869 0.0421 -0.1610 -0.3446 0.6183铁饼 0.6212 -0.5211 0.1095 02344 0.7244撑竿跳高 0.5385 0.0870 0.4109 -0.4396 0.6596标枪 0.4341 -0.4390 0.3719 0.2345 0.57451500米 0.1466 0.5961 0.6581 0.2787 08876方差 3.7866 1.5173 1.114 0.9134 7.3317累计贡献 0.3787 0.5304 0.6418 0.7332变量 共同度 F1[*] F2[*] F3[*] F4[*]百米 0.8832 0.1358 0.1580 -0.1162 0.8370跳远 0.6034 0.1938 0.5159 -0.0074 0.7012铅球 0.2443 0.8245 0.2231 -0.1487 0.8114跳高 0.2383 0.1505 0.7500 0.0763 0.6478400米 0.7984 00740 0.1027 0.4654 0.8701百米跨栏 0.4021 0.1530 0.6356 -0.711 0.6183铁饼 0.1859 0.8135 0.1472 -0.0796 0.7244撑竿跳高-0.0368 0.1760 0.7615 0.2176 0.6596标枪 -0.0469 0.7350 0.1095 0.1415 0.57451500米 0.0477 -0.0408 0.1110 0.8335 08876方差 2.1334 2.0220 1.9438 1.2325 7.3317累计贡献 0.2133 0.4155 0.6099 0.7332
在主成分解中,除了1500米长跑以外,所有项目在F[,1]上都有较大的正载荷,这个因子可称为一般运动能力,但是其余因子不能很容易地给出解释,因子F[,2]似乎是跑和投掷能力(臂力)的对比(contrast):而因子F[,3]似乎是长跑耐力(1500米)和短跑速度(100米)的一个对比;因子F[,4]意义不明。
4个因子的主成分解释了大部分总样本方差(73%), 虽然有一些特殊方差的估计比较大(如标枪、110米跨栏等)。 这说明这些项目与其他项目比起来,需要运动员具备一些特殊素质。
采用最大方差旋转,结果见表1。 旋转后各因子的意义就非常明确了:第一因子在100米、400米及跳远上有较大负荷,在100 米跨栏上有中等负荷,可称该因子为短跑速度因子;第二因子在铅球、铁饼、标枪上有较大的负荷,可称其为爆发性臂力因子;第三因子在跳高、撑杆跳高、100米跨栏上有较大负荷,在跳远上有中等负荷, 可称该因子为爆发性腿力因子;第四因子只在1500米长跑上有较大负荷,在400 米上有中等负荷,可称其为耐力因子。各因子的意义比较明确,且每个变量都只在一个因子上有较大的负荷,无明显的重复现象。
用极大似然法所得因子的意义与主成分因子相同,不赘。
肤浅见解,望能抛砖引玉
中国卫生统计F104统计学陈峰20002000南通医学院 226001 作者:中国卫生统计F104统计学陈峰20002000
网载 2013-09-10 20:49:42