资源简介
因子分析法的MATLAB程序,简单易懂!适合初学者学习~
代码片段和文件信息
clear all;
clc
load ‘b.txt‘;
X=b(:1:7);
disp(‘第一步,进行标准化处理‘);
MX=mean(X);
[nm]=size(X);
for ii=1:m
SX(:ii)=(X(:ii)/MX(ii));
end
SX
disp(‘第二步,对标准化后的数据矩阵进行对应变换处理‘);
for ii=1:n;
SXLineAdd(ii)=sum(SX(ii:));%按行求和
end
for jj=1:m;
SXColumAdd(jj)=sum(SX(:jj));%按列求和
end
SXTotal=(sum(SXLineAdd)+sum(SXColumAdd)/2);%%求总和
for ii=1:n
for jj=1:m
ZX(iijj)=(SX(iijj)-(SXLineAdd(ii)*SXColumAdd(jj))/SXTotal)/sqrt(SXLineAdd(ii)*SXColumAdd(jj));
end
end
ZX
disp(‘第三步,计算协方差矩阵‘);
RX=ZX‘*ZX
disp(‘第四步,确定矩阵R的特征值及对应的特征向量,并按照由大到小顺序排列‘);
[elamda]=eig(cov(RX));
for ii=1:m
lamd(ii)=lamda(iiii);
end
[lamdkk]=sort(lamd2);
for ii=1:m;
lam(ii)=lamd(m+1-ii);
end
yjj=m+1-kk;
for k=1:m
ee(:k)=e(:yjj(k));
end
lam
ee
EXPLAINED(1:m)=0;
for ii=1:m
explained(ii)=100*lam(ii)/sum(lam);
end
disp(‘主分量累积贡献率‘);
EXPLAINED=cumsum(explained)
xi=1;
while xi<=m
if EXPLAINED(xi)>=85
[‘选择前面‘num2str(xi)‘个主分量即可大于85%‘]
break;
end
xi=xi+1;
end
disp(‘第五步,计算R型、Q型因子载荷矩阵A、B‘);
for ii=1:m
A(:ii)=ee(:ii)*sqrt(lam(ii));vv(:ii)=ZX*ee(:ii);
B(:ii)=vv(:ii)*sqrt(lam(ii));
end
AB
for iii=1:xi
for ii=1:n;
PJ(iiiii)=SX(ii:)*A(:xi);end
end
disp(‘样本排序评价‘);
for iii=1:xi
[‘样本按照第‘num2str(iii)‘个综合因子排序‘]
gc=1:n;[YPJK]=sort(PJ(iii:)2);K
end
disp(‘第六步,作图分类‘);
figure(1);plot(A(:1)A(:2)‘*‘);grid on;
xlabel(‘第一综合因子‘);ylabel(‘第二综合因子‘);title(‘二维指标分类图‘);
for ii=1:m;
text(A(ii1)A(ii2)[‘指标‘num2str(ii)]);end
figure(2);plot(B(:1)B(:2)‘*‘);grid on;
xlabel(‘第一综合因子‘);ylabel(‘第二综合因子‘);title(‘二维样本分类图‘);
for ii=1:n;
text(B(ii1)B(ii2)[‘月份‘num2str(ii)]);end
figure(3);plot3(A(:1)A(:2)A(:3)‘*‘);grid on;
xlabel(‘第一综合因子‘);ylabel(‘第二综合因子‘);zlabel(‘第三综合因子‘);title(‘三维指标分类图‘);
for ii=1:m;
text(A(ii1)A(ii2)A(ii3)[‘指标‘num2str(ii)]);end
figure(4);plot3(B(:1)B(:2)B(:3)‘*‘);grid on;
xlabel(‘第一综合因子‘);ylabel(‘第二综合因子‘);zlabel(‘第三综合因子‘);title(‘三维样本分类图‘);
for ii=1:n;
text(B(ii1)B(ii2)B(ii3)[‘月份‘num2str(ii)]);end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2354 2009-11-09 15:41 fa.m
----------- --------- ---------- ----- ----
2354 1
- 上一篇:matlab小波分析高级技术pdf和源码
- 下一篇:电力系统仿真 14节点
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
川公网安备 51152502000135号
评论
共有 条评论