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

这篇具有很好参考价值的文章主要介绍了Spearman 相关性分析法,以及python的完整代码应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • Spearman 相关性分析法

简介

Spearman 相关性分析法是一种针对两个变量之间非线性关系的相关性计算方法,同时,它不对数据的分布进行假设。该方法的基本思想是将两个(也可以多个)变量的值进行排序,并计算它们之间的等级相关性(Spearman 相关系数)。Spearman 相关系数的范围在 -1 到 1 之间,取值为 -1 表示完全负相关,取值为 1 表示完全正相关,取值为 0 则表示两个变量之间没有相关性。

基础使用方法

代码示例

import pandas as pd
import seaborn as sns

# 构造数据
data = {
    'x': [1, 3, 5, 7, 9],
    'y': [10, 8, 6, 4, 2]
}
df = pd.DataFrame(data)

# Spearman 相关性分析
corr = df.corr(method='spearman')
print(corr)

# 绘制相关系数热力图
sns.heatmap(corr, annot=True, cmap="YlGnBu")

参数说明

method: 相关性分析方法,这里需要指定为 spearman

函数返回值

sns.heatmap(corr, annot=True, cmap="YlGnBu") 会绘制出相关系数热力图,其中:

  • corr: 相关系数,即 Spearman 相关系数。
  • annot: 是否在每个方格中显示数值。
  • cmap: 颜色映射表。

引入多个变量

  • Spearman 相关性分析法通常用于分析两个变量之间的关系,但也可以通过计算多组变量之间的 Spearman 相关系数来分析它们之间的相互关系。对于多个变量之间的相关性分析,可以使用 pandas 中的 corr 函数计算这些变量之间的 Spearman 相关系数矩阵。然后,可以使用 seaborn 中的 heatmap 函数绘制相关系数矩阵的热力图。
import pandas as pd
import seaborn as sns

# 构造数据
data = {
    'x1': [1, 3, 5, 7, 9],
    'x2': [10, 8, 6, 4, 2],
    'x3': [9, -7, 5.4, -3, 1],
    'x4': [2, 4, 6, 8, 10]
}
df = pd.DataFrame(data)

# Spearman 相关性分析
corr = df.corr(method='spearman')
print(corr)

# 绘制相关系数热力图
sns.heatmap(corr, annot=True, cmap="YlGnBu")

在上面的示例代码中,我们构造了一个包含了 4 个变量的数据集,包括 ‘x1’、‘x2’、‘x3’ 和 ‘x4’,然后使用 Spearman 相关性分析法计算了这些变量之间的 Spearman 相关系数矩阵,并绘制了相关系数的热力图。
python spearman相关系数,python,数学建模,pandas,python,pandas,数据分析

生成热力图的保存

  • 要将生成的 Python 热力图保存为文件,需要使用 Matplotlib 库的 savefig() 函数:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 构造数据(可以使用你的数据)
data = {
    'x1': [1, 3, 5, 7, 9],
    'x2': [10, 8, 6, 4, 2],
    'x3': [9, -7, 5.4, -3, 1],
    'x4': [2, 4, 6, 8, 10]
}
df = pd.DataFrame(data)

# Spearman 相关性分析
corr = df.corr(method='spearman')
print(corr)

# 绘制相关系数热力图
sns.heatmap(corr, annot=True, cmap="YlGnBu")

# 保存热力图
plt.savefig('heatmap.png', dpi=300, bbox_inches='tight')

在这个示例代码中,使用了 Matplotlib 的 savefig() 函数来保存热力图。这个函数的第一个参数是文件的名称和路径。在这个示例中,我们指定了 "heatmap.png" 作为文件名,并将热力图保存在当前工作目录下。dpi 参数设定每英寸像素点数(dots per inch),默认为 100,一般可以设定为 300,以获得更高的分辨率。bbox_inches='tight' 参数用来紧缩图像区域,以避免被裁剪,可以根据需要进行调整。

从excel读取数据

从 Excel 表中获取各个变量的数据,可以使用 Python 中的 Pandas 库。Pandas 可以读取 Excel 表中的数据,并将其转换为 Pandas DataFrame 对象,以便进行数据分析和可视化。

示例代码:

import pandas as pd
import seaborn as sns

# 读取 Excel 表中的数据
df = pd.read_excel('data.xlsx')

# Spearman 相关性分析
corr = df.corr(method='spearman')
print(corr)

# 绘制相关系数热力图
sns.heatmap(corr, annot=True, cmap="YlGnBu")

其中,read_excel() 函数用于读取 Excel 文件,其参数指定 Excel 文件的名称和路径。默认情况下,它读取文件中的第一个工作表,并将其转换为 Pandas DataFrame 对象。如果 Excel 文件中有多个工作表,可以使用 sheet_name 参数将指定的工作表读取为 DataFrame 对象。

