功能性模块:(10)Spearman‘s rank correlation coefficient的简单理解(含与PCC之间的区别)

编程入门 行业动态 更新时间:2024-10-09 14:20:00

功能性<a href=https://www.elefans.com/category/jswz/34/1771428.html style=模块:(10)Spearman‘s rank correlation coefficient的简单理解(含与PCC之间的区别)"/>

功能性模块:(10)Spearman‘s rank correlation coefficient的简单理解(含与PCC之间的区别)

Spearman’s rank correlation coefficient的简单理解

1. 背景

在统计学中,斯皮尔曼等级相关系数(Spearman’s rank correlation coefficient, 或者Spearman’s ρ \rho ρ, 通常使用 ρ \rho ρ或者 r s r_s rs​来表示),是一个等级相关性的非参数度量(两个变量等级之间的统计相关性)。这个相关系数使用单调函数来描述两个变量之间的关系程度。

如果两个变量的Spearman correlation和Pearson correlation相等,Person correlation评估两组变量的线性关系,Spearman correlation评估的是两组变量的单调性关系(无论是否线性)。如果没有重复的数据值,每个变量都是另外一个变量的完美单调函数时,会出现+1或者-1的完美Spearman correlation。

直观上来看,如果两个变量之间具有相似的等级(或者换句话说完全相同的等级,那么相关性就为1),相似的情况下相关性也会比较高,如果两个变量具有不同的等级(或者完全相反的情况下,那么相关性就为-1),相关性就会非常低。

那么Spearman’s coefficient适用于连续序数变量或者离散序数变量的相关性表示

2.定义

Spearman’s rank correlation coefficient被定义成等级变量之间的Pearson coefficient。

对于样本容量为n的样本,将n个原始数据 X i X_i Xi​, Y i Y_i Yi​转换成等级数据 r g X i rg_{X_i} rgXi​​, r g Y i rg_{Y_i} rgYi​​,并且 r s r_s rs​可以按照如下的公式进行计算

r s = ρ r g X i , r g Y i = c o v ( r g X , r g Y ) σ r g X σ r g Y r_s =\rho_{rg_{X_i},rg_{Y_i}}=\frac{cov(rg_X, rg_Y)}{\sigma_{rg_X}\sigma_{rg_Y}} rs​=ρrgXi​​,rgYi​​​=σrgX​​σrgY​​cov(rgX​,rgY​)​

其中 ρ \rho ρ表示的是Pearson correlation coefficient(PCC),但是使用的变量是转换成等级后的变量。
c o v ( r g X , r g Y ) cov(rg_X, rg_Y) cov(rgX​,rgY​)是转换成等级变量之间的协方差

σ r g X \sigma_{rg_X} σrgX​​, σ r g Y \sigma_{rg_Y} σrgY​​是转换成等级变量后的标准差

只有当所有n个等级都是不同的整数是,才可以使用下面的公式进行计算
r s = 1 − 6 ∑ d i 2 n ( n 2 − 1 ) r_s=1-\frac {6\sum{d_i^2}}{n(n^2-1)} rs​=1−n(n2−1)6∑di2​​

其中 d j = r g ( X i ) − r g ( Y i ) d_j=rg(X_i)-rg(Y_i) dj​=rg(Xi​)−rg(Yi​)是两个变量值等级之间的差异

3.代码实现

很简单的代码实现

def ComputeRs(a, b):aa = np.column_stack((a, b))# rank的方式有很多种,这里使用的average的方式aa_ranked = np.apply_along_axis(stats.rankdata, 0, aa)rs = np.corrcoef(aa_ranked, rowvar=0)return rs[1, 0]

4. Spearman‘s rank correlation coefficient 与Pearson Correlation coeffiicient的区别

最主要的区别是:

  • Pearson Correlation coeffiicient是关注的两组数据的线性相关性
  • Spearman‘s rank correlation coefficient 是关注两组数据的单调性,换句话说是两组数据的趋势

4.1 线性正相关

4.2 线性负相关

4.3 非线性函数(Sigmoid)


可以看到Spearman还是相关性几乎为+1

4.4 非线性函数(二次函数)

4.5 随机数

4.6 异常值


总结,从4.6上可以看出,一旦数据存在异常值,那么Spearman‘s rank correlation coefficient的鲁棒性会更好一些。

更多推荐

功能性模块:(10)Spearman‘s rank correlation coefficient的简单理解(含与PCC之间的区别)

本文发布于:2024-03-23 19:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741853.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模块   区别   简单   功能   PCC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!