机器学习数学基础:32.斯皮尔曼等级相关
斯皮尔曼等级相关教程
一、定义与原理
斯皮尔曼等级相关系数(Spearman’s rank - correlation coefficient),常用 ρ \rho ρ表示,是一种非参数统计量,用于衡量两个变量的等级之间的关联程度。它基于变量的秩次(排序后的位置)进行计算,不依赖于数据的分布形态,能有效处理非线性关系和非数值型的有序数据。取值范围在 − 1 -1 −1到 1 1 1之间, ρ = 1 \rho \ = 1 ρ =1表示完全正相关,即一个变量的等级增加时,另一个变量的等级也严格增加; ρ = − 1 \rho \ = - 1 ρ =−1表示完全负相关; ρ = 0 \rho \ = 0 ρ =0表示不存在等级相关关系。
二、适用场景
- 数据为定序数据:如比赛名次、成绩等级、满意度排序等,例如分析不同餐厅在美食评选中的排名和顾客推荐率排名的关系。
- 数据分布未知或不满足正态分布:当无法确定数据是否服从正态分布,或者明确知道数据不服从正态分布时,斯皮尔曼等级相关系数是很好的选择。
- 变量间为非线性关系:只要两个变量之间存在单调变化趋势(不一定是线性),都可以用它来衡量相关性,比如植物生长时间和植株高度的关系(可能是先慢后快再趋于平稳的非线性增长) 。
三、计算步骤
斯皮尔曼等级相关系数计算
- 数据排序:分别对两个变量的数据进行排序,确定每个数据在各自变量中的等级。若存在相同数值,通常取平均等级。例如,有三个数据 3 3 3, 3 3 3, 5 5 5,它们的等级分别为 1.5 1.5 1.5( ( 1 + 2 ) ÷ 2 (1 + 2)\div2 (1+2)÷2), 1.5 1.5 1.5, 3 3 3。
- 计算等级差:对于每一对数据,计算它们的等级差 d i d_{i} di。
- 计算等级差的平方:得到 d i 2 d_{i}^{2} di2,并对所有的 d i 2 d_{i}^{2} di2求和,得到 ∑ d i 2 \sum d_{i}^{2} ∑di2。
- 计算相关系数:根据公式 ρ = 1 − 6 ∑ d i 2 n 3 − n \rho \ = 1-\frac{6\sum d_{i}^{2}}{n^{3}-n} ρ =1−n3−n6∑di2( n n n为样本数量)计算斯皮尔曼等级相关系数。
t检验步骤
- 建立假设
- 原假设 H 0 H_0 H0:总体的斯皮尔曼等级相关系数 ρ = 0 \rho \ = 0 ρ =0,即总体中两个变量之间不存在等级相关关系。
- 备择假设 H 1 H_1 H1:总体的斯皮尔曼等级相关系数 ρ ≠ 0 \rho\neq 0 ρ=0,即总体中两个变量之间存在等级相关关系。
- 计算t统计量:在斯皮尔曼等级相关的t检验中,可使用公式 t = r R n − 2 1 − r R 2 t\ =\frac{r_{R}\sqrt{n - 2}}{\sqrt{1 - r_{R}^{2}}} t =1−rR2rRn−2(这里 r R r_{R} rR表示计算得到的斯皮尔曼等级相关系数, n n n为样本数量)。此公式与积差相关系数(如Pearson相关系数)检验中t统计量的计算形式相同,这样做是因为在一定条件下,基于等级数据计算出的相关系数的抽样分布近似于t分布。
- 确定临界值:根据给定的显著性水平 α \alpha α(常用的有 0.05 0.05 0.05、 0.01 0.01 0.01等)和自由度 d f = n − 2 df \ = n - 2 df =n−2,查阅 t t t分布表得到临界值 t α / 2 ( n − 2 ) t_{\alpha/2}(n - 2) tα/2(n−2)。
- 做出决策
- 如果 ∣ t ∣ > t α / 2 ( n − 2 ) \vert t\vert>t_{\alpha/2}(n - 2) ∣t∣>tα/2(n−2),则拒绝原假设 H 0 H_0 H0,认为总体中两个变量之间存在等级相关关系。
- 如果 ∣ t ∣ ≤ t α / 2 ( n − 2 ) \vert t\vert\leq t_{\alpha/2}(n - 2) ∣t∣≤tα/2(n−2),则不能拒绝原假设 H 0 H_0 H0,即没有足够证据表明总体中两个变量之间存在等级相关关系。
四、实例演示
斯皮尔曼等级相关系数计算实例
研究 6 6 6名学生的语文成绩排名和英语成绩排名的相关性,数据如下:
| 学生编号 | 语文成绩排名 X X X | 英语成绩排名 Y Y Y | d i d_{i} di(等级差) | d i 2 d_{i}^{2} di2(等级差的平方) |
|---|---|---|---|---|
| 1 | 2 | 3 | -1 | 1 |
| 2 | 4 | 2 | 2 | 4 |
| 3 | 1 | 1 | 0 | 0 |
| 4 | 3 | 4 | -1 | 1 |
| 5 | 5 | 5 | 0 | 0 |
| 6 | 6 | 6 | 0 | 0 |
计算 ∑ d i 2 = 1 + 4 + 0 + 1 + 0 + 0 = 6 \sum d_{i}^{2}\ =1 + 4+0 + 1+0 + 0 \ = 6 ∑di2 =1+4+0+1+0+0 =6, n = 6 n \ = 6 n =6。
代入公式可得:
ρ = 1 − 6 × 6 6 3 − 6 = 1 − 36 216 − 6 = 1 − 36 210 ≈ 0.83 \begin{align*} \rho&\ =1-\frac{6\times6}{6^{3}-6}\\ &\ =1-\frac{36}{216 - 6}\\ &\ =1-\frac{36}{210}\\ &\approx0.83 \end{align*} ρ =1−63−66×6 =1−216−636 =1−21036≈0.83
结果表明,这 6 6 6名学生的语文和英语成绩排名有较强的正相关关系。
t检验实例
针对上述例子,假设显著性水平 α = 0.05 \alpha \ = 0.05 α =0.05。
- 已知 r R ≈ 0.83 r_{R} \approx 0.83 rR≈0.83, n = 6 n \ = 6 n =6,计算 t t t统计量:
t = 0.83 6 − 2 1 − 0.8 3 2 = 0.83 × 2 1 − 0.6889 = 1.66 0.3111 ≈ 2.97 \begin{align*} t&\ =\frac{0.83\sqrt{6 - 2}}{\sqrt{1 - 0.83^{2}}}\\ &\ =\frac{0.83\times2}{\sqrt{1 - 0.6889}}\\ &\ =\frac{1.66}{\sqrt{0.3111}}\\ &\approx2.97 \end{align*} t =1−0.8320.836−2 =1−0.68890.83×2 =0.31111.66≈2.97 - 自由度 d f = n − 2 = 6 − 2 = 4 df \ = n - 2 \ = 6 - 2 \ = 4 df =n−2 =6−2 =4,查 t t t分布表得 t 0.025 ( 4 ) = 2.776 t_{0.025}(4)\ = 2.776 t0.025(4) =2.776。
- 因为 ∣ 2.97 ∣ > 2.776 \vert 2.97\vert> 2.776 ∣2.97∣>2.776,所以拒绝原假设 H 0 H_0 H0,可以认为在总体中,学生的语文成绩排名和英语成绩排名之间存在等级相关关系。
五、注意事项
- 只反映等级相关:它衡量的是变量等级之间的关联,并非原始数据值之间的精确关系。
- 对单调关系敏感:只能检测单调的相关关系,若变量间关系复杂非单调,可能无法准确反映相关性。
- 样本数量影响:样本数量过少可能导致结果不稳定,一般建议样本量 n ≥ 10 n\geq 10 n≥10 。
- t检验前提:虽然斯皮尔曼等级相关的t检验形式与积差相关类似,但在使用时要注意其基于等级数据的特点,以及样本数据对近似t分布条件的满足程度。当样本量较小时,t检验结果的准确性可能会受到一定影响。
相关文章:
机器学习数学基础:32.斯皮尔曼等级相关
斯皮尔曼等级相关教程 一、定义与原理 斯皮尔曼等级相关系数(Spearman’s rank - correlation coefficient),常用 ρ \rho ρ表示,是一种非参数统计量,用于衡量两个变量的等级之间的关联程度。它基于变量的秩次&…...
【AI-39】深度学习框架包含哪些内容
深度学习框架(如 PyTorch、TensorFlow)是用于构建和训练神经网络的工具,它们提供了底层的计算库、优化算法、张量操作等功能。而transformers库是基于这些深度学习框架构建的高级库,它封装了许多预训练模型和相关的工具࿰…...
uniapp h5支付宝支付
第1种,创建个div插入到body中 const div document.createElement(div); div.innerHTML 后端返回的form表单字符串; document.body.appendChild(div); document.forms[0].submit(); div.remove(); 第2种 <template> <view v-html"formAliPay"…...
探索YOLO技术:目标检测的高效解决方案
第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络(附代码) 第五章࿱…...
vmware虚拟机安装使用教程【视频】
vmware虚拟机安装使用教程【视频】 VMware是一款强大的桌面级虚拟化软件,它允许用户在单个计算机上同时运行多个操作系统,每个操作系统都被称为一个虚拟机(VM)。这种技术不仅方便了软件测试、系统开发,还便于资源管理&…...
2025系统架构师(一考就过):案例之三:架构风格总结
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,按照软件架构风格,物联网系统属于( )软件架构风格。 A:层次型 B:事件系统 C:数据线 D:C2 答案:A 解析: 物联网分为多个层次࿰…...
渗透测试实验
1、seacmsv9注入管理员密码 获取管理员账号(name) http://www.test2.com/comment/api/index.php?gid1&page2&rlist[]%27,%20extractvalue(1,%20concat_ws(0x20,%200x5c,(select%20(name)from%20sea_admin))),%27 2、获取管理员密码 http://www…...
CCA社群共識聯盟正式上線
2025年2月25日——BAF區塊鏈產業聯盟基金會旗下的CCA社群共識聯盟業務於今日正式全網啟動。作為區塊鏈行業的創新平台,CCA社群共識聯盟秉承誠信、公平、共贏的核心原則,致力於為全球社群夥伴打造一個更加開放、透明與高效的合作生態,推動區塊鏈產業的健康發展。 創新平台,助力…...
京东-零售-数据研发面经【附答案】
近期,有参加春招的同学和我交流了他的面试历程,我针对这些内容进行了细致的总结与梳理,并在此分享出来,希望能助力大家学习与借鉴。 1.八股文 1)HashMap的底层原理是什么【见V6.0面试笔记 Java基础部分第19题】 2&am…...
python中的JSON数据格式
文章目录 什么是json主要功能Python数据和Json数据的相互转化 什么是json JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据。JSON本质上是一个带有特定格式的字符串。 主要功能 json就是一种在各个编程语言中流通的数据格式,负责不同编…...
ubuntu+aarch64+dbeaver安装【亲测,避坑】
一:访问 Oracle JDK,下载jdk-11.0.26_linux-aarch64_bin.tar.gz 二:解压 tar -xvzf jdk-11.0.20_linux-x64_bin.tar.gz三:将解压后的 JDK 文件夹移动到 /usr/lib/jvm 目录 sudo mv jdk-11.0.26 /usr/lib/jvm/四:进入…...
Java 大视界 -- 基于 Java 的大数据机器学习模型压缩与部署优化(99)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
vscode中使用PlatformIO创建工程加载慢
最近使用vscodeplatformIO开发esp32s3,第一次创建工程时加载速度很慢,查询资料解决问题,特此记录。 1.新建环境变量pyhton 此电脑-属性-高级系统设置中(直接搜索高级系统设置也行),添加系统变量ÿ…...
微信小程序数据绑定与事件处理:打造动态交互体验
在上一篇中,我们学习了如何搭建微信小程序的开发环境并创建了一个简单的“Hello World”页面。然而,一个真正的小程序不仅仅是静态内容的展示,它需要与用户进行动态交互。本文将深入探讨微信小程序中的数据绑定和事件处理机制,通过…...
力扣 下一个排列
交换位置,双指针,排序。 题目 下一个排列即在组成的排列中的下一个大的数,然后当这个排列为降序时即这个排列最大,因为大的数在前面,降序排列的下一个数即升序。所以,要是想找到当前排列的下一个排列&…...
JavaWeb 学习笔记
前端基础 HTML-CSS <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0…...
Linux7-线程
一、前情回顾 chdir();功能: 函数用于改变当前进程的工作目录。 参数:路径(Path):这是一个字符串参数,表示要切换到的目标目录的路径。 返回值: 成功:在成功改变当前工作目…...
在线VS离线TTS(语音合成芯片)有哪些优势-AIOT智能语音产品方案
离线 TTS 存在语音质量欠佳、音色选择有限、语言支持单一更新困难、占用资源多、适应性差、难以个性化定制等痛点 01更新维护困难 由于是离线模式,难以及时获取最新的语音数据和算法更新,无法得到持续改进。 02占用本地资源 需要在设备本地存储较大的…...
结构型模式 - 代理模式 (Proxy Pattern)
结构型模式 - 代理模式 (Proxy Pattern) 代理模式是一种结构型设计模式,它允许通过代理对象来控制对另一个对象(目标对象)的访问。代理对象充当目标对象的接口,客户端通过代理对象间接访问目标对象。 分为两大类 静态代理&#…...
el-select滚动获取下拉数据;el-select滚动加载
el-select下拉获取数据 1.解决问题2.封装MyScrollSelect组件3.使用MyScrollSelect组件 1.解决问题 场景:下拉数据量过大,后端提供一个分页查询接口;需要每次滚动加载下一页的下拉数据 且单选的状态,需要支持回显,通过n…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
