SAS多变量分析-因子分析

from http://blog.163.com/zzz216@yeah/blog/static/16255468420121105745404/

FACTOR过程使用

SAS/STAT的FACTOR过程可以进行因子分析、分量分析和因子旋转。对因子模型可以使用正交旋转和斜交旋转,可以用回归法计算得分系数,同时把因子

得分的估计存贮在输出数据集中;用FACTOR过程计算的所有主要统计量也能存贮在输出数据集中。

FACTOR过程用法很简单,主要使用如下语句:

PROC FACTOR DATA=数据集  选项;

        VAR 原始变量;

RUN;

    

输出结果包括特征值情况、因子载荷、公因子解释比例,等等。为了计算因子得分,一般在PROC FACTOR语句中加一个SCORE选项和”OUTSTAT=输出数据集”选项,然后用如下的得分过程计算公因子得分:

PROC SCORE DATA=原始数据集

             SCORE=FACTOR过程的输出数据集

             OUT=得分输出数据集;

             VAR用来计算得分的原始变量集合;

RUN;

例:数据集SOCECON为洛杉基12个地区统计的五个社会经济指标:人口总数(POP),教育程度(SCHOOL),就业数(EMPLOY),服务业人数(SERVICES),中等的

房价(HOUSE)。用FACTOR过程可以进行主分量分析。下例中的SIMPLE选项要求计算变量的简单统计量,CORR要求输出相关阵。

proc factor data=socecon simple corr;

run;

结果给出了五个变量的简单统计量,相关阵,和相关阵的特征值、累计贡献。因子模式阵(factor pattern,或称因子载荷阵)为最重要的结果之一:

它们是用公因子预报原始变量的回归系数。第一主分量(因子)在所有五个变量上都有正的载荷,可见这个因子反应了城市规模的影响。第二主分量在人口、就业上有大的正载荷,在教育程度和住房价格上有大的负载荷,则第二个因子较大的城市人口多但是教育程度和住房价格低。结果还给出了公因子解释能力的估计:

我们来进行主因子分析。用FACTOR过程作主因子分析与作主分量分析的不同只是增加一个PRIORS=选项,可以用PRIORS -SMC或者MAX、ONE等。例如:

proc factor data=socecon priors=smc;

run;

为了得到好的因子解释,我们在上面的PROC FACTOR语句中再加上一个ROTATE=PROMAX旋转选项,这样将在得到主因子分析后先产生方差最大正交预旋转(VARIMAX)然后进行斜交旋转,并加了一个REORDER选项使输出时把原始变量受相同因子影响的放在一起:

 

为了产生因子得分,需要在FACTOR过程中使用SCORE选项和OUTSTAT=选项输出得分系数数据集并调用SCORE过程。比如,为了计算方差最大正交旋转的主因子得分,可以用如下程序:

内容多来自网络,如有侵权,请联系QQ:23683716,谢谢。:一起大数据 » SAS多变量分析-因子分析

赞 (3)
分享到:更多 ()