统计学三大相关系数之斯皮尔曼(spearman)相关系数

2023-10-21 05:18

本文主要是介绍统计学三大相关系数之斯皮尔曼(spearman)相关系数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

斯皮尔曼相关性系数,通常也叫斯皮尔曼秩相关系数。“秩”,可以理解成就是一种顺序或者排序,那么它就是根据原始数据的排序位置进行求解,这种表征形式就没有了求皮尔森相关性系数时那些限制。下面来看一下它的计算公式:

 

统计学之三大相关性系数(pearson、spearman、kendall)
计算过程就是:首先对两个变量(X, Y)的数据进行排序,然后记下排序以后的位置(X’, Y’),(X’, Y’)的值就称为秩次,秩次的差值就是上面公式中的di,n就是变量中数据的个数,最后带入公式就可求解结果。举个例子吧,假设我们实验的数据如下:

 

统计学之三大相关性系数(pearson、spearman、kendall)
带入公式,求得斯皮尔曼相关性系数:ρs= 1-6*(1+1+1+9)/6*35=0.657

而且,即便在变量值没有变化的情况下,也不会出现像皮尔森系数那样分母为0而无法计算的情况。另外,即使出现异常值,由于异常值的秩次通常不会有明显的变化(比如过大或者过小,那要么排第一,要么排最后),所以对斯皮尔曼相关性系数的影响也非常小!

python代码实现:

import pandas as pd
df = pd.DataFrame({'A':[5,91,3],'B':[90,15,66],'C':[93,27,3]})
print(df.corr())
print(df.corr('spearman'))
print(df.corr('kendall'))
df2 = pd.DataFrame({'A':[7,93,5],'B':[88,13,64],'C':[93,27,3]})
print(df2.corr())
print(df2.corr('spearman'))
print(df2.corr('kendall'))

spearman相关系数和pearson相关系数选择:

1.连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用spearman相关系数也可以,
  就是效率没有pearson相关系数高。
2.上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
3.两个定序测量数据之间也用spearman相关系数,不能用pearson相关系数。

参考:https://blog.csdn.net/qq_30138291/article/details/79801777

http://blog.sina.com.cn/s/blog_69e75efd0102wmd2.html

这篇关于统计学三大相关系数之斯皮尔曼(spearman)相关系数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

说一说三大运营商的流量类型,看完就知道该怎么选运营商了!

说一说三大运营商的流量类型,看完就知道该怎么选运营商了?目前三大运营商的流量类型大致分为通用流量和定向流量,比如: 中国电信:通用流量+定向流量 电信推出的套餐通常由通用流量+定向流量所组成,通用流量比较多,一般都在100G以上,而且电信套餐长期套餐较多,大多无合约期,自主激活的卡也是最多的,适合没有通话需求的朋友办理。 中国移动:通用流量+定向流量 移动推出的套餐通常由通用流量+定向

深入解析Java的三大特性(下)

深入解析Java的三大特性(下) 在上一篇文章中,我们详细介绍了Java的三大特性之一——封装的概念、实现方式及其优点。本文将继续探讨Java的另两大特性:继承和多态。 2. 继承(Inheritance) 2.1 什么是继承 继承是面向对象编程中的一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以复用父类的代码,减少重复代码的编写,并且可以扩展和重写父

C++面向对象三大特性--多态

C++面向对象三大特性–多态 文章目录 C++面向对象三大特性--多态1.虚函数(Virtual Function)2.纯虚函数(Pure Virtual Function)和抽象类(Abstract Class)3.重写(Override)4.动态绑定(Dynamic Binding)或迟绑定(Late Binding)5.虚析构函数和纯虚析构5.1虚析构函数5.2纯虚析构函数5.3总结

支撑编程理论的三大思想②简洁

是什么 对代码而言,简洁就是消除了"多余的复杂性"后的状态。这里所说的“多余的复杂性”不是反映了目标(代码要达成的目的)复杂程度的复杂性,而是指在修改代码的过程中遗留下来的痕迹所带来的复杂性。 为什么 “多余的复杂性”不具有任何价值。这类复杂性会阻碍代码正常运行,提高修改代码的难度,损害软件的价值。它会给代码埋下祸根。 消除“多余的复杂性”可以让代码变得简洁。这样一来,阅读、使用、修改代码

支撑编程理论的三大思想①交流

是什么 代码也是一种给人看的文档,而文档的本质在于交流。 在编程中,良好的交流意味着读代码人能够理解、修改和使用代码。 为什么 顺利的开发源于顺利的交流。 软件开发大部分成本是在完成以后产生的,这部分就是维护成本。 要想节约成本,就要提高代码的可读性。这是因为程序员之间是需要通过代码进行交流。读代码的时间要多余写代码的时间。 另外,在开发阶段程序员也要一边回顾前面的代码,一边写新代码

【MySQL 的三大日志的作用】

在管理MySQL数据库时,了解和区分数据库使用的三大日志类型至关重要。这些日志对于确保数据的完整性、提供恢复机制以及维持数据库的稳定性发挥着关键作用。最主要还是小豆前段时间去参加面试被问到了这些内容,下面将详细讨论Redo Log、Binlog和Undo Log的异同。 Redo Log(重做日志) 作用:Redo Log主要用于保证事务的持久性和数据库的崩溃恢复能力。当数据库发生崩溃时,

三大主流开源 NoSQL 数据库和两大主流传统 SQL 数据库对比

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,对比 类别HBaseMongoDBMySQLOracleRedis描述基于 Apache Hadoop 并提供 BigTable 能力的列存储最受欢迎的文档存储数据库之一广泛使用的开源 RDBMS广泛使用的 RDBMS内存中的数据结构存储,被用作数据库,缓存以及消息中间件普及度等级(参考下文的趋势图)

IA的统计学基础:深入解析与实践应用

IA的统计学基础:深入解析与实践应用 在数据泛滥的信息化时代,统计学作为解读数据语言的关键工具,对于任何希望从数据中提取价值的专业人士来说都是必修课。本文将从统计学的基本概念入手,深入探讨其技术细节,并展示如何将这些技术应用于实际问题解决中。 统计学的定义与重要性 统计学是数据分析的科学,它提供了一套量化数据特征、建模数据关系和做出推断决策的方法。统计学的应用遍及科学研究、工业生产、经济管理

odoo 出库发票三大凭证

销售一般有三张凭证 库存计价凭证 库存计价凭证,又称为存货计价凭证或库存评估凭证,在会计和企业资源规划(ERP)系统中,特别是如Odoo这样的系统中,是指记录库存商品成本变动的会计凭证。这些变动通常涉及到采购入库、销售出库、库存调整、成本重估等活动,其核心目的是准确反映企业库存资产的价值变化,确保财务报表的准确性。以下是库存计价凭证几个关键方面的解释: 成本计算方法: 库存计价涉及多种成本计

KVB交易平台:国内三大交易所(上海、深圳、北京)的概要与分析

概述: 上海证券交易所(上交所)、深圳证券交易所(深交所)和北京证券交易所(北交所)是中国大陆三大主要证券交易所。以下是对这三个交易所的比较分析:  一、基本概况 1. 上海证券交易所(上交所)    - 成立时间:1990年12月19日    - 地点:上海    - 主要功能:上交所主要服务于大型企业,是中国大陆最早成立的证券交易所之一。其主要市场包括主板市场和科创板。