matlab做kmo检验的代码,急求 KMO测度和Bartlett 的球形度检验的计算原公式[通俗易懂]

matlab做kmo检验的代码,急求 KMO测度和Bartlett 的球形度检验的计算原公式[通俗易懂]1、关于KMO公式,您从如下matlab源程序代码中不难得出,我已经用Excel就计算出来了,跟SPSS的计算结果完全一致。iX=inv(X);%X是原始数据的相关系数矩阵R,而inv表示求X的逆矩阵iXS2=diag(diag((iX.^-1)));%将iX的对角线的元素取倒数,其余元素都变为0,得到矩阵S2AIS=S2*iX*S2;%anti-image…

大家好,又见面了,我是你们的朋友全栈君。

1、关于KMO公式,您从如下matlab源程序代码中不难得出,我已经用Excel就计算出来了,跟SPSS的计算结果完全一致。

iX = inv(X);     %X是原始数据的相关系数矩阵R,而inv表示求X的逆矩阵iX

S2 = diag(diag((iX.^-1)));    %将iX的对角线的元素取倒数,其余元素都变为0,得到矩阵S2

AIS = S2*iX*S2;    %anti-image covariance matrix,即AIS是反映像协方差矩阵

IS = X+AIS-2*S2;    %image covariance matrix,即IS是映像协方差矩阵

Dai = diag(diag(sqrt(AIS)));    %就是将矩阵AIS对角线上的元素开平方,并且将其余元素都变成0,得到矩阵Dai

IR = inv(Dai)*IS*inv(Dai); %image correlation matrix,即IR是映像相关矩阵

AIR = inv(Dai)*AIS*inv(Dai); %anti-image correlation matrix,即AIR是反映像相关矩阵

a = sum((AIR – diag(diag(AIR))).^2);    %diag(diag(AIR))表示将矩阵AIR的对角线取出来,再构造成一个对角矩阵(即对角线之   外元素都是 0);. 表示将偏相关系数矩阵AIR – diag(diag(AIR))的每一个元素乘方,这样得到矩阵a。AA = sum(a);              %得到偏相关系数矩阵AIR – diag(diag(AIR))中所有偏相关系数的平方和AA,但不考虑其对角线上的数值。

b = sum((X – eye(size(X))).^2);    %eye()是单位矩阵;b就是将相关系数矩阵R中每一个元素乘方,但R对角线元素全部变成0

BB = sum(b);             %BB就是所有变量之间(不包括变量自己与自己)的相关系数的平方和。

kmo = BB/(AA+BB);   %KMO就是所有变量之间相关系数的平方和除以它与所有变量之间偏相关系数平方和的商,但不考虑变量  自己与自己的相关系数1以及偏相关系数。

2、关于巴特利特球形检验的公式,作以下说明:

H0:原始数据的相关系数矩阵R与同维度的单位矩阵一致;H1:……不一致。

χ2=-[n-(2p+11)/6]ln|R|;             df=p(p-1)/2。

其中:n是数据记录的条数;p是因子分析的变量数目;ln()是自然对数函数;|R|是相关系数矩阵R的行列式的值。

算出上述χ2统计量的值,查表χ2(0.01,df),若χ2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148458.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号