功能性模块:(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σrgYcov(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=1n(n21)6di2

其中 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之间的区别)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390984

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字