SAS学习系列34因子分析_第1页
SAS学习系列34因子分析_第2页
SAS学习系列34因子分析_第3页
SAS学习系列34因子分析_第4页
SAS学习系列34因子分析_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAS学习系列34.-因子分析34.因子分析(一)基本原理一、概述因子分析,是用少数起根本作用、相互独立、易于解释通常又是不可观察因子来概括和描述数据,表示一组相互关联变量。通常情况下,这些相关原因并不能直观观察。因子分析是从研究相关系数矩阵内部依赖关系出发,把一些具备错综复杂关系变量归结为少数几个综合因子一个多变量统计分析方法。简言之,即用少数不可观察隐变量来解释原始变量之间相关性或协方差关系。因子分析作用是降低变量个数,依照原始变量信息进行重组,能反应原有变量大部分信息;原始部分变量之间多存在较显著相关关系,重组变量(因子变量)之间相互独立;因子变量具备命名解释性,即该变量是对一些原始变量信息综合和反应。主成份分析是因子分析特例。主成份分析目标是降维,而因子分析目标是找出公共原因及特有原因,即公共因子与特殊因子。因子分析模型在形式上与线性回归模型相同,但二者有着本质区分:回归模型中自变量是可观察到,而因子模型中各公因子是不可观察隐变量,而且两个模型参数意义也不相同。二、原理假设样品检测p个指标(变量)X1,…,Xp,得到观察矩阵X,这p个指标变量可能受m(m<p)个共同原因f1,…fm影响,再加上其它影响原因。表示为:用矩阵表示为其中,共同影响原因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.则记称为变量共同度,则有.hi2反应了公共因子f对Xi影响(贡献),即Xi对共同原因f依赖程度;σi2为剩下方差,若hi2靠近1,σi2很小,则表明因子分析效果好。公共因子fj对Xi影响,可由A中第j列元素来描述,称为公共因子fj对X贡献,是衡量公共因子主要性尺度。aij为第i个变量与第j个公共因子相关系数,反应了它们相关程度:三、求因子载荷矩阵若X协方差矩阵∑和D已知,则依照∑-D=AAT求出A其中,λ1≥λ2≥…λm>λm+1=…=λp=0为∑*=∑-D特征值,ξi为对应特征向量。但在实际问题中,并不知道∑和D,就需要从n个样品,p个指标np个样本数据,估量因子载荷aij和特殊因子方差σi2.惯用参数估量法有:主成份法、主因子解法、极大似然法。(1)主成份法记样本数据协方差矩阵为,其特征值λ1≥λ2≥…≥λp≥0,对应特征向量为ξi.当最终p-m个特征值较小时,对做谱分解:先取,看是否靠近对角矩阵,若是,说明只取一个公共因子就行了,全部指标主要受到这一个公共因子影响;若否,再取,看是否靠近对角矩阵……象主成份分析一样,直接取前q个特征值和特征向量,使得它们特征值之和占全部特征值之和85%以上即可。此时,特殊因子方差为(2)主因子解法主因子解法是对主成份法修正,记样品数据相关矩阵为R,设R=AAT+D,则R*=R–D=AAT称为约相关矩阵。若已知特殊因子方差初始估量,则,故计算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,取,则似然函数为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对全国30个省市自治区经济发展基本情况八项指标作因子分析。省份GDPx1居民消费水平x2固定资产投资x3职员平均工资x4货物周转量x5居民消费价格指数x6商品零售价格指数x7工业总产值x8北京1394.892505519.018144373.9117.3112.6843.43天津920.112720345.466501342.8115.2110.6582.51河北2849.521258704.8748392033.3115.2115.81234.85山西1092.481250290.94721717.3116.9115.6697.25内蒙古832.881387250.234134781.7117.5116.8419.39辽宁2793.372397387.9949111371.1116.11141840.55吉林1129.21872320.454430497.4115.2114.2762.47黑龙江.532334435.734145824.8116.1114.31240.37上海2462.575343996.489279207.4118.71131642.95江苏5155.2519261434.9559431025.5115.8114.32026.64浙江3524.7922491006.396619754.4116.6113.5916.59安徽.5812544744609908.3114.8112.7824.14福建2160.522320553.975857609.3115.2114.4433.67江西1205.111182282.844211411.7116.9115.9571.84山东5002.3415271229.5551451196.6117.6114.22207.69河南3002.741034670.3543441574.4116.5114.91367.92湖北2391.421527571.684685849120116.61220.72湖南2195.71408422.6147971011.8119115.5843.83广东5381.7226991639.838250656.5114111.61396.35广西1606.151314382.595105556118.4116.4554.97海南364.171814198.355340232.1113.5111.364.33四川35341261822.544645902.3118.51171431.81贵州630.07942150.844475301.1121.4117.2324.72云南1206.6812613345149310.4121.3118.1716.65西藏55.98111017.8773824.2117.3114.95.57陕西1000.031208300.274396500.9119117600.98甘肃553.351007114.815493507119.8116.5468.79青海165.31144547.76575361.6118116.3105.8宁夏169.75135561.985079121.8117.1115.3114.4新疆834.571469376.955348339119.7116.7428.76代码:dataEconomics;infile'C:\MyRawData\Economics.txt';inputProvince$x1x2x3x4x5x6x7x8;run;procfactordata=Economicsn=3SIMPLECORRplots=(scree);varx1-x8;run;运行结果及说明:30个观察均值和标准差变量均值标准差x11921.09271474.8060x21745.9333861.6419x3511.5083402.8855x45457.63331310.2181x5666.1200459.9353x6117.28672.0253x7114.90671.8981x8862.9980584.5873相关性

