机器学习数学基础: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…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...