.....................最新资料整理推荐.....................
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小时内删除。
留言与评论(共有 0 条评论) |