x1x2x3x4x5x6x7x8x11.000000.266760.950580.190580.61724-0.27256-0.263630.87374x20.266761.000000.426140.71813-0.15101-0.23514-0.592730.36310x30.950580.426141.000000.399630.43062-0.28049-0.359050.79186x40.190580.718130.399631.00000-0.35559-0.13496-0.539160.10438x50.61724-0.151010.43062-0.355591.00000-0.253180.021720.65858x6-0.27256-0.23514-0.28049-0.13496-0.253181.000000.76284-0.12522x7-0.26363-0.59273-0.35905-0.539160.021720.762841.00000-0.19207x80.873740.363100.791860.104380.65858-0.12522-0.192071.00000相关系数矩阵先验公因子方差估量:ONE相关矩阵特征值:总计=8平均值=1

特征值差值百分比累积13.755128081.558392080.46940.469422.196736000.981844220.27460.744031.214891770.812491980.15190.895840.402399790.189597380.05030.946150.212802410.074843520.02660.972760.137958900.072501090.01720.990070.065457810.050832570.00820.998280.01462524

0.00181.0000相关矩阵特征值和累积贡献,前三个主成份累积贡献为89.58%,故考虑选取三个公共因子。3个因子将被NFACTOR准则保留。绘图选项scree绘制陡坡图因子模式

Factor1Factor2Factor3x10.884900.383620.12088x20.60671-0.598190.27132x30.911690.161120.21198x40.46622-0.722410.36793x50.485830.73829-0.27524x6-0.508560.251910.79664x7-0.619590.594380.43756x80.822730.426720.21098因子模型(因子载荷矩阵),即公因子用原始变量表示回归系数。由因子载荷系数看出,三个因子含义不易解释,故需要考虑作因子旋转。每个因子说明方差Factor1Factor2Factor33.75512812.19673601.2148918最终公因子方差估量:总计=7.166756x1x2x3x4x5x6x7x80.944829540.799549480.902081120.874608600.856858090.956721360.928626830.90348083公因子对原始变量解释能力(方差贡献)量度分别为3.7551281 2.1967360 1.2148918,三个公因子对变量解释能力总和为7.166756.各个变量共同度hi2都较大(靠近1),能够认为三个公因子能够很好地解释原始变量中信息。例2为了愈加好地解释公共因子,继续做因子旋转——方差最大正交旋转。在PROCFACTOR语句中再加上一个ROTATE=PROMAX旋转选项,这么将在得到主成份解后再进行方差最大正交旋转(VARIMAX),并加了REORDER选项使输出时把原始变量受相同因子影响放一起。代码:procfactordata=Economicsn=3ROTATE=VARIMAXREORDERplots=(initloadingspreloadingsloadings);varx1-x8;run;运行结果及说明:初始因子方法:主成份未旋转因子,变量有3个聚点。旋转因子目标是让一些变量取值是0.FACTOR过程旋转方法:Varimax旋转后因子,x2,x4,x6,x7取值靠近于0,只剩x1,x3,x5,x8.旋转方法:Varimax正交变换矩阵

12310.817310.40776-0.4071020.54776-0.769070.3293830.178780.492200.85193旋转因子模式

Factor1Factor2Factor3x10.954980.12530-0.13091x80.943880.11114-0.01464x30.871290.35218-0.13749x50.75227-0.50517-0.18909x40.051120.92679-0.11429x20.216720.84099-0.21288x6-0.13525-0.009000.96868x7-0.10259-0.494400.82078旋转后载荷矩阵,表明第一公共因子在GDP(x1)、工业总产值(x8)、固定资产投资(x3)、货物周转量(x5)这些指标上载荷愈加显著,可见该因子反应了经济发展规模;第二个因子在职员平均工资(x4)、居民消费水平(x2)指标上载荷愈加显著,可见该因子反应了消费水平;第三个因子在居民消费价格指数(x6)、商品零售价格指数(x7)指标上载荷愈加显著,可见该因子反应了消费价格。例3深入能够计算因子得分。在FACTOR过程中使用SCORE选项和OUTSTAT=选项输出得分系数数据集。比如,为了计算方差最大正交旋转因子得分,并做因子得分散点图。代码:procfactordata=Economicsn=3ROTATE=VARIMAXREORDERSCOREOUT=Outplots=(screeinitloadingspreloadingsloadings);run;procprintdata=Out;varProvincefactor1factor2factor3;run;procplotdata=Out;plotfactor2*factor1$Province='*'/href=0vref=0;run;运行结果及说明:回归估量评分系数包含每个因子变量多重相关系数平方Factor1Factor2Factor31.00000001.00000001.0000000标准化评分系数

Factor1Factor2Factor3x10.306050.010760.04635x20.022820.385230.03479x30.269800.128470.07397x4-0.024510.452600.09915x50.24933-0.31723-0.13498x60.069360.179330.65154x70.07774-0.098100.46312x80.316520.025420.12274用回归法得到因子得分系数,由此能够写出三个因子得分函数:Factor1=0.30605*x1+0.02282*x2+0.26980*x3-0.02451*x4+0.24933*x5+0.06936*x6+0.07774*x7+0.31652*x8Factor2=0.01076*x1+0.38523*x2+0.12847*x3+0.45260*x4-0.31723*x5+0.17933*x6-0.09810*x7+0.02542*x8Factor3=0.04

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论