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过程。比如,为了计算方差最大正交旋转的主因子得分,可以用如下程序:
原创文章,作者:xsmile,如若转载,请注明出处:http://www.17bigdata.com/sas%e5%a4%9a%e5%8f%98%e9%87%8f%e5%88%86%e6%9e%90-%e5%9b%a0%e5%ad%90%e5%88%86%e6%9e%90/
注意:本文归作者所有,未经作者允许,不得转载