1 / 9
文档名称:

spearmen相关系数和pearson相关系数及其matlab实现.doc

格式:doc   大小:660KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

spearmen相关系数和pearson相关系数及其matlab实现.doc

上传人:文库旗舰店 2019/10/11 文件大小:660 KB

下载得到文件列表

spearmen相关系数和pearson相关系数及其matlab实现.doc

相关文档

文档介绍

文档介绍:Spearmen相关系数和Pearson相关系数及其MATLAB实现Spearmen相关系数,Spearman秩相关系数是一种无参数(与分布无关)检验方法,用于度量变量之间联系的强弱。在没有重复数据的情况下,如果一个变量是另外一个变量的严格单调函数,则Spearman秩相关系数就是+1或-1,称变量完全Spearman秩相关。表达式如下:式中,n为样方数,对原始数据,按从大到小排序,记,为原始,在排序后列表中的位置,,称为,的秩次,秩次差。使用Pearson线性相关系数有2个局限:1)必须假设数据是成对地从正态分布中取得的。2)数据至少在逻辑范围内是等距的。位置n原始X排序后秩次原始Y排序后秩次秩次差11254651786125464517846103133242455144513246620532123624162264513-3        对于上表数据,算出Spearman秩相关系数为:r=1-6*(1+1+1+9)/(6*35)=。对相关系数r(-1<r<1):|r|越接近1则表示样本之间的相关程度越高;|r|越接近0则表示样本之间的相关程度越低。因为n=6,若|r|>,则样本之间存在相关性,反之则不存在显著相关性,若|r|>,则样本之间存在极显著相关性。程序:%%%%%%%%%%%%%%%%%%%%%functioncoeff=mySpearman(X,Y) iflength(X)~=length(Y) error('两个数值数列的维数不相等'); return; end N=length(X);%得到序列的长度 Xrank=zeros(1,N);%存储X中各元素的排行 Yrank=zeros(1,N);%存储Y中各元素的排行 %计算Xrank中的各个值 fori=1:N cont1=1;%记录大于特定元素的元素个数 cont2=-1;%记录与特定元素相同的元素个数 forj=1:N ifX(i)<X(j) cont1=cont1+1; elseifX(i)==X(j) cont2=cont2+1; end end Xrank(i)=cont1+mean([0:cont2]); end %计算Yrank中的各个值 fori=1:N cont1=1;%记录大于特定元素的元素个数 cont2=-1;%记录与特定元素相同的元素个数 forj=1:N ifY(i)<Y(j) cont1=cont1+1; elseifY(i)==Y(j) cont2=cont2+1; end end Yrank(i)=cont1+mean([0:cont2]); end %利用差分等级(或排行)序列计算斯皮尔曼等级相关系数 coeff=1-(6*sum((Xrank-Yrank).^2))/(N*(N^2-1)); end%函数mySpearman结束%%%%%%%%%%运行下面这个程序%%%%%%%%%%%%%%%%X=[12,546,13,45,32,2];Y=[1,78,2,46,6,45];S=mySpearman(X,Y);%%%%%%%%%%%%%%%