Pearson相关系数和Spearman相关系数的区别及说明

 更新时间:2023年05月29日 09:56:14   作者:SunnyRivers  
这篇文章主要介绍了Pearson相关系数和Spearman相关系数的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前言

相关系数是用以反映变量之间的相关关系程度的统计指标。

其取值范围是[-1,1],当取值为0时表示不相关,取值为[-1,0)表示负相关,取值为(0,-1],表示负相关。

目前常用的两种相关性系数为皮尔森相关系数(Pearson)和斯皮尔曼等级相关系数(Spearman)

简介

1.皮尔森相关系数评估两个连续变量之间的线性关系。

其中:

-1 ≤ p ≤ 1

p接近0代表无相关性

p接近1或-1代表强相关性

2.斯皮尔曼相关系数评估两个连续变量之间的单调关系。在单调关系中,变量趋于一起变化,但不一定以恒定速率变化。

其中:

N是观测值的总数量

斯皮尔曼另一种表达公式:

表示二列成对变量的等级差数。

区别

Pearson和Spearman相关系数的范围可以从-1到+1。

当Pearson相关系数为+1时,意味着,当一个变量增加时,另一个变量增加一致量。

这形成了一种递增的直线。

在这种情况下,Spearman相关系数也是+1。

如果关系是一个变量在另一个变量增加时增加,但数量不一致,则Pearson相关系数为正但小于+1。

在这种情况下,斯皮尔曼系数仍然等于+1。

当关系是随机的或不存在时,则两个相关系数几乎为零。

如果关系递减的直线,那么两个相关系数都是-1。

如果关系是一个变量在另一个变量增加时减少,但数量不一致,则Pearson相关系数为负但大于-1。

在这种情况下,斯皮尔曼系数仍然等于-1

相关值-1或1意味着精确的线性关系,如圆的半径和圆周之间的关系。

然而,相关值的实际价值在于量化不完美的关系。

发现两个变量是相关的经常通知回归分析,该分析试图更多地描述这种类型的关系。

其他非线性关系

Pearson相关系数仅评估线性关系。Spearman相关系数仅评估单调关系。

因此,即使相关系数为0,也可以存在有意义的关系。

检查散点图以确定关系的形式。

该图显示了非常强的关系。

Pearson系数和Spearman系数均约为0。

结论

皮尔森评估的是两个变量的线性关系,而斯皮尔曼评估的两变量的单调关系。

因此,斯皮尔曼相关系数对于数据错误和极端值的反应不敏感。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 数据分析教程探索性数据分析

    Python 数据分析教程探索性数据分析

    这篇文章主要介绍了Python 数据分析教程探索性数据分析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • TensorFlow实现AutoEncoder自编码器

    TensorFlow实现AutoEncoder自编码器

    这篇文章主要为大家详细介绍了TensorFlow实现AutoEncoder自编码器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Pytorch教程内置模型源码实现

    Pytorch教程内置模型源码实现

    本文是关于Pytorch教程文章,本篇主要为教大家Pytorch内置模型源码实现,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家多多进步,早日升职加薪
    2021-09-09
  • 解决df.to_csv()中文件名的问题

    解决df.to_csv()中文件名的问题

    这篇文章主要介绍了解决df.to_csv()中文件名的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • selenium+python自动化测试之多窗口切换

    selenium+python自动化测试之多窗口切换

    这篇文章主要介绍了selenium+python自动化测试之多窗口切换,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 利用Python校准本地时间的方法教程

    利用Python校准本地时间的方法教程

    这篇文章主要给大家介绍了关于如何利用Python校准本地时间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • pandas全表查询定位某个值所在行列的方法

    pandas全表查询定位某个值所在行列的方法

    下面小编就为大家分享一篇pandas全表查询定位某个值所在行列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python 利用文件锁单例执行脚本的方法

    python 利用文件锁单例执行脚本的方法

    今天小编就为大家分享一篇python 利用文件锁单例执行脚本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python实现按行切分文本文件的方法

    python实现按行切分文本文件的方法

    这篇文章主要介绍了python实现按行切分文本文件的方法,涉及Python利用shell命令操作文本文件的相关技巧,需要的朋友可以参考下
    2016-04-04
  • Django实现静态文件缓存到云服务的操作方法

    Django实现静态文件缓存到云服务的操作方法

    这篇文章主要介绍了Django实现静态文件缓存到云服务的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论