spear

更新时间:2022-12-27 20:21:18 阅读: 评论:0


2022年12月27日发(作者:购买护肤品)

.....................最新资料整理推荐.....................

1

Spearmen相关系数和Pearson相关系数及其MATLAB实现

Spearmen相关系数,Spearman秩相关系数是一种无参数(与分

布无关)检验方法,用于度量变量之间联系的强弱。在没有重复数据

的情况下,如果一个变量是另外一个变量的严格单调函数,则

Spearman秩相关系数就是+1或-1,称变量完全Spearman秩相关。

表达式如下:

)(1

6

1r

3

1

2

nn

d

n

i

i

s



式中,n为样方数,对原始数据

i

x,

i

y按从大到小排序,记'

i

x

,'

i

y

原始

i

x,

i

y在排序后列表中的位置,'

i

x

,'

i

y

称为

i

x,

i

y的秩次,秩次差

'

i

'

ii

y-xd

使用Pearson线性相关系数有2个局限:

1)必须假设数据是成对地从正态分布中取得的。

2)数据至少在逻辑范围内是等距的。

位置n原始X排序后秩次原始Y排序后秩次秩次差

1

2546451784610

31332424551

44513246620

5321236241

62264513-3

对于上表数据,算出Spearman秩相关系数为:

r=1-6*(1+1+1+9)/(6*35)=0.6571

.....................最新资料整理推荐.....................

2

图1秩相关系数检验的临界值表

上图为秩相关系数检验的临界值表。

对相关系数r(-1

A.当|r|越接近1则表示样本之间的相关程度越高;

B.当|r|越接近0则表示样本之间的相关程度越低。

因为n=6,若|r|>0.829,则样本之间存在相关性,反之则不存在显著相关

性,若|r|>0.943,则样本之间存在极显著相关性。

程序:

%%%%%%%%%%%%将以下程序存为mySpearman.m文件%%%%%%%%%

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)

cont1=cont1+1;

elifX(i)==X(j)

cont2=cont2+1;

end

end

Xrank(i)=cont1+mean([0:cont2]);

end

.....................最新资料整理推荐.....................

3

%计算Yrank中的各个值

fori=1:N

cont1=1;%记录大于特定元素的元素个数

cont2=-1;%记录与特定元素相同的元素个数

forj=1:N

ifY(i)

cont1=cont1+1;

elifY(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);

%根据以上程序可以算出Spearman秩相关系数为0.6571

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%matlab自带程序coeff=corr(X,Y,'type','Spearman');

.....................最新资料整理推荐.....................

4

.....................最新资料整理推荐.....................

5

Pearson相关系数(Pearsoncorrelationcoefficient)也叫皮尔森积

差相关系数(Pearsonproduct-momentcorrelationcoefficient),是用来

反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在

基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。

当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:

(1)、两个变量之间是线性关系,都是连续数据。

(2)、两个变量的总体是正态分布,或接近正态的单峰分布。

(3)、两个变量的观测值是成对的,每对观测值之间相互独立。









N

i

i

N

i

i

N

i

i

N

i

i

N

i

i

N

i

i

N

i

ii

YX

Y

N

YX

N

X

X

N

YX

r

1

2

1

2

1

2

1

2

111

,

)(

1

-)(

1

-

Y

1

-

matlab程序:用以下公式为例子编写

.

.....................最新资料整理推荐.....................

6

%%%%%%%%%%%%将以下程序存为myPearson.m文件%%%%%%%%

functioncoeff=myPearson(X,Y)

%本函数实现了皮尔逊相关系数的计算操作

iflength(X)~=length(Y)

error('两个数值数列的维数不相等');

return;

end

N=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结束

%%%%%%%%%%%%%%%%%%%%%

X=[12,546,13,45,32,2];Y=[1,78,2,46,6,45];%XY自己定义

P=myPearson(X,Y);

%%%%%%%%%%%%%%matlab自带程序coeff=corr(X,Y);

图1秩相关系数检验的临界值表

上图为秩相关系数检验的临界值表。

对相关系数p(-1

A.当|p|越接近1则表示样本之间的相关程度越高;

B.当|p|越接近0则表示样本之间的相关程度越低。

得到Pearson相关系数p后与0.829比较。与上一个方式类似。

本文发布于:2022-12-27 20:21:18,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/42428.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:bilingual
标签:spear
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图