斯皮尔曼相关系(Spearman‘s rank correlation coefficient)数理论及python代码

contents

  • 1. 引言
  • 2. 什么是斯皮尔曼相关系数
      • 基本原理
      • 计算方法
      • 值的范围和解释
      • 应用场景
  • 3. python应用案例
      • 案例:阅读习惯与写作技能评分的相关性分析
        • 数据构造
        • Python代码
      • 结果解释

1. 引言

让我用一个简单的方式来解释斯皮尔曼相关系数的计算方法。

想象你和你的朋友们在玩一个游戏,比如赛跑。在比赛结束后,每个人都根据跑得快慢得到一个排名,跑得最快的得第一名,其次是第二名,以此类推。

现在,假设我们还知道每个人在学校的成绩排名。我们想知道,跑步的快慢和学校成绩好坏是否有关系。也就是说,跑得快的人是不是在学校也学得好,或者跑得慢的人是不是学习也不那么好。

斯皮尔曼相关系数就是帮助我们找出这种关系的一个工具。它的计算方法有点像数学游戏:

  1. 排名差异:首先,我们看每个人在赛跑和学习上的排名有多少不同。比如,如果你在赛跑中是第一名,但在学习中是第三名,那么你的排名差异就是2。

  2. 计算差异的平方:然后,我们把每个人的排名差异乘以自己(也就是平方),比如刚才的2变成4。

  3. 加总和计算:我们把所有人的这些平方加起来,然后用一个特别的公式来计算最终的数字。这个公式考虑到了有多少人参加游戏,并且会根据我们加起来的总数做一些计算。

  4. 得到相关系数:最后,这个特别的公式会给我们一个介于-1到1之间的数字。如果这个数字接近1,就意味着跑得快的人通常学习也好;如果接近-1,就意味着跑得快的人学习可能不太好;如果是0,就说明赛跑速度和学习好坏之间没有什么关系。

就这样,通过一个有趣的数学游戏,我们可以知道两件事情之间是否有某种关联!

2. 什么是斯皮尔曼相关系数

斯皮尔曼相关系数(Spearman’s rank correlation coefficient)是用于衡量两个变量之间关系的统计指标,特别适用于非线性关系或非正态分布的数据。与皮尔逊相关系数不同,斯皮尔曼相关系数不是基于原始数据,而是基于数据的排名(rank)。

基本原理

  • 斯皮尔曼相关系数实际上是评估两个变量的排名之间关系的强度和方向。
  • 它不需要数据在数学上是连续或正态分布的,适用于定序尺度的数据。

计算方法

斯皮尔曼相关系数的计算涉及以下步骤:

  1. 对每个变量的每个值进行排名。
  2. 计算两个变量的排名之间的差异。
  3. 使用以下公式计算斯皮尔曼相关系数:

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 i d_i di 是两个变量的排名差异。
  • n n n 是数据点的数量。

值的范围和解释

  • 斯皮尔曼相关系数的值介于 -1 和 1 之间。
  • +1 表示完全正相关,排名完全匹配。
  • -1 表示完全负相关,一个排名升高时另一个排名降低。
  • 0 表示没有相关性。

应用场景

斯皮尔曼相关系数适用于以下情况:

  • 变量是非参数的或不符合正态分布。
  • 数据是等级(rank)或顺序的,例如调查问卷的等级响应。
  • 当你怀疑两个变量之间的关系可能是非线性的时。

例如,如果你想分析人们对电影的喜爱程度(通过等级排名)与其票房收入之间的关系,斯皮尔曼相关系数可能是一个合适的选择。

3. python应用案例

当然可以!我将提供一个简单的Python应用案例,其中使用斯皮尔曼相关系数来分析两个变量之间的关系。在这个例子中,我将构造一组数据来模拟学生的阅读习惯(每周阅读的小时数)与他们的写作技能评分之间的关系。

案例:阅读习惯与写作技能评分的相关性分析

假设我们有一组学生,我们记录了他们每周的阅读时间(小时)以及他们在写作技能评估中的得分。我们想要分析阅读时间和写作技能评分之间是否存在关系。