假设你的 Excel 文件中每一列数据代表一个变量,可以使用以下代码将 Excel 表中的每列数据分离成新的 DataFrame 对象:

# 将列分离成新的 DataFrame 对象
var_dict = {}
for column in df:
    var_dict[column] = df[column]

# 输出各个变量的数据
for key, value in var_dict.items():
    print(key, value.tolist())

df[column] 返回一个 Pandas Series 对象,其中包含 Excel 表中某一列的数据。将其存储在一个 Python 的字典对象 var_dict 中,可以使用 tolist() 函数将其转换为 Python 列表以输出各个变量的数据。

然后,可以使用上面的示例代码,在所述的每一列中提取来自幻灯片的各个变量数据,并使用 Spearman 相关性分析法计算它们之间的关系,最后生成相关系数热力图。
python spearman相关系数,python,数学建模,pandas,python,pandas,数据分析文章来源地址https://www.toymoban.com/news/detail-703356.html

到了这里,关于Spearman 相关性分析法,以及python的完整代码应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 表达矩阵任意两个基因相关性分析 批量相关性分析 tcga geo 矩阵中相关性强的基因对 基因相关性 ecm matrisome与gpx3

    使用场景 1.已经确定研究的基因,但是想探索他潜在的功能,可以通过跟这个基因表达最相关的基因来反推他的功能,这种方法在英语中称为 guilt of association,协同犯罪 。 2.我们的注释方法依赖于TCGA大样本,既然他可以注释基因,那么任何跟肿瘤相关的基因都可以被注释,

    2024年02月01日
    浏览(56)
  • 常见的相关性分析

    方差分析和相关性分析都是描述特征之间的关系的统计方法,但它们关注的方面略有不同。 方差分析主要用于研究一个或多个自变量对因变量的影响,即研究因素之间的差异性。通过比较不同组之间的方差,可以确定哪些因素对结果变量的影响比较重要,以及不同组之间的显

    2024年02月11日
    浏览(36)
  • 数学建模:相关性分析

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 Pearson Spearman Kendall tua-b t检验(t-test)临界值表-t检验表.xls T检验代码: myTtest005.m 相关性分析及SPSS软件操作.pdf

    2024年02月09日
    浏览(38)
  • 相关性分析和热图绘制

    一、什么是相关性分析? 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。在组学测序(如转录组)中需设置多个生物学重复,而对多个生物学重复

    2024年02月10日
    浏览(39)
  • Pearson相关性分析& plot绘图(相关性系数柱状图、绘制非空值数量柱状图)

    Pearson相关性分析是一种用于检测两个变量之间线性关系强度的统计方法,其结果介于-1和1之间。一个相关系数为1表示完全正相关,-1表示完全负相关,0则表示没有线性关系。 Pearson相关性分析假设数据来自正态分布,并且对异常值敏感。

    2024年02月09日
    浏览(34)
  • Python进行数据相关性分析实战

    平时在做数据分析的时候,会要对特征进行相关性分析,分析某些特征之间是否存在相关性。本文将通过一个实例来对数据进行相关性分析与展示。 本次分析的是企业合作研发模式效果分析,企业的合作研发大致分为 企企合作、企学合作、企研合作、企学研合作,也就是企

    2024年02月10日
    浏览(35)
  • 数学建模-相关性分析(Matlab)

     注意:代码文件仅供参考,一定不要直接用于自己的数模论文中 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231   //清风数学建模 连续数据、正态分布、线性关系三者同时满足优先用。 一般处理这种

    2024年02月07日
    浏览(42)
  • spss数据分析--相关性分析与酷炫图

    相关性分析与酷炫图 今天就来说说R语言怎么进行相关性分析。 首先,安装两个R包,其中“corrplot”包就能画出好多酷炫的相关性矩阵图。“pheatmap”包是用来画热力图的。   我们调用R里自带的数据集,今天调用的这个是关于汽车道路测试的各项指标数据,名叫mtcars。这个数

    2024年02月13日
    浏览(43)
  • Pearson correlation皮尔逊相关性分析

    在参数检验的相关性分析方法主要是皮尔逊相关(Pearson correlation)。既然是参数检验方法,肯定是有一些前提条件。皮尔逊相关的前提是必须满足以下几个条件: 变量是连续变量; 比较的两个变量必须来源于同一个总体; 没有异常值; 两个变量都符合正态分布。 正态分布

    2024年02月15日
    浏览(44)
  • 【数学建模】清风数模正课5 相关性分析

    相关性分析的关键是计算相关系数,在本节课中将会介绍两种常用的相关系数: 皮尔逊相关系数 (Pearson)和 斯皮尔曼相关系数 (Spearman)。 它们可以用来衡量两个变量间相关性的大小,对于不同类型的数据,我们要用不同的相关系数进行计算分析。 统计学概念 在学习这两

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包