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

相关推荐
满分观察网友z7 分钟前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法
xiangduanjava11 分钟前
关于安装Ollama大语言模型本地部署工具
人工智能·语言模型·自然语言处理
YuTaoShao28 分钟前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
Heartoxx29 分钟前
c语言-指针(数组)练习2
c语言·数据结构·算法
zzywxc78731 分钟前
AI 正在深度重构软件开发的底层逻辑和全生命周期,从技术演进、流程重构和未来趋势三个维度进行系统性分析
java·大数据·开发语言·人工智能·spring
超龄超能程序猿34 分钟前
(1)机器学习小白入门 YOLOv:从概念到实践
人工智能·机器学习
大熊背43 分钟前
图像处理专业书籍以及网络资源总结
人工智能·算法·microsoft
满分观察网友z1 小时前
别怕树!一层一层剥开它的心:用BFS/DFS优雅计算层平均值(637. 二叉树的层平均值)
算法
江理不变情1 小时前
图像质量对比感悟
c++·人工智能
杰克尼2 小时前
1. 两数之和 (leetcode)
数据结构·算法·leetcode