当前位置: 首页>后端>正文

tensorflow自定义皮尔森系数 matlab皮尔森相关系数

《Spearmen相关系数和Pearson相关系数及其MATLAB实现》由会员分享,可在线阅读,更多相关《Spearmen相关系数和Pearson相关系数及其MATLAB实现(5页珍藏版)》请在人人文库网上搜索。

1、Spearmen相关系数和Pearson相关系数及其MATLAB实现Spearmen相关系数,Spearman秩相关系数是一种无参数(与分布无关)检验方法,用于度量变量之间联系的强弱。在没有重复数据的情况下,如果一个变量是另外一个变量的严格单调函数,则Spearman秩相关系数就是+1或-1,称变量完全Spearman秩相关。表达式如下:式中,n为样方数,对原始数据,按从大到小排序,记,为原始,在排序后列表中的位置,,称为,的秩次,秩次差。使用Pearson线性相关系数有2个局限:1) 必须假设数据是成对地从正态分布中取得的。2) 数据至少在逻辑范围内是等距的。位置n原始X排序后秩次原始Y排序。

2、后秩次秩次差11254651786125464517846103133242455144513246620532123624162264513-3对于上表数据,算出Spearman秩相关系数为:r=1-6*(1+1+1+9)/(6*35)=0.6571图1 秩相关系数检验的临界值表上图为秩相关系数检验的临界值表。对相关系数r(-10.829,则样本之间存在相关性,反之则不存在显著相关性,若|r|0.943,则样本之间存在极显著相关性。程序:%将以下程序存为mySpearman.m文件%function coeff = mySpearman(X , Y) if length(X) = lengt。

3、h(Y) error(两个数值数列的维数不相等); return; end N = length(X); %得到序列的长度 Xrank = zeros(1 , N); %存储X中各元素的排行 Yrank = zeros(1 , N); %存储Y中各元素的排行 %计算Xrank中的各个值 for i = 1 : N cont1 = 1; %记录大于特定元素的元素个数 cont2 = -1; %记录与特定元素相同的元素个数 for j = 1 : N if X(i) X(j) cont1 = cont1 + 1; elseif X(i) = X(j) cont2 = cont2 + 1; end 。

4、end Xrank(i) = cont1 + mean(0 : cont2); end %计算Yrank中的各个值 for i = 1 : N cont1 = 1; %记录大于特定元素的元素个数 cont2 = -1; %记录与特定元素相同的元素个数 for j = 1 : N if Y(i) Y(j) cont1 = cont1 + 1; elseif Y(i) = Y(j) cont2 = cont2 + 1; end end Yrank(i) = cont1 + mean(0 : cont2); end %利用差分等级(或排行)序列计算斯皮尔曼等级相关系数 coeff = 1 - (6 。

5、* sum(Xrank - Yrank).2) /(N * (N2 - 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);Pearson相关系数(Pearson correlation coefficient)也叫皮尔森积差相关系数(Pearson product-moment correlation coefficient),是。

6、用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、用户喜好推荐系统中都有应用)。当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:(1)、两个变量之间是线性关系,都是连续数据。(2)、两个变量的总体是正态分布,或接近正态的单峰分布。(3)、两个变量的观测值是成对的,每对观测值之间相互独立。.%将以下程序存为myPearson.m文件%function coeff = myPearson(X , Y) % 本函数实现了皮尔逊相关系数的计算操作 if length(X) = length(Y) error(两个数值数列的维数不相。

7、等); 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; %X Y自己定义P=myPearson(X,Y);%matlab自带程序coeff=corr(X,Y);图1 秩相关系数检验的临界值表上图为秩相关系数检验的临界值表。对相关系数p(-1p1):A.当|p|越接近1则表示样本之间的相关程度越高;B.当|p|越接近0则表示样本之间的相关程度越低。得到Pearson相关系数p后与0.829比较。与上一个方式类似。


https://www.xamrdz.com/backend/36y1939812.html

相关文章: