资源描述:
《因子分析的matlab实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、%--------------------------------------------------------------------------%从相关系数矩阵出发进行因子分析%--------------------------------------------------------------------------%***************************定义相关系数矩阵PHO*****************************PHO=[10.790.360.760.250
2、.510.7910.310.550.170.350.360.3110.350.640.580.760.550.3510.160.380.250.170.640.1610.630.510.350.580.380.631];%******************调用factoran函数根据相关系数矩阵作因子分析*****************%从相关系数矩阵出发,进行因子分析,公共因子数为2,设置特殊方差的下限为0,%不进行因子旋转[lambda,psi,T]=factoran(PHO,2,'xtype','c
3、ovariance','delta',0,'rotate','none')%定义元胞数组,以元胞数组形式显示结果%表头head={'变量','因子f1','因子f2'};%变量名varname={'身高','坐高','胸围','手臂长','肋围','腰围','<贡献率>','<累积贡献率>'}';Contribut=100*sum(lambda.^2)/6;%计算贡献率,因子载荷阵的列元素之和除以维数CumCont=cumsum(Contribut);%计算累积贡献率%将因子载荷阵,贡献率和累积贡献率放在一起
4、,转为元胞数组result1=num2cell([lambda;Contribut;CumCont]);%加上表头和变量名,然后显示结果result1=[head;varname,result1]%从相关系数矩阵出发,进行因子分析,公共因子数为2,设置特殊方差的下限为0,%进行因子旋转(最大方差旋转法)[lambda,psi,T]=factoran(PHO,2,'xtype','covariance','delta',0)Contribut=100*sum(lambda.^2)/6%计算贡献率,因子载荷阵的列
5、元素之和除以维数CumCont=cumsum(Contribut)%计算累积贡献率%从相关系数矩阵出发,进行因子分析,公共因子数为3,设置特殊方差的下限为0,%进行因子旋转(最大方差旋转法)[lambda,psi,T]=factoran(PHO,3,'xtype','covariance','delta',0)Contribut=100*sum(lambda.^2)/6%计算贡献率,因子载荷阵的列元素之和除以维数CumCont=cumsum(Contribut)%计算累积贡献率%---------------
6、-----------------------------------------------------------%读取examp12_02.xls中数据,进行因子分析%--------------------------------------------------------------------------%*********************************读取数据*********************************[X,textdata]=xlsread('exa
7、mp12_02.xls');%从Excel文件中读取数据X=X(:,3:end);%提取X的第3至最后一列,即要分析的数据varname=textdata(4,3:end);%提取textdata的第4行,第3至最后一列,即变量名obsname=textdata(5:end,2);%提取textdata的第2列,第5至最后一行,即国家或地区名%******************调用factoran函数根据原始观测数据作因子分析*****************%从原始数据(实质还是相关系数矩阵)出发,进行因
8、子分析,公共因子数为4%进行因子旋转(最大方差旋转法)[lambda,psi,T,stats]=factoran(X,4)Contribut=100*sum(lambda.^2)/8%计算贡献率,因子载荷阵的列元素之和除以维数CumCont=cumsum(Contribut)%计算累积贡献率%从原始数据(实质还是相关系数矩阵)出发,进行因子分析,公共因子数为2%进行因子旋转(最大方差旋转法)[lam