python 利用Scipy计算person 和spearman相关系数

觉得有用的话,欢迎一起讨论相互学习~

  • 学习以下两位大佬的讲解

(Pearson)皮尔逊相关系数和spearman相关系数(附python实现)

相关性系数及其python实现

皮尔逊相关系数

  • 下面是皮尔逊相关系数的计算公式,只需要将(X和Y的协方差)/(X的标准差*Y的标准差)

spearman相关系数

简单的相关系数的分类

那么对于这两个系数,怎样的值才是好的呢,遵循下面的关系

0.8-1.0:极强相关
0.6-0.8:强相关
0.4-0.6:中等强度相关
0.2-0.4:弱相关
0.0-0.2:极弱或者无相关

区别

  • 那么有个问题,是所有的变量都可以用这两个系数吗,这两个变量当然是有区别的,区别如下。
  1. 连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用spearman相关系数也可以,效率没有pearson相关系数高。
  2. 上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
  3. 两个定序测量数据(顺序变量)之间也用spearman相关系数,不能用pearson相关系数。
  4. Pearson相关系数的一个明显缺陷是,作为特征排序机制,他只对线性关系敏感。如果关系是非线性的,即便两个变量具有一一对应的关系,Pearson相关性也可能会接近0。

Code

import scipy.stats# Create two lists of random values
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [2, 1, 2, 4.5, 7, 6.5, 6, 9, 9.5]
print(scipy.stats.pearsonr(x, y)[0])
# 0.9412443251336238
print(scipy.stats.spearmanr(x, y)[0])
# 0.903773601456181

Code-检验spearman和pearson之间的关系

# Create two lists of random values
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [2, 1, 2, 4.5, 7, 6.5, 6, 9, 9.5]# Calculate Spearman’s Rank Correlation
# Spearman’s rank correlation is the Pearson’s correlation coefficient of the ranked version of the variables.# Create a function that takes in x's and y's
def spearmans_rank_correlation(xs, ys):# Calculate the rank of x'sxranks = pd.Series(xs).rank()# Caclulate the ranking of the y'syranks = pd.Series(ys).rank()# Calculate Pearson's correlation coefficient on the ranked versions of the datareturn scipy.stats.pearsonr(xranks, yranks)  # 计算pearson系数print(spearmans_rank_correlation(x, y)[0])
# 0.9037736014561808# Calculate Spearman’s Correlation Using SciPy
# 计算spearman秩相关系数
# Just to check our results, here it Spearman's using Scipy
print(scipy.stats.spearmanr(x, y)[0])
# 0.903773601456181

python 利用Scipy计算person 和spearman相关系数相关推荐

  1. python利用近似公式计算π_python如何利用公式计算π

    python利用公式计算π的方法:首先导入数学模块及时间模块:然后计算Pi精确到小数点后几位数,代码为[print('n{:=^70}'.format('计算开始'))]:最后完成计算,代码为[pri ...

  2. python利用列表计算斐波那契数列前30项_python斐波那契数列的计算方法

    题目: 计算斐波那契数列.具体什么是斐波那契数列,那就是0,1,1,2,3,5,8,13,21,34,55,89,144,233. 要求: 时间复杂度尽可能少 分析: 给出了三种方法: 方法1:递归的 ...

  3. python利用公式计算_从零开始用Python构造决策树(附公式、代码)

    来源:Python中文社区 作者:weapon 本文长度为700字,建议阅读5分钟 本文介绍如何不利用第三方库,仅用python自带的标准库来构造一个决策树. 起步 熵的计算: 根据计算公式: 对应的 ...

  4. python利用公式计算_Python利用openpyxl处理Excel文件(公式实例)

    前面我们学习了Python使用openpyxl模块处理Excel文件的大部分内容,今天,我们通过一个例子来学习Python使用Excel公式的方法,引出今天的主题利用openpyxl处理Excel公式 ...

  5. python利用列表计算斐波那契数列前30项并输出_python分享斐波那契数列示例分享 Python 分享斐波那契数列前20项和...

    分享助python大神.斐波那契数列,编写程序,利用列具体内容 拜托拜托有时候,最痛苦的其实不是失去,而是你得到以后其实不快乐. ##缩进格式看图 l=[1,1] for i in range(28) ...

  6. python利用近似公式计算π_Excel函数公式大全之利用SUMSQ函数快速计算多个数据的平方和...

    各位Excel天天学的小伙伴们大家好,欢迎收看Excel天天学出品的excel2019函数公式大全课程.今天我们要学习的函数是数学函数中的SUMSQ函数,SUMSQ函数的功能是快速计算多个数据的平方和 ...

  7. python利用scipy.integrate中的odeint方法解微分方程

    一阶微分方程 dxdt+x=sin(t)\frac{\mathrm{dx}}{\mathrm{dt}}+x=\mathrm{sin}\left(t\right) dtdx​+x=sin(t) from ...

  8. python利用列表计算斐波那契数列前30项并输出_python 题目:斐波那契数列计算;题目:站队顺序输出;题目:合法括号组合的生成;题目:用户登录(三次机会)...

    斐波那契数列计算 B 描述 斐波那契数列如下: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) 编写一个计算斐波那契数列的函数,采用递归方式,输出不超过n的所有斐波 ...

  9. python利用公式计算e的值

    目录 题目 思路 代码 结果 题目 思路 先创一个i=n=1,然后让i的范围取(1,1001 + x * 1000),然后通过循环利用i的值取值内来给这个 n *= 1 / i来赋值 最后把让e += ...

最新文章

  1. 使用Python从PDF导出数据
  2. java io字符输出流_【Java的IO流之文件字符输入输出流 25】
  3. SpringBoot使用security和jwt进行鉴权设计
  4. java编程实践开发项目,帮你突破瓶颈
  5. Altium Designer Exception ESocketError in module X2.EXE at 001B15CF (10107) on API 'Socket'
  6. 【剑指offer】_04 重建二叉树
  7. python爬取暖享图片
  8. springcloud灰度发布实现方案
  9. Markdown中跳转,锚点操作浅析
  10. MongoDB 自动分片 auto sharding
  11. java基础标识符,关键字,常量
  12. 王家林Spark视频
  13. 超级鸡马虚拟服务器,超级鸡马按键操作图文教程_超级鸡马怎么玩_牛游戏网
  14. 小学生数量成为楼市风向标?
  15. JS 日历插件 实现农历、节气 可自定义加班和休假
  16. 图片怎么压缩?这些方法值得收藏
  17. QMS-云质-质量管理软件-闲聊霍尼韦尔用13亿美元收购一家质量管理软件(QMS)小公司
  18. Ubuntu mirror source modify
  19. gdal_遥感影像配准
  20. 新浪企业邮箱服务器怎么设置,新浪企业邮箱|客户端使用

热门文章

  1. 微信小程序 给数字或文字加横线,比如原价、已完成任务
  2. cad移动时捕捉不到基点_CAD2012 怎么捕捉不到点了? 对象捕捉也开了。
  3. 基于C#winform的学生信息管理与成绩评价系统
  4. C65升级与补丁 V25->V43DIY全程
  5. AndLua加密解密
  6. (arxiv-2018)图像检索的注意力感知广义平均池化
  7. 理论详解:为什么 MySQL 采用B+树作为索引?
  8. 地理坐标系、投影坐标系详解
  9. 无人驾驶车辆路径规划及轨迹跟踪控制学习笔记(2)
  10. 工地反光衣穿戴检测算法