相关系数pearson、spearman、kendall和R语言中的cor/or.test()

article/2025/9/20 11:10:05

相关系数pearson、spearman、kendall和R语言中的cor/cor.test

        • 1. 相关系数pearson、spearman、kendall
        • 2. R语言cor函数和cor.test函数

1. 相关系数pearson、spearman、kendall

Pearson相关系数很简单,是用来衡量两个数据集的线性相关程度;而Spearman相关系数不关心两个数据集是否线性相关,而是单调相关,Spearman相关系数也称为等级相关或者秩相关(即rank);kendall相关系数是分类相关。

在这里插入图片描述

Pearson相关系数要求统计资料要是连续型变量,并且符合正态分布,而Spearman相关系数没有这个要求;Pearson相关系数在出现奇异值,或者长尾分布的时候稳定性差,不太靠,而Spearman要相对稳健很多。

require(gridExtra)
set.seed(1234)a <- sample(100:130, 30)
b <- sample(100:130, 30)
df <- data.frame(a, b)
# 画散点图,线性拟合
p1 <- ggplot(df, aes(x=a, y=b)) + geom_smooth(method="lm") + geom_point() + xlim(0, 140) + ylim(0, 140)
# 计算Pearson和Spearman相关系数
cor.test(a, b, method="pearson")
cor.test(a, b, method="spearman")a1=append(a,0)
b1=append(b,0)
length(b1)
df2 <- data.frame(a1, b1)
# 画散点图,线性拟合
p2 <- ggplot(df2, aes(x=a1, y=b1)) + geom_smooth(method="lm") + geom_point() + xlim(0, 140) + ylim(0, 140)cor.test(a1, b1, method="pearson")
cor.test(a1, b1, method="spearman")grid.arrange(p1,p2,ncol=2)

在这里插入图片描述
结果如下,由此可见,pearson方法确实对离群值不稳健,在本数据中没有spearman好。

> cor(a,b,method = "pearson")
[1] 0.02579568
> cor(a,b,method = "spearman")
[1] 0.01668521
> cor(a1,b1,method = "pearson")
[1] 0.8419337
> cor(a1,b1,method = "spearman")
[1] 0.108871

对于kendall相关系数,适用于分类变量:
参考:
https://baike.baidu.com/item/kendall%E7%A7%A9%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0/6246854
在这里插入图片描述

2. R语言cor函数和cor.test函数

二者功能基本相同,只不过cor.test给出更详细的结果,此外cor.test不能使用矩阵cor可以一次性计算矩阵两两相似性

关于cor和cor.test中的method可选择不同的相关系数计算方法,另一个参数 use 也存在几种可选,可详细查看选择自己需要的mode。(参考最后一个链接)

参考:
https://byteofbio.com/archives/16.html (spearman 和pearson实例,代码来源)
https://zhuanlan.zhihu.com/p/33465271 (表格来源)
https://baike.baidu.com/item/kendall%E7%A7%A9%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0/6246854 (kendall相关系数)
https://www.jianshu.com/p/6b9265bce085 (cor use参数讲解)


http://chatgpt.dhexx.cn/article/Ka0be4oc.shtml

相关文章

皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)

概念介绍 相关系数&#xff1a;考察两个事物&#xff08;在数据里我们称之为变量&#xff09;之间的相关程度。 相关系数大小解释 相关性绝对值无相关0 - 0.09弱相关0.1 - 0.3中相关0.3 - 0.5强相关0.5 - 1 表中所定的标准从某种意义上说是武断的和不严格的。 对相关系数的解…

3.1 相关系数(person与spearman)

1.1总体皮尔逊&#xff08;person&#xff09;相关系数&#xff1a; 在概率论与数理统计中我们学到&#xff0c;若两组数据X{x1&#xff0c;x2…xn}与Y{y1&#xff0c;y2…yn}为总体数据&#xff0c;则总体协方差为 它表示两个变量的总体误差&#xff0c;若XY相对于各自均值同…

斯皮尔曼相关(spearman)系数法

在分析指标与指标、指标与研究对象的影响程度时&#xff0c;很多时候会用到相关系数法&#xff0c;下面介绍一下斯皮尔曼相关系数法。 斯皮尔曼等级相关是根据等级资料研究两个变量间相关关系的方法。它是依据两列成对等级的各对等级数之差来进行计算的&#xff0c;斯皮尔曼等级…

Spearman 相关性分析法,以及python的完整代码应用

Spearman 相关性分析法 简介 Spearman 相关性分析法是一种针对两个变量之间非线性关系的相关性计算方法&#xff0c;同时&#xff0c;它不对数据的分布进行假设。该方法的基本思想是将两个&#xff08;也可以多个&#xff09;变量的值进行排序&#xff0c;并计算它们之间的等…

统计学三大相关系数之斯皮尔曼(spearman)相关系数

斯皮尔曼相关性系数&#xff0c;通常也叫斯皮尔曼秩相关系数。“秩”&#xff0c;可以理解成就是一种顺序或者排序&#xff0c;那么它就是根据原始数据的排序位置进行求解&#xff0c;这种表征形式就没有了求皮尔森相关性系数时那些限制。下面来看一下它的计算公式&#xff1a;…

相关系数(皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数)

目录 总体皮尔逊Person相关系数&#xff1a; 样本皮尔逊Person相关系数&#xff1a; 两点总结&#xff1a; 假设检验&#xff1a;&#xff08;可结合概率论课本假设检验部分&#xff09; 皮尔逊相关系数假设检验&#xff1a; 更好的方法&#xff1a;p值判断方法 皮尔逊相…

三大统计学相关系数(pearson、kendall、spearman)

