斯皮尔曼相关(Spearman correlation)系数

一.相关定义

1.什么是秩相关系数

秩相关系数(Coefficient of Rank Correlation),又称等级相关系数,反映的是两个随机变量的的变化趋势方向和强度之间的关联,是将两个随机变量的样本值按数据的大小顺序排列位次,以各要素样本值的位次代替实际数据而求得的一种统计量。它是反映等级相关程度的统计分析指标,常用的等级相关分析方法有Spearman相关系数和Kendall秩相关系数等。

2.Spearman相关系数:也称为Spearman秩相关系数,是一种非参数的秩相关系数,用来衡量两个变量的依赖性。

二.进阶举例

1.基本步骤

  • 将每个变量的观测值转换为等级(秩)。
  • 计算每个变量的等级之间的差异。
  • 根据等级差异计算Spearman相关系数。

2.计算公式

3.数据特点

  • 取值范围 :Spearman相关系数的取值范围是 -1 到 1。
    • ρ=1:完全正相关。
    • ρ=−1:完全负相关。
    • ρ=0:无线性相关。
  • 适用范围:适用于非线性关系的评估,因为它衡量的是单调关系,而不仅仅是线性关系。

三.数据转化为等级

步骤 1: 排序

首先,将每个变量的数据按照数值大小进行排序。如果数值相同,则给它们相同的等级。

步骤 2: 分配等级

接着,给每个数据点分配一个等级。等级通常从1开始,对于相同的数值,可以采用以下两种常见的方法之一来分配等级:

方法 1: 平均等级(Average Rank)

如果两个或多个数值相同,则给它们分配相同的平均等级。例如,如果有两个数据点都排在第三位,则这两个点都被赋予等级3.5。

方法 2: 竞争排名(Competitive Rank)

另一种方法是给相同的数值分配连续的等级,然后取这些等级的平均值。例如,如果有两个数据点都排在第三位,则下一个数据点将排在第五位,前两个数据点则都取(3+4)/2 = 3.5作为等级。

步骤 3: 处理异常值

如果数据集中有缺失值或异常值,可以将其排除在等级分配之外,或者根据具体情况给它们分配最低或最高等级。

下面是一个具体的例子:

假设我们有以下原始数据:

cpp 复制代码
X: 3, 8, 4, 7, 2
步骤 1: 排序

首先,我们将数据按照大小排序:

cpp 复制代码
排序后的X: 2, 3, 4, 7, 8
步骤 2: 分配等级

然后,我们给每个数据点分配一个等级:

cpp 复制代码
等级X: 1, 2, 3, 4, 5

在这个例子中,所有数据都是唯一的,因此每个数据点都有一个唯一的等级。

cpp 复制代码
Y: 5, 10, 9, 6, 1

我们首先按照大小排序:

cpp 复制代码
排序后的Y: 1, 5, 6, 9, 10

然后分配等级:

cpp 复制代码
等级Y: 1, 2, 3, 4, 5

在这个例子中,所有数值也是唯一的,所以每个数值都有自己的等级。

处理相同数值的情况

如果有相同的数值,比如:

cpp 复制代码
Y: 5, 10, 9, 6, 5

排序后仍然是:

cpp 复制代码
排序后的Y: 5, 5, 6, 9, 10

现在我们使用平均等级的方法来分配等级:

cpp 复制代码
等级Y: 1.5, 1.5, 3, 4, 5

这里两个5的数值都得到了等级2,因此它们的平均等级是(1+2)/2 = 1.5。

四.Spss使用举例

如上表,相关系数为-0.712,P值(sig)小于0.05,相关系数有统计学意义,从而表示血红蛋白含量与贫血体征存在相关关系,而且是负相关,即贫血体征越严重,血红蛋白含量越低。

相关推荐
Linging_24几秒前
Spring AI Alibaba集成阿里云百炼大模型应用
人工智能·spring·阿里云
灏瀚星空5 分钟前
【深度学习基础】主流激活函数的核心原理、应用技巧与选择策略
人工智能·深度学习·机器学习
gyeolhada6 分钟前
2025蓝桥杯JAVA编程题练习Day8
java·数据结构·算法·蓝桥杯
AI360labs_atyun12 分钟前
使用 Whisper 生成视频字幕:从提取音频到批量处理
人工智能·科技·ai·whisper·音视频·教育
freyazzr14 分钟前
Leetcode刷题 | Day60_图论06
数据结构·c++·算法·leetcode·图论
广药门徒18 分钟前
OpenMV IDE 的图像接收缓冲区原理
前端·人工智能·python
AI technophile21 分钟前
OpenCV计算机视觉实战(6)——经典计算机视觉算法
opencv·算法·计算机视觉
qq_5845989223 分钟前
day30python打卡
开发语言·人工智能·python·算法·机器学习
zhangpeng45554794025 分钟前
C++--综合应用-演讲比赛项目
开发语言·c++·算法
鸢想睡觉32 分钟前
【OpenCV基础2】图像运算、水印、加密、摄像头
人工智能·opencv·计算机视觉