您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > SAS学习系列34.-因子分析
34.因子分析(一)基本原理一、概述因子分析,是用少数起根本作用、相互独立、易于解释通常又是不可观察的因子来概括和描述数据,表达一组相互关联的变量。通常情况下,这些相关因素并不能直观观测。因子分析是从研究相关系数矩阵内部的依赖关系出发,把一些具有错综复杂关系的变量归结为少数几个综合因子的一种多变量统计分析方法。简言之,即用少数不可观测的隐变量来解释原始变量之间的相关性或协方差关系。因子分析的作用是减少变量个数,根据原始变量的信息进行重组,能反映原有变量大部分的信息;原始部分变量之间多存在较显著的相关关系,重组变量(因子变量)之间相互独立;因子变量具有命名解释性,即该变量是对某些原始变量信息的综合和反映。主成分分析是因子分析的特例。主成份分析的目标是降维,而因子分析的目标是找出公共因素及特有因素,即公共因子与特殊因子。因子分析模型在形式上与线性回归模型相似,但两者有着本质的区别:回归模型中的自变量是可观测到的,而因子模型中的各公因子是不可观测的隐变量,而且两个模型的参数意义也不相同。二、原理假设样品检测p个指标(变量)X1,…,Xp,得到观测矩阵X,这p个指标变量可能受m(mp)个共同因素f1,…fm的影响,再加上其它影响因素。表示为:用矩阵表示为111ppmmpXAfe其中,共同影响因素f1,…fm是均值为0方差为1的随机变量,称为公共因子;Ap×m称为因子载荷矩阵,aji是第j变量在第i公共因子上的负荷,即Xj在坐标轴fi上的投影;ei是变量Xi所特有的因子,均值为0方差为σi2,称为特殊因子。各特殊因子之间及特殊因子与公共因子之间都是相互独立的,即COV(ei,ej)=0,COV(e,f)=0.因子分析就是用f1,…fm代替X1,…,Xp,达到降维的目的。主成份分析中,残差通常是彼此相关的。因子分析中,特殊因子起到残差的作用,但被定义为彼此不相关且和公因子也不相关。而且每个公因子假定至少对两个变量有贡献,否则它将是一个特殊因子。在开始提取公共因子时,已假定它们彼此不相关且具有单位方差。故向量X的协方差矩阵Σ可以表为Σ=D(X)=D(Af+e)=AAT+D其中,D=diag(σ12,…,σp2).若假定X已标准化,即每个Xi都均值为0方差为1.则11222211var()iiiimmpiijiiXafafafXa记221miijjha称为变量共同度,则有221,1,...,iihip.hi2反映了公共因子f对Xi的影响(贡献),即Xi对共同因素f的依赖程度;σi2为剩余方差,若hi2接近1,σi2很小,则表明因子分析的效果好。公共因子fj对Xi的影响,可由A中第j列元素来描述,221piijiga称为公共因子fj对X的贡献,是衡量公共因子重要性的尺度。aij为第i个变量与第j个公共因子的相关系数,反映了它们的相关程度:三、求因子载荷矩阵若X的协方差矩阵∑和D已知,则根据∑-D=AAT求出A1122(,,)mmA其中,λ1≥λ2≥…λmλm+1=…=λp=0为∑*=∑-D的特征值,ξi为相应的特征向量。但在实际问题中,并不知道∑和D,就需要从n个样品,p个指标的np个样本数据,估计因子载荷aij和特殊因子方差σi2.常用的参数估计法有:主成分法、主因子解法、极大似然法。(1)主成分法记样本数据的协方差矩阵为ˆ,其特征值λ1≥λ2≥…≥λp≥0,相应的特征向量为ξi.当最后p-m个特征值较小时,对ˆ做谱分解:111222ˆ=TTTmmmD先取111a,看11ˆTaa是否接近对角矩阵,若是,说明只取一个公共因子就行了,所有指标主要受到这一个公共因子的影响;若否,再取222a,看1122ˆTTaaaa是否接近对角矩阵……象主成分分析一样,直接取前q个特征值和特征向量,使得它们的特征值之和占全部特征值之和的85%以上即可。此时,特殊因子方差为221ˆ,1,...,qiiikikaip(2)主因子解法主因子解法是对主成分法的修正,记样品数据的相关矩阵为R,设R=AAT+D,则R*=R–D=AAT称为约相关矩阵。若已知特殊因子方差的初始估计*2ˆ()i,则*2*2ˆ()1()iih,故计算R*的特征值λ1*≥λ2*≥…≥λp*0,相应的特征向量为ui*,则有近似分解式:R*=AAT,其中令则A和D为因子模型的一个解,称为主因子解。在实际中特殊因子方差是未知的,以上得到的解是近似解。为了得到近似程度更好的解,常常采用迭代主因子法。即利用上面得到的作为特殊因子方差的初始估计,重复上述步骤,直到解稳定为止。变量共同度hi2常用的初始估计有以下三种方法:①取第i个变量与其他所有变量的多重相关系数的平方;②取第i个变量与其他变量相关系数绝对值的最大值;③取1(等价于主成分解)。(3)极大似然法假定公共因子f和特殊因子e服从正态分布,则可得到因子载荷阵和特殊因子方差的极大似然估计。设p维观测向量X(1),...,X(n)为来自正态总体Np(μ,∑)的随机样品,则样品似然函数为μ,∑的函数L(μ,∑).设∑=AAT+D,取X,则似然函数为A,D的函数:φ(A,D),求A,D使φ(A,D)达到最大。为保证得到唯一解,可附加计算上方便的唯一性条件:ATD-1A=对角阵,用迭代方法可求得极大似然估计A和D。四、公共因子的解释得到估计的因子模型后,还必须对得到的公因子进行解释。即对每个公共因子给出一种意义明确的名称,用来反映在预测每个可观察变量中这个公因子的重要性。该公因子的重要程度就是在因子模型矩阵中相应于这个因子的系数,显然这个因子的系数绝对值越大越重要,而接近0则表示对可观察变量没有什么影响。因子解释是一种主观的方法,有时侯通过旋转公因子可以减少这种主观性,也就是要使用非奇异的线性变换。1.因子旋转将因子载荷矩阵A右乘一个正交矩阵T后得到一个新的矩阵A*。它并不影响变量Xi的共同度hi2,却会改变因子的方差贡献gj2。因子旋转通过改变坐标轴,能够重新分配各个因子解释原始变量方差的比例,使因子更易于理解。设p维可观测向量X满足因子模型:X=AF+e。T为正交矩阵,则因子模型可写为X=ATTTF+e=A*F*+e其中A*=AT,F*=TTF.易知,∑=AAT+D=A*A*T+D其中A*=AT.这说明,若A,D是一个因子解,任给正交阵T,A*=AT,D也是因子解。在这个意义下,因子解是不惟一的。由于因子载荷阵不惟一,故可对因子载荷阵进行旋转。目的是使因子载荷阵的结构简化,使载荷矩阵每列或行的元素平方值向0和1两极分化,这样的因子便于解释和命名。有三种主要的正交旋转法:四次方最大法、方差最大法和等量最大法。这些旋转方法的目标是一致的,只是策略不同。如果两种旋转模型导出不同的解释,这两种解释不能认为是矛盾的。倒不如说是看待相同事物的两种不同方法,是在公因子空间中的两个不同点。在统计意义上所有旋转都是一样的,即不能说一些旋转比另一些旋转好。因此,在不同的旋转方法之间进行的选择必须根据非统计观点,通常选择最容易解释的旋转模型。2.因子得分计算因子得分,是用原有变量来描述因子,第j个因子在第i个样品上的值可表示为:Fji=j1xi1+j2xi2+…+jpxipj=1,…,k其中,xi1,…,xip分别是第1,…,p个原有变量在第i个样品上的取值,j1,…,jp分别是第j个因子和第1,…,k个原有变量间的因子值系数。可见,它是原有变量线性组合的结果(与因子分析的数学模型正好相反),因子得分可看作各变量值的加权(j1,…,jp)总和,权数的大小表示了变量对因子的重要程度。于是有Fj=j1X1+j2X2+…+jpXpj=1,…,k称为因子得分函数。由于因子个数k小于原有变量个数p,故式中方程的个数少于变量的个数。因此,对因子值系数通常采用最小二乘意义下的回归法进行估计。可将上式看作是因子变量Fj对p个原有变量的线性回归方程(其中常数项为0)。可以证明,式中回归系数的最小二乘估计满足:Bj=AjTR-1,其中Bj=(j1,j2,…,jp),AjT=(a1j,a2j,…,apj)为第1,…,p个变量在第j个因子上的因子载荷,R-1为原有变量的相关系数矩阵的逆矩阵。由上式计算出因子变量Fj的因子值系数,再利用因子得分函数可算出第j个因子在各个样品上的因子得分。(二)SAS实现一、PROCFACTOR过程步基本语法:PROCFACTORDATA=数据集可选项;PRIORS计算公因子方差的方法;VAR变量列表;PARTIAL变量列表;FREQ变量;WEIGHT变量;BY变量;说明:1.可选项:out=数据集——存储原始数据和因子得分估计;outstat=数据集——用于存储因子分析的结果,可以用来做进一步因子分析;method=因子选择方法常用的包括:principal(主成分法),ml(极大似然法),prinit(迭代主因子法),usl(未加权最小二乘因子法),alpha(因子法或称harris法)Heywood公因子方差大于1时令其为1,并允许迭代继续执行下去。因为公因子方差是相关系数的平方(介于0和1之间),若最终的公因子方差=1,称为Heywood状况;若大于1,称为超-Heywood状况,因子解无效。priors=计算公因子方差的方法即给各变量的公因子方差赋初值,包括one(=1.0),max(最大绝对相关系数),smc(多元相关系数的平方),asmc(与多元相关系数的平方成比例,但要适当调整使它们的和等于最大绝对相关)。nfactors=n——指定保留的因子个数;mineigen=p——指定保留因子的最小特征值;proportion=p使用先验公因子方差估计,对被保留的因子规定所占公共方差比例为这个p值。converge=p当公因子方差的最大改变小于p时停止迭代,默认为0.001;maxiter=n——规定迭代的最大步数,默认为30;rotate=因子旋转方法常用的有varimax(正交的最大方差转轴法)、orthomax(由gamma=指定权数的正交方差最大转轴法)和promax(在正交最大方差转轴的基础上进行斜交旋转)。norm=kaiser|raw|weight|cov|none为了对因子模型进行旋转,规定模型矩阵中行的正规化方法。2.输出选项simple——输出简单统计数。corr——输出相关阵和偏相关阵。score——输出因子得分模型中的系数。scree——输出特征值的屏幕图。ev——输出特征向量。residuals——输出残差相关阵和有关的偏相关阵。msa——输出被所有其余变量控制的每对变量间的偏相关,并抽样适当的Kaiser度量。reorder——在输出时让各种因子矩阵的这些行重新排序。按因子顺序,绝对载荷大的变量先被输出。3.PLOTS=绘图选项ALL——绘制所有图形;INITLOADINGS/LOADINGS/PRELOADINGS——未旋转的/旋转的/预先旋转的因子载荷,子选项有CIRCLE=,FLIP,NPLOTS=,PLOTREF,VECTOR;SCREE——陡坡图和变量解释,子选项有UNPACK;4.priors语句为var变量设定公因子方差,值在0.0和1.0之间。其值的设定应与var语句的变量相对应。二、PROCSCORE过程步无论是初始因子模型还是旋转后的因子模型,都是将指标表示为公因子的线性组合。在因子分析中,还可以将公因子表示为指标的线性组合,这样就可以从指标的观测值估计各个公因子的值(因子得分)。它对样品的分类有实际意义。因子得分可由procscore过程完成,可以输出特征值情况、因子载荷、公因子解释比例等。基本语法:PROCSCOREDATA=原始数据集;VAR用来计算得分的原始变量列表;或者在FACTOR过程步中加上可选项SCORE。注:factor和score两个过程写同一程序可以提高效率。例1对全国
本文标题:SAS学习系列34.-因子分析
链接地址:https://www.777doc.com/doc-3887805 .html