欢迎来到天天文库
浏览记录
ID:39341546
大小:699.74 KB
页数:5页
时间:2019-07-01
《Spearmen相关系数和Pearson相关系数及其MATLAB实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Spearmen相关系数和Pearson相关系数及其MATLAB实现Spearmen相关系数,Spearman秩相关系数是一种无参数(与分布无关)检验方法,用于度量变量之间联系的强弱。在没有重复数据的情况下,如果一个变量是另外一个变量的严格单调函数,则Spearman秩相关系数就是+1或-1,称变量完全Spearman秩相关。表达式如下:式中,n为样方数,对原始数据,按从大到小排序,记,为原始,在排序后列表中的位置,,称为,的秩次,秩次差。使用Pearson线性相关系数有2个局限:1)必须假设数据是成对
2、地从正态分布中取得的。2)数据至少在逻辑范围内是等距的。位置n原始X排序后秩次原始Y排序后秩次秩次差11254651786125464517846103133242455144513246620532123624162264513-3对于上表数据,算出Spearman秩相关系数为:r=1-6*(1+1+1+9)/(6*35)=0.6571图1秩相关系数检验的临界值表上图为秩相关系数检验的临界值表。对相关系数r(-13、r4、越接近1则表示样本之间的相关程度越高;B.当5、r6、越接近0则表示样7、本之间的相关程度越低。因为n=6,若8、r9、>0.829,则样本之间存在相关性,反之则不存在显著相关性,若10、r11、>0.943,则样本之间存在极显著相关性。程序:%%%%%%%%%%%%将以下程序存为mySpearman.m文件%%%%%%%%%functioncoeff=mySpearman(X,Y)iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);%得到序列的长度Xrank=zeros(1,N);%存储X中各元素的排行Yr12、ank=zeros(1,N);%存储Y中各元素的排行%计算Xrank中的各个值fori=1:Ncont1=1;%记录大于特定元素的元素个数cont2=-1;%记录与特定元素相同的元素个数forj=1:NifX(i)13、元素相同的元素个数forj=1:NifY(i)14、,2];Y=[1,78,2,46,6,45];S=mySpearman(X,Y);%根据以上程序可以算出Spearman秩相关系数为0.6571%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%matlab自带程序coeff = corr(X , Y , 'type' , 'Spearman'); Pearson相关系数(Pearsoncorrelationcoefficient)也叫皮尔森积差相关系数(Pearsonproduct-momentcorrelationc15、oefficient),是用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:(1)、两个变量之间是线性关系,都是连续数据。(2)、两个变量的总体是正态分布,或接近正态的单峰分布。(3)、两个变量的观测值是成对的,每对观测值之间相互独立。.%%%%%%%%%%%%将以下程序存为myPearson.m文件%%%%%%%%functioncoeff=myPear16、son(X,Y)%本函数实现了皮尔逊相关系数的计算操作iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);f1=sum(X.*Y)-(sum(X)*sum(Y))/N;f2=sqrt((sum(X.^2)-sum(X)^2/N)*(sum(Y.^2)-sum(Y)^2/N));coeff=f1/f2;end%函数myPearson结束%%%%%%%%%%%%%%
3、r
4、越接近1则表示样本之间的相关程度越高;B.当
5、r
6、越接近0则表示样
7、本之间的相关程度越低。因为n=6,若
8、r
9、>0.829,则样本之间存在相关性,反之则不存在显著相关性,若
10、r
11、>0.943,则样本之间存在极显著相关性。程序:%%%%%%%%%%%%将以下程序存为mySpearman.m文件%%%%%%%%%functioncoeff=mySpearman(X,Y)iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);%得到序列的长度Xrank=zeros(1,N);%存储X中各元素的排行Yr
12、ank=zeros(1,N);%存储Y中各元素的排行%计算Xrank中的各个值fori=1:Ncont1=1;%记录大于特定元素的元素个数cont2=-1;%记录与特定元素相同的元素个数forj=1:NifX(i)13、元素相同的元素个数forj=1:NifY(i)14、,2];Y=[1,78,2,46,6,45];S=mySpearman(X,Y);%根据以上程序可以算出Spearman秩相关系数为0.6571%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%matlab自带程序coeff = corr(X , Y , 'type' , 'Spearman'); Pearson相关系数(Pearsoncorrelationcoefficient)也叫皮尔森积差相关系数(Pearsonproduct-momentcorrelationc15、oefficient),是用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:(1)、两个变量之间是线性关系,都是连续数据。(2)、两个变量的总体是正态分布,或接近正态的单峰分布。(3)、两个变量的观测值是成对的,每对观测值之间相互独立。.%%%%%%%%%%%%将以下程序存为myPearson.m文件%%%%%%%%functioncoeff=myPear16、son(X,Y)%本函数实现了皮尔逊相关系数的计算操作iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);f1=sum(X.*Y)-(sum(X)*sum(Y))/N;f2=sqrt((sum(X.^2)-sum(X)^2/N)*(sum(Y.^2)-sum(Y)^2/N));coeff=f1/f2;end%函数myPearson结束%%%%%%%%%%%%%%
13、元素相同的元素个数forj=1:NifY(i)14、,2];Y=[1,78,2,46,6,45];S=mySpearman(X,Y);%根据以上程序可以算出Spearman秩相关系数为0.6571%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%matlab自带程序coeff = corr(X , Y , 'type' , 'Spearman'); Pearson相关系数(Pearsoncorrelationcoefficient)也叫皮尔森积差相关系数(Pearsonproduct-momentcorrelationc15、oefficient),是用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:(1)、两个变量之间是线性关系,都是连续数据。(2)、两个变量的总体是正态分布,或接近正态的单峰分布。(3)、两个变量的观测值是成对的,每对观测值之间相互独立。.%%%%%%%%%%%%将以下程序存为myPearson.m文件%%%%%%%%functioncoeff=myPear16、son(X,Y)%本函数实现了皮尔逊相关系数的计算操作iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);f1=sum(X.*Y)-(sum(X)*sum(Y))/N;f2=sqrt((sum(X.^2)-sum(X)^2/N)*(sum(Y.^2)-sum(Y)^2/N));coeff=f1/f2;end%函数myPearson结束%%%%%%%%%%%%%%
14、,2];Y=[1,78,2,46,6,45];S=mySpearman(X,Y);%根据以上程序可以算出Spearman秩相关系数为0.6571%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%matlab自带程序coeff = corr(X , Y , 'type' , 'Spearman'); Pearson相关系数(Pearsoncorrelationcoefficient)也叫皮尔森积差相关系数(Pearsonproduct-momentcorrelationc
15、oefficient),是用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:(1)、两个变量之间是线性关系,都是连续数据。(2)、两个变量的总体是正态分布,或接近正态的单峰分布。(3)、两个变量的观测值是成对的,每对观测值之间相互独立。.%%%%%%%%%%%%将以下程序存为myPearson.m文件%%%%%%%%functioncoeff=myPear
16、son(X,Y)%本函数实现了皮尔逊相关系数的计算操作iflength(X)~=length(Y)error('两个数值数列的维数不相等');return;endN=length(X);f1=sum(X.*Y)-(sum(X)*sum(Y))/N;f2=sqrt((sum(X.^2)-sum(X)^2/N)*(sum(Y.^2)-sum(Y)^2/N));coeff=f1/f2;end%函数myPearson结束%%%%%%%%%%%%%%
此文档下载收益归作者所有