数据构造

我们构造10名学生的数据如下:

  • 每周阅读时间(小时): [2, 5, 3, 8, 6, 1, 4, 7, 9, 10]
  • 写作技能评分(分数): [60, 80, 65, 88, 85, 55, 70, 90, 95, 100]
Python代码

下面是使用Python计算斯皮尔曼相关系数的代码:

import pandas as pd
import scipy.stats as stats# 构造数据
data = {'Reading Hours': [2, 5, 3, 8, 6, 1, 4, 7, 9, 10],'Writing Scores': [60, 80, 65, 88, 85, 55, 70, 90, 95, 100]
}
df = pd.DataFrame(data)# 计算斯皮尔曼相关系数
spearman_corr = df.corr(method='spearman')
print("斯皮尔曼相关系数:\n", spearman_corr)# 另一种方法直接使用scipy
spearman_corr_value, _ = stats.spearmanr(df['Reading Hours'], df['Writing Scores'])
print("斯皮尔曼相关系数值:", spearman_corr_value)

这段代码首先构造了包含每周阅读时间和写作技能评分的数据集,然后使用Pandas的 corr 方法和SciPy的 spearmanr 函数来计算这两个变量之间的斯皮尔曼相关系数。

结果解释

运行这段代码后,你会得到一个介于-1到1之间的相关系数值。如果这个值接近1,那就表示每周的阅读时间和写作技能评分之间存在强正相关,即阅读时间越长,写作评分越高。如果这个值接近0,则表示两者之间没有明显的单调关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/197165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java后端技术演变杂谈(未完结)

1.0版本javaWeb:原始servletjspjsbc 早期的jsp:htmljava,页面先在后端被解析,里面的java代码动态渲染完成后,成为纯html,再通过服务器发送给浏览器显示。 缺点: 服务器压力很大,因为…

python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子

使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的示例。 一、PyQt6 实现的界面 二、TCP server代码的修改示意 界面提供网络参数的配置,以及提供人机交互过程中的数据获取和显示。 1、把上面的server代码封装成两个部分 A、class Server 负责接受UI界面…

公司来了个00后,我愿称之为王中王,让人崩溃

前几天我们公司一下子也来了几个新人,这些年前人是真能熬啊,本来我们几个老油子都是每天稍微加会班就打算走了,这几个新人一直不走,搞得我们也不好走。 2023年春招就要开始了,最近内卷严重,各种跳槽裁员&a…

生产制造中4种导致产品成本、库存核算差错的问题!(化工/化妆品/生物制剂/混凝土等行业ODOO)

在化工/化妆品/生物制剂/混凝土等行业,因为其生产物料及产成品大都以液体(或散颗粒)形态为主,多以重量为计数方式;且液体(或散颗粒)相较于固体的较大区别就是产品计数上变数较大,固体…

DSShop移动商城网店系统 反序列化RCE漏洞复现

0x01 产品简介 DSShop是长沙德尚网络科技有限公司推出的一款单店铺移动商城网店系统,能够帮助企业和个人快速构建手机移动商城,并减少二次开发带来的成本。 以其丰富的营销功能,精细化的用户运营,解决电商引流、推广难题,帮助企业打造生态级B2C盈利模式商业平台。完备的电商…

Clean 架构下的现代 Android 架构指南

Clean 架构下的现代 Android 架构指南 Clean 架构是 Uncle Bob 提出的一种软件架构,Bob 大叔同时也是 SOLID 原则的命名者。 Clean 架构图如下: 这张图描述的是整个软件系统的架构,而不是单体软件,其中至少包括服务端以及客户端…

从声纹模型到语音合成:音频处理 AI 技术前沿 | 开源专题 No.45

facebookresearch/audiocraft Stars: 16.6k License: MIT AudioCraft 是一个用于音频生成的 PyTorch 库。它包含了两个最先进的 AI 生成模型 (AudioGen 和 MusicGen) 的推理和训练代码,可以产生高质量音频。该项目还提供了其他功能: MusicGen&#xf…

