资源简介
正宗因子分析算法,完美实现因子分析, 有因子旋转,因子得分,因子评价,已经过检验可以使用,可放心下载运行。
代码片段和文件信息
function [Fv0Avw]=yinzi1(xnumber)
%此程序是从因子分析直接做的算法
%v0为部分主成分系数,即相关系数矩阵的部分特征向量
%F为因子得分
%A为旋转后的因子载荷矩阵
%w是对因子评价由大到小的排序
%v是对因子评价排序后元素在原来因子评价向量中的位置。
[x]=bxh(x);%对数据进行标准化处理
[nm]=size(x);%n为x的行数m为x的列数,即n为样本数m为属性个数。
x1=x;
s=x1(1:)‘*x1(1:)/(n-1);
for i=2:n
s=s+x1(i:)‘*x1(i:)/(n-1);
end
%s为相关系数矩阵。
[vd]=eig(s‘nobalance‘);
for i=1:m
e=1/norm(v(:m-i+1));
%e是向量v(:m-i+1)的模长
v1(:i)=e.*v(:m-i+1);
end
%将特征向量单位化,同时由特征值从大到小排列.
for i=m:-1:1
d1(m-i+1)=d(ii);
end
d=d1;
%计算各个主成分的贡献率
for i=1:m
t(1i)=d(i)/sum(d(:));
t(2i)=sum(d(1:i))/sum(d(:));
end
%因子载荷矩阵v0
for i=1:m
if (t(2i)) v0(:i)=sqrt(d(i)).*v1(:i);
t(2i)=z(i);%向量z是累计贡献率前几个
end
end
A=v0;
%对A施行方差最大正交变换(旋转)
[nx_Any_A]=size(A);%nx_A为A的行数n
评论
共有 条评论