MATLAB(2)--因子分析

目的描述

​ 出于模型的须要,咱们的团队选择作一次因子分析,一般这部分在队伍中是会有同窗专门负责这块的,至于为何笔者就不在这里多说了。code

解决思路

​ 在MATLAB中封装了有关因子分析的方法--factoran,读者能够经过help命令来查看如何调用这个方法。get

须要读者注意的是,factoran方法并不会作数据规范化,因此读者须要本身来作这个操做。it

代码展现

%数据单位化
TX_F_D=zscore(TX_D)

%5,求和
SUM_F_D=TX_F_D+AZ_F_D+CA_F_D+NM_F_D

%6,因子分析
[SUM_lambda,SUM_psi,SUM_T,SUM_stats,SUM_F]=factoran(SUM_F_D,6)

%求取贡献率
SUM_Contribute=Factor_Contribute(SUM_lambda,index)

%求各项因子的得分
ALL_F=Factor_F(TX_F_D,AZ_F_D,CA_F_D,NM_F_D,SUM_lambda,SUM_Contribute)

%画图
subplot(2,2,1)
plot(YEARS,ALL_F{1}(:,1),'r-',YEARS,ALL_F{2}(:,1),'g--',YEARS,ALL_F{3}(:,1),'b:',YEARS,ALL_F{4}(:,1))
xlabel('YEARS')
ylabel('F1')
legend('TX','AZ','CA','NM','Location','SouthEast')

%画单个的图
figure
plot(YEARS,ALL_F{1}(:,1),'r-',YEARS,ALL_F{2}(:,1),'g--',YEARS,ALL_F{3}(:,1),'b:',YEARS,ALL_F{4}(:,1))
xlabel('YEARS')
ylabel('F1')
legend('TX','AZ','CA','NM','Location','SouthEast')

figure
plot(YEARS,ALL_F{1}(:,2),'r-',YEARS,ALL_F{2}(:,2),'g--',YEARS,ALL_F{3}(:,2),'b:',YEARS,ALL_F{4}(:,3))
xlabel('YEARS')
ylabel('F2')
legend('TX','AZ','CA','NM','Location','SouthEast')

figure
plot(YEARS,ALL_F{1}(:,3),'r-',YEARS,ALL_F{2}(:,3),'g--',YEARS,ALL_F{3}(:,3),'b:',YEARS,ALL_F{4}(:,3))
xlabel('YEARS')
ylabel('F3')
legend('TX','AZ','CA','NM','Location','SouthEast')

figure
plot(YEARS,ALL_F{1}(:,4),'r-',YEARS,ALL_F{2}(:,4),'g--',YEARS,ALL_F{3}(:,4),'b:',YEARS,ALL_F{4}(:,4))
xlabel('YEARS')
ylabel('F')
legend('TX','AZ','CA','NM','Location','SouthEast')

结果展现

因为结果有多种多样的,直接给出MATLAB的工做空间,有兴趣的读者能够自行下载。io

连接 密码:zffrast

相关文章
相关标签/搜索