目录
根据初等载荷矩阵,计算各个公共因子的贡献率,并选择m 个主因子。对提取的因子载荷矩阵进行旋转,得到矩阵 (其中为A的前m列,T为正交矩阵),构造因子模型
我们用回归方法求单个因子得分函数
记
;则有
已知部分上市公司的数据见下表,试用因子分析法对上述企业进行综合评价。
解 按上述步骤计算得旋转后的因子贡献及贡献率见表13、因子载荷阵见表14。
我们通过相关分析,在显著水平为0.05的情况下,得出赢利能力F 与资产负债率 x 之间的相关系数为-0.6987,这表明两者存在中度相关关系。因子分析法的回归方程为:F = 0.829-0.0268X
回归方程在显著性水平0.05的情况下,通过了假设检验。
计算的MATLAB程序如下:
clc,clear load data.txt %把原始数据保存在纯文本文件data.txt中 data=reshape(data,[16,5]); m=size(data,1); x=data(:,5);data=data(:,1:4),num=2; data=zscore(data); %数据标准化 r=cov(data); [vec,val,con]=pcacov(r); %进行主成分分析的相关计算 val,con f1=repmat(sign(sum(vec)),size(vec,1),1); vec=vec.*f1; %特征向量正负号转换 f2=repmat(sqrt(val)',size(vec,1),1); a=vec.*f2 %载荷矩阵 %如果指标变量多,选取的主因子个数少,可以直接使用factoran进行因子分析 %本题中4个指标变量,选取2个主因子,factoran无法实现 [b,t]=rotatefactors(a(:,1:num),'method', 'varimax') %旋转变换 bz=[b,a(:,num+1:end)] %旋转后的载荷矩阵 gx=sum(bz.^2) %计算因子贡献 gxv=gx/sum(gx) %计算因子贡献率 dfxsh=inv(r)*b %计算得分函数的系数 df=data*dfxsh %计算各个因子的得分 zdf=df*gxv(1:num)'/sum(gxv(1:num)) %对各因子的得分进行加权求和 [szdf,ind]=sort(zdf,'descend') %对企业进行排名 xianshi=[df(ind,:)';zdf(ind)';ind'] %显示计算结果 [x_zdf_coef,p]=corrcoef([zdf,x]) %计算相关系数 [d1,d1int,d2,d2int,stats]=regress(zdf,[ones(m,1),x]) %回归分析计算