一、皮尔逊相关系数 前边文章讲了很多了&#xff0c;这里不详细讲了&#xff0c;想了解的可以看这篇。 相似度计算&#xff08;2&#xff09;——皮尔逊相关系数 适用范围&#xff1a; 当两个变量的标准差都不为零时&#xff0c;相关系数才有定义&#xff0c;皮尔逊相关系数适…

Pearson相关系数和Spearman相关系数的区别

Pearson相关系数和Spearman相关系数的区别 1、协方差、相关系数2、Pearson相关系数3、Spearman相关系数3.1 定义3.2 什么时候用 4、两者的区别点4.1 线性相关与单调相关4.2 前提假设不同4.3 变量正态分布与否 5、实例展示6、参考资料 参考资料前两个博客讲解的非常详细&#xf…

Pearson相关系数, Spearman相关系数,Kendall相关系数

三个相关性系数&#xff08;pearson, spearman, kendall&#xff09;反应的都是两个变量之间变化趋势的方向以及程度&#xff0c;其值范围为-1到1&#xff0c;0表示两个变量不相关&#xff0c;正值表示正相关&#xff0c;负值表示负相关&#xff0c;值越大表示相关性越强。 1.…

数学建模:相关性分析学习——皮尔逊(pearson)相关系数与斯皮尔曼(spearman)相关系数

目录 前言 一、基本概念及二者适用范围比较 1、什么是相关性分析 2、什么是相关系数 3、适用范围比较 二、相关系数 1.皮尔逊相关系数&#xff08;Pearson correlation&#xff09; 1、线性检验 2、正态检验 3、求相关系数 2、斯皮尔曼相关系数&#xff08;Spearman…

斯皮尔曼相关(Spearman correlation)系数概述及其计算例

目录 1. 什么是秩相关系数&#xff1f; 2. 单调性&#xff0c;monotonicity 3. 斯皮尔曼秩相关系数 4. 什么时候使用斯皮尔曼秩相关系数呢&#xff1f; 5. 斯皮尔曼秩相关系数计算公式 6. 斯皮尔曼秩相关系数计算例 6.1 手动计算 6.2 scipy函数 6.3 pandas corr() 6…

一文数学数模-相关性分析(二)斯皮尔曼相关(spearman)相关性分析一文详解+python实例代码

前言 相关性分析算是很多算法以及建模的基础知识之一了,十分经典。关于许多特征关联关系以及相关趋势都可以利用相关性分析计算表达。其中常见的相关性系数就有三种:person相关系数,spearman相关系数,Kendalls tau-b等级相关系数。各有各自的用法和使用场景。当然关于这以…

斯皮尔曼(spearman)相关系数python代码实现

简介 斯皮尔曼等级相关系数&#xff08;简称等级相关系数&#xff0c;或称秩相关系数&#xff0c;英语&#xff1a;Spearmans rank correlation coefficient或Spearmans ρ&#xff09;。一般用或者表示。它是衡量两个变量的相关性的无母数指标。它利用单调函数评价两个统计变量…

数学建模——相关系数(4)——斯皮尔曼相关系数(spearman)

文章目录 引述一、斯皮尔曼相关系数&#xff08;spearman&#xff09;1.定义12.定义23.使用MATLAB计算spearman相关系数4. 斯皮尔曼相关系数的假设检验 二、斯皮尔曼相关系数与皮尔逊相关系数的比较 引述 经过之前几节的学习&#xff0c;我们了解并掌握了皮尔逊相关系数。在学…

Spearman相关系数的含义及适用场景

斯皮尔曼相关系数计算工具: https://geographyfieldwork.com/SpearmansRankCalculator.html斯皮尔曼相关系数的解释&#xff1a;https://statisticsbyjim.com/basics/spearmans-correlation/ 统计中&#xff0c;斯皮尔曼相关系数是皮尔逊相关系数的非参数替代方法。对遵循曲线、…

SPSS——相关分析——Spearman秩相关系数

简介 斯皮尔曼等级相关&#xff08;Spearman’s correlation coefficient for ranked data&#xff09;主要用于解决称名数据和顺序数据相关的问题。适用于两列变量&#xff0c;而且具有等级变量性质具有线性关系的资料。由英国心理学家、统计学家斯皮尔曼根据积差相关的概念推…

ML之Spearman:Spearman相关系数(斯皮尔曼等级相关系数)的简介、案例应用之详细攻略

ML之Spearman&#xff1a;Spearman相关系数(斯皮尔曼等级相关系数)的简介、案例应用之详细攻略 目录 Spearman相关系数(斯皮尔曼等级相关系数)的简介 (1)、Spearman相关系数(斯皮尔曼等级相关系数)的计算逻辑 Spearman相关系数(斯皮尔曼等级相关系数)的的案例应用 Spearman相…

斯皮尔曼spearman相关系数

斯皮尔曼spearman相关系数 斯皮尔曼相关系数定义&#xff1a; X和Y为两组数据&#xff0c;其斯皮尔曼&#xff08;等级&#xff09;相关系数: r s 1 − 6 ∑ i 1 n d i 2 n ( n 2 − 1 ) r_s1-\frac{6\sum\limits_{i1}^nd_i^2}{n(n^2-1)} rs​1−n(n2−1)6i1∑n​di2​​ …

数据库知识及数据库编程

数据库的概念 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是存放数据的仓库。它的存储空间很大&#xff0c;可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数…

数据库编程与设计—SQL语言

一、SQL语言基础 1 什么是SQL 结构化查询语言结构化查询语言(Structured Query Language)简称 SQL(发音&#xff1a;sequal[si:kwəl])&#xff0c;是一种数据库查询和程序设计语言&#xff0c;用于存取数据以及查询、更新和管理关系数据库系统&#xff1b;同时也是数据库脚本…