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

相关推荐
jndingxin3 分钟前
OpenCV 图形API(或称G-API)(1)
人工智能·opencv·计算机视觉
Phoebe鑫5 分钟前
数据结构每日一题day9(顺序表)★★★★★
数据结构·算法
烁34731 分钟前
每日一题(小白)动态规划篇2
算法·动态规划
南玖yy1 小时前
数据结构C语言练习(栈)
c语言·数据结构·算法
神马行空1 小时前
一文解读DeepSeek大模型在政府工作中具体的场景应用
人工智能·大模型·数字化转型·deepseek·政务应用
合合技术团队1 小时前
实测对比|法国 AI 独角兽公司发布的“最强 OCR”,实测效果如何?
大数据·人工智能·图像识别
阿镇吃橙子1 小时前
一些手写及业务场景处理问题汇总
前端·算法·面试
酱酱哥玩AI1 小时前
Trae编译器:实现多目标班翠鸟优化算法(IPKO)无人机路径规划仿真(Python版),完整代码
算法
蒹葭苍苍8731 小时前
LoRA、QLoRA微调与Lama Factory
人工智能·笔记
蹦蹦跳跳真可爱5891 小时前
Python----机器学习(基于PyTorch的线性回归)
人工智能·pytorch·python·机器学习·线性回归