MySQL笔记-第02章_MySQL环境搭建

视频链接:【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】 文章目录 第02章_MySQL环境搭建1. MySQL的卸载步骤1:停止MySQL服务步骤2:软件的卸载步骤3:残余文件的清理步骤4&am…

Appium:iOS部署

iOS部署 要部署Appium进行iOS自动化测试,需要遵循以下步骤: 1. 安装Node.js: 访问Node.js官网(https://nodejs.org/download/),根据您的操作系统和需求下载合适的版本。在Windows系统上,安装…

原生横向滚动条 吸附 页面底部

效果图 /** 横向滚动条 吸附 页面底部 */ export class StickyHorizontalScrollBar {constructor(options {}) {const { el, style } optionsthis.createScrollbar(style)this.insertScrollbar(el)this.setScrollbarSize()this.onEvent()}/** 创建滚轴组件元素 */createS…

WEB渗透—反序列化(十一)

Web渗透—反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩哔_…

问题集锦(一)

一、字符串常量池是什么?不同的JDK版本都分别位于哪个区域? 字符串常量池是Java语言中的一个特性,它是一个存储字符串常量的池子。字符串常量池的设计目的是为了减少重复的字符串对象,从而节约内存空间和提高程序性能。 在JDK1.…

Hadoop YARN组件

1. 请解释Yarn的基本架构和工作原理。 YARN,也被称为"Yet Another Resource Negotiator",是Apache HadoopYARN,也被称为"Yet Another Resource Negotiator",是Apache Hadoop的一部分,它被设计为一…

OWASP Web 安全测试指南-Web 应用程序安全测试

Web 应用程序安全测试 4.0 简介和目标 4.1 信息收集 4.2 配置和部署管理测试 4.3 身份管理测试 4.4 身份验证测试 4.5 授权测试 4.6 会话管理测试 4.7 输入验证测试 4.8 错误处理测试 4.9 弱密码测试 4.10 业务逻辑测试 4.11 客户端测试 4.0 简介和目标 本节介绍 O…

Python自动化测试web常见框架汇总

1、前言 目前,有非常多的Python框架,用来帮助你更轻松的创建web应用。这些框架把相应的模块组织起来,使得构建应用的时候可以更快捷,也不用去关注一些细节(例如socket和协议),所以需要的都在框…

金融帝国实验室(Capitalism Lab)V10版本新增崭新企业总部大楼

金融帝国实验室(Capitalism Lab)V10版本新增崭新企业总部大楼 ————————————— 【全新V10版本开发播报】 即将推出的V10版本将引入两座崭新的企业总部大楼!新大楼采用先进的现代化建筑设计,以取代旧的总部大楼。 ———…

[SHCTF 2023]——week1-week3 Web方向详细Writeup

Week1 babyRCE 源码如下 <?php$rce $_GET[rce]; if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\|\%|\>|\<|\|\"/i", $rce)) {system($rce);}else {echo "hhhhhhacker!!!".&…

代码随想录二刷 | 字符串 |重复的子字符串

代码随想录二刷 &#xff5c; 字符串 &#xff5c;重复的子字符串 题目描述解题思路 & 代码实现移动匹配KMP算法 题目描述 459.重复的子字符串 给定一个非空的字符串 s &#xff0c;检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s “abab” 输出: tru…

力扣二叉树--第三十八天

前言 后面几天准备期末考试&#xff0c;要断更了。8号or 9号再开始。 内容 一、二叉搜索树中的众数 501. 二叉搜索树中的众数 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c…

XC4060 40V降5V/3.3V 0.6A小电流高耐压芯片 适用于单片机供电输出、电池供电设备

XC4060器件是高效率&#xff0c;同步降压DC/DC稳压器。具有较宽的输入范围&#xff0c;它们适用于广泛的应用&#xff0c;例如来自非稳压源的功率调节。他们的特点是一个长距离(500mQ/300mQ2型) 内部开关的效率最高 (92%)。Sum od (非A选项)和PWM模式(A选项)&#xff0c;工作频…