%  从相关系数矩阵出发进行因子分析

%***************************定义相关系数矩阵PHO*****************************

PHO = [1     0.79    0.36    0.76    0.25    0.51

0.79  1       0.31    0.55    0.17    0.35

0.36  0.31    1       0.35    0.64    0.58

0.76  0.55    0.35    1       0.16    0.38

0.25  0.17    0.64    0.16    1       0.63

0.51  0.35    0.58    0.38    0.63    1

PHO=xlsread('fa1.xls',2)

%******************调用factoran函数根据相关系数矩阵作因子分析*****************

% 从相关系数矩阵出发,进行因子分析(不进行因子旋转),公共因子个数是2,delta设定特殊方差psi的下界

% ‘covariance’表示协方差或相关系数矩阵,'rotate'='none'不旋转

% 输出的lambda是因子载荷L矩阵,psi是估计的个体方差,T为旋转矩阵

[lambda,psi,T] = factoran(PHO,2,'xtype','covariance','delta',0,'rotate','none')

% 定义元胞数组,以元胞数组形式显示结果

head = {'变量', '因子f1', '因子f2'};

varname = {'身高','坐高','胸围','手臂长','肋围','腰围','',''}';

Contribut = 100*sum(lambda.^2)/6;

CumCont = cumsum(Contribut);

result1 = num2cell([lambda; Contribut; CumCont]);

result1 = [head; varname, result1]

biplot(lambda,'LineWidth',2,'MarkerSize',20)

scatter(lambda(:,1),lambda(:,2))

%从相关系数矩阵出发,进行因子分析(进行因子旋转),默认是使用最大方差旋转法

[lambda,psi,T] =factoran(PHO,2,'xtype','covariance','delta',0)

Contribut = 100*sum(lambda.^2)/6

CumCont = cumsum(Contribut)

biplot(lambda,'LineWidth',2,'MarkerSize',20)

scatter(lambda(:,1),lambda(:,2))

% 从相关系数矩阵出发,进行因子分析,公共因子数为3(进行因子旋转)

[lambda,psi,T] = factoran(PHO,3,'xtype','covariance','delta',0)

Contribut = 100*sum(lambda.^2)/6

CumCont = cumsum(Contribut)

biplot(lambda,'LineWidth',2,'MarkerSize',20)

% 不建议做m>=4,报错

[lambda,psi,T] = factoran(PHO,4,'xtype','covariance','delta',0)

%*********************************读取数据*********************************

[X,textdata] = xlsread('fa2.xls');

X = X(:,3:end);

varname = textdata(4,3:end);

obsname = textdata(5:end,2);

%******************调用factoran函数根据原始观测数据作因子分析*****************

% 从原始数据(实质还是相关系数矩阵)出发,进行因子分析,公共因子数为4

% 进行因子旋转(最大方差旋转法),stats返回一些拟合的检验统计量

[lambda,psi,T,stats] = factoran(X,4)

Contribut = 100*sum(lambda.^2)/8

CumCont = cumsum(Contribut)

% 从原始数据(实质还是相关系数矩阵)出发,进行因子分析,公共因子数为2

% 进行因子旋转(最大方差旋转法),F返回因子得分

[lambda,psi,T,stats,F] = factoran(X, 2)

Contribut = 100*sum(lambda.^2)/8

CumCont = cumsum(Contribut)

[varname', num2cell(lambda)]

biplot(lambda,'LineWidth',2,'MarkerSize',20)

plot(lambda(:,1),lambda(:,2),'k*')

%**************将因子得分F分别按耐力因子得分和速度因子得分进行排序*************

obsF = [obsname, num2cell(F)];

F1 = sortrows(obsF, 2);    % 按耐力因子得分排序,默认按列排序

F2 = sortrows(obsF, 3);    % 按速度因子得分排序

head = {'国家/地区','耐力因子','速度因子'};

result1 = [head; F1];

result2 = [head; F2];

%*************************绘制因子得分负值的散点图***************************

plot(-F(:,1),-F(:,2),'k.');

xlabel('耐力因子得分(负值)');

ylabel('速度因子得分(负值)');

matlab求因子载荷矩阵,Matlab因子分析相关推荐

  1. matlab求因子载荷矩阵,因子分析中因子旋转用matlab怎么实现?

    %-------------------------------------------------------------------------- %                   从相关系 ...

  2. matlab求hession矩阵

    matlab求hession矩阵 MATLAB下求解多元函数的hession矩阵(3种方法): (1)直接调用matlab的hession函数 (2)先求雅克比矩阵,再求hession矩阵 (3)先求 ...

  3. matlab求jacobian矩阵和hession矩阵

    名称:Jacobian matrix 雅可比矩阵 用法:jacobian(f,v) 描述:jacobian(f,v) computes the Jacobian matrix of f with re ...

  4. matlab求状态反馈矩阵

    利用matlab求状态反馈矩阵 求状态反馈矩阵有一种比较快捷的方法是爱克曼法. 例如求 系统,要求闭环极点配置到 那么先J=目标极点,代入A,B可得: F=acker(A,B,J) F = 1.0e+ ...

  5. 在matlab表示特殊矩阵,MATLAB特殊矩阵以及矩阵转置

    特殊矩阵 通用特殊矩阵 zeros函数:产生全0矩阵,即零矩阵. ones函数:产生....1矩阵,即幺矩阵. eye函数:产生对角线为1的矩阵,当矩阵是方正时,得到单位矩阵. rand函数:产生(0 ...

  6. matlab 求取矩阵中值,matlab中取矩阵中指定列的值组成新矩阵

    matlab 矩阵中怎么加入冒号,比如我想矩阵A的第一列都为"1:" A(:,1)='1:';再问:不行的再答:用结构矩阵或者单元矩阵试试吧. 诚教:matlab中取矩阵的其中几行 ...

  7. 学习记录(二):MATLAB求三维矩阵梯度

    使用[gx,gy,gz]=gradient(a)语句,可调用MATLAB求梯度函数gradient对三维矩阵a求梯度,得到gx,gy,gz分别是沿三维矩阵x,y,z三个方向求得的梯度. 下面通过一个例 ...

  8. matlab 求曲面体积,matlab求两曲面之间的体积

    MATLAB求曲面相交所成空间曲线的图形 放在你程序后也可,单独运行也行:t=-0.1:0.1:2*pi;x=2*cos(t);%交线参数方程z=2*sin(t);y1=sqrt(5)*ones(si ...

  9. matlab求表达式绝对值,matlab绝对值怎么表示

    Matlab 的内部常数 Matlab 的常用内部数学函数 指数函数 exp(x) log(x) 对数函数 log10(x) log2(x) 开方函数 sqrt(x) 绝对值函数 abs(x) sin ...

最新文章

  1. bzoj29894170数列——二进制分组+主席树
  2. 各类常见的网站检查工具
  3. Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
  4. kill -3 获取threaddump信息---转载
  5. Tomcat配置问题解决方法
  6. html本地路径图片转成base64,canvas-toDataURL()将图片转为dataURL(base64)
  7. 中国还有一个作家叫格非
  8. 命令创建mysql数据库_怎么在命令行创建一个mysql数据库
  9. 海洋大数据关键技术及在灾害天气下船舶行为预测上的应用
  10. table()函数的使用,提高查询效率
  11. 【C++ Primer】第十四章 C++中的代码重用
  12. 字符串连接符(Java)
  13. xxx.pch(No such file or directory)
  14. Raki的读paper小记:CLASSIC: Continual and Contrastive Learning of Aspect Sentiment Classification Tasks
  15. 苹方字体 for linux,苹果苹方字体
  16. matlab试算求解二元二次方程,matlab 求一个二元二次方程组的解
  17. html 的scor属性,[HTML] 通过 scrollWidth 属性滚动内容
  18. 用Python搞出自己的云词图 | 【带你装起来】
  19. R语言当前文件工作路径
  20. 【codeforces 777D】Cloud of Hashtags

热门文章

  1. 此计算机上无法找到autocad2017,解决安装autocad2017提示“无法定位inf文件“ACAD.inf”。”的方法...
  2. 清明。。只是扫墓。。
  3. glPushMatrix()和glPopmatirx()
  4. 简单的D3d使用(通过surface)
  5. 斯蒂夫乔布斯传札记:第四波
  6. 运筹学有哪些经典教材?
  7. 【Windows】Win10家庭版启用组策略gpedit.msc
  8. Qt安装图解(Windows平台)
  9. 排序算法总结(Python)
  10. Win32平台下NOTIFYICONDATA的气泡点击功能的响应与实现