Spearmen相关系数和Pearson相关系数及其MATLAB实现_第1页
Spearmen相关系数和Pearson相关系数及其MATLAB实现_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Spearmen相关系数和Pearson相关系数及其MATLAB实现Spearmen相关系数,Spearman秩相关系数是一种无参数(与分布无关)检验方法,用于度量变量之间联系的强弱。在没有重复数据的情况下,如果一个变量是另外一个变量的严格单调函数,则Spearman秩相关系数就是+1或-1,称变量完全Spearman秩相关。表达式如下:6^d2TOC\o"1-5"\h\z\o"CurrentDocument"r=1一_-(1)sn3一n式中,n为样方数,对原始数据x,y按从大到小排序,记x',y'为原始x,yiiiiii在排序后列表中的位置,x',y'称为x,y的秩次,秩次差d二x'-y'。iiiiiii使用Pearson线性相关系数有2个局限:必须假设数据是成对地从正态分布中取得的。数据至少在逻辑范围内是等距的。位置n原始X排序后秩次原始Y排序后秩次秩次差11254651786125464517846103133242455144513246620532123624162264513-3对于上表数据,算出Spearman秩相关系数为:r=1-6*(1+1+1+9)/(6*35)=0.6571图1秩相关系数检验的临界值表上图为秩相关系数检验的临界值表。对相关系数r(-1<r<1):当|r|越接近1则表示样本之间的相关程度越高;当|r|越接近0则表示样本之间的相关程度越低。因为n=6,若|r|>0.829,则样本之间存在相关性,反之则不存在显著相关性,若|r|>0.943,则样本之间存在极显著相关性。程序:%%%%%%%%%%%%将以下程序存为mySpearman.m文件%%%%%%%%%functioncoeff=mySpearman(X,Y)iflength(X)~=length(Y)error('两个数值数列的维数不相等);return;endN=length(X);%得到序列的长度Xrank=zeros(l,N);%存储X中各元素的排行Yrank=zeros(1,N);%存储Y中各元素的排行%计算Xrank中的各个值fori=1:Ncont1=1;%记录大于特定元素的元素个数cont2=-1;%记录与特定元素相同的元素个数forj=1:NifX(i)<X(j)cont1=cont1+1;elseifX(i)==X(j)cont2=cont2+1;endendXrank(i)=cont1+mean([0:cont2]);end%计算Yrank中的各个值fori=1:Ncont1=1;%记录大于特定元素的元素个数cont2=-1;%记录与特定元素相同的元素个数forj=1:NifY(i)<Y(j)cont1=cont1+1;elseifY(i)==Y(j)cont2=cont2+1;endendYrank(i)=contl+mean([0:cont2]);end%利用差分等级(或排行)序列计算斯皮尔曼等级相关系数coeff=1-(6*sum((Xrank-Yrank).A2))/(N*(NA2-1));end%函数mySpearman结束%%%%%%%%%%运行下面这个程序%%%%%%%%%%%%%%%%X二[12,546,13,45,32,2];Y二[1,7&2,46,6,45];S二mySpearman(X,Y);%根据以上程序可以算出Spearman秩相关系数为0.6571%matlab自带程序%matlab自带程序coeff=corr(X,Y,'type','Spearman');Pearson相关系数(Pearsoncorrelationcoefficient)也叫皮尔森积差相关系数(Pearsonproduct-momentcorrelationcoefficient),是用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:、两个变量之间是线性关系,都是连续数据。、两个变量的总体是正态分布,或接近正态的单峰分布。、两个变量的观测值是成对的,每对观测值之间相互独立。皮尔谢相关也称为积差相关(或积矩相关)是英国统计学家皮尔谢于20世纪提出的一种计算直线相关的方法。假设有两个变量冷Y,那么两变量间的皮尔谢相关系数可通过以下公式计算:公式一:,_回(広F)_呻_曲—公式二:_吃软-迟X迟F%_J吃屮-送疔J吃护-送F),公式三:公式四:以上列出的四个公式等价,其中E是数学期望,匚皿表示协方差,N表示变量取值的个数。用以下公式为例子编写matlab程序:迓XY-丄迓X迓YrX,YiiNii:艺X2-N■(迓X)2送Y2-N■(迓Y)2rX,Y-iN「\liNi1i=1i=1人i=1i=1%%%%%%%%%%%%将以下程序存为myPearson.m文件%%%%%%%%functioncoeff=myPearson(X,Y)%本函数实现了皮尔逊相关系数的计算操作iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);f1=sum(X.*Y)-(sum(X)*sum(Y))/N;f2=sqrt((sum(X.A2)-sum(X)A2/N)*(sum(Y.A2)-sum(Y)A2/N));coeff=fl/f2;end%函数myPearson结束%%%%%%%%%%%%%%%%%%%%%X=[12,546,13,45,32,2];Y=[1,7&2,46,6,45];%XY自己定义P=myPearson(X,Y);%%%%%%%%%%%%%%matlab自带程序coeff=corr(X,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论