斯皮尔曼相关(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,相关系数有统计学意义,从而表示血红蛋白含量与贫血体征存在相关关系,而且是负相关,即贫血体征越严重,血红蛋白含量越低。

相关推荐
2601_967987375 小时前
SVM支持向量机通俗解析:找到机器学习的“最优分界线”
机器学习·svm·分类算法·核函数·最大间隔
墨林陌5 小时前
AI 热点日报(2026-11-13):黄仁勋辞任英伟达CEO,百度发智能组织,SpaceX斥740亿建算力
人工智能
希望我万事顺遂5 小时前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
喵了几个咪5 小时前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
开发语言·人工智能·后端·golang
aneasystone本尊5 小时前
学习大模型训练的 DPO 与 GRPO:偏好对齐的简化与进化
人工智能
BYSJMG5 小时前
计算机毕业设计选题推荐|【基于深度学习的电梯电动车违规进入检测研究】YOLO26m+可视化大屏
人工智能·深度学习·神经网络·目标检测·机器学习·计算机视觉·课程设计
꧁细听勿语情꧂5 小时前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法
盼小辉丶5 小时前
PyTorch强化学习实战(35)——多智能体强化学习
人工智能·pytorch·深度学习·强化学习