全国大学生数学建模大赛备赛——相关系数的求解(皮尔逊(pearson)、斯皮尔曼(spearman)、肯德尔(kendall)相关系数)

相关系数是用来衡量两个变量之间线性相关程度的指标。它的取值范围在-1到1之间,当相关系数为1时表示两个变量完全正相关(即一个变大另一个也变大),当相关系数为-1时表示两个变量完全负相关(即一个变大另一个变小),当相关系数为0时表示两个变量不存在线性相关性。

常用的相关系数有 Pearson 相关系数(用于衡量两个连续变量之间的线性相关性),Spearman 相关系数(用于衡量两个变量之间的等级相关性)等。相关系数的计算可以帮助我们了解数据之间的关系,对于统计分析和建模非常重要。

皮尔逊(pearson):

皮尔逊相关系数(Pearson correlation coefficient)衡量了两个连续变量之间的线性关系强度和方向。取值范围在-1到1之间,-1表示完全负相关,1表示完全正相关,0表示无线性相关

计算公式:

         

  1. 皮尔逊相关系数适用场景:

    • 适用于连续变量之间的线性关系分析,例如:身高和体重之间的相关性分析、温度和销售额之间的相关性分析等。
    • 适用于正态分布的数据或者满足线性关系的数据。

斯皮尔曼(spearman):

斯皮尔曼相关系数(Spearman’s rank correlation coefficient)用于度量两个变量之间的等级关系的强度和方向。它通过将变量的观测值转换为等级,然后计算这些等级之间的皮尔逊相关系数来实现。

计算公式:

        

  1. 斯皮尔曼相关系数适用场景:

    • 适用于两个变量之间的等级关系分析,不要求数据满足线性关系。
    • 适用于数据不满足正态分布或存在异常值的情况,更具有鲁棒性。

肯德尔(kendall):

肯德尔相关系数(Kendall rank correlation coefficient)也用于测量变量之间的等级关系。与斯皮尔曼相关系数类似,它使用变量的等级而不是实际值,来计算两个变量之间的相关性。

 计算公式;

        

  1. 肯德尔相关系数适用场景:

    • 适用于两个变量之间的等级关系分析,也不要求数据满足线性关系。
    • 在样本数据较小时或存在重复数据时,肯德尔相关系数通常比较适用。
    • 对异常值相对比较敏感的情况下,肯德尔相关系数也更可靠。

这三种相关系数都是用来度量变量之间关系的强度和方向,但适用于不同类型的数据和假设。

实例数据集:

sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
5.13.51.40.20
4.931.40.20
4.73.21.30.20
4.63.11.50.20
53.61.40.20
5.43.91.70.40
4.63.41.40.30
53.41.50.20
4.42.91.40.20
4.93.11.50.10
5.43.71.50.20
4.83.41.60.20
4.831.40.10
4.331.10.10
5.841.20.20
5.74.41.50.40
5.43.91.30.40
5.13.51.40.30
5.73.81.70.30
5.13.81.50.30
5.43.41.70.20
5.13.71.50.40
4.63.610.20
5.13.31.70.50
4.83.41.90.20
531.60.20
53.41.60.40
5.23.51.50.20
5.23.41.40.20
4.73.21.60.20
4.83.11.60.20
5.43.41.50.40
5.24.11.50.10
5.54.21.40.20
4.93.11.50.20
53.21.20.20
5.53.51.30.20
4.93.61.40.10
4.431.30.20
5.13.41.50.20
53.51.30.30
4.52.31.30.30
4.43.21.30.20
53.51.60.60
5.13.81.90.40
4.831.40.30
5.13.81.60.20
4.63.21.40.20
5.33.71.50.20
53.31.40.20
73.24.71.41
6.43.24.51.51
6.93.14.91.51
5.52.341.31
6.52.84.61.51
5.72.84.51.31
6.33.34.71.61
4.92.43.311
6.62.94.61.31
5.22.73.91.41
523.511
5.934.21.51
62.2411
6.12.94.71.41
5.62.93.61.31
6.73.14.41.41
5.634.51.51
5.82.74.111
6.22.24.51.51
5.62.53.91.11
5.93.24.81.81
6.12.841.31
6.32.54.91.51
6.12.84.71.21
6.42.94.31.31
6.634.41.41
6.82.84.81.41
6.7351.71
62.94.51.51
5.72.63.511
5.52.43.81.11
5.52.43.711
5.82.73.91.21
62.75.11.61
5.434.51.51
63.44.51.61
6.73.14.71.51
6.32.34.41.31
5.634.11.31
5.52.541.31
5.52.64.41.21
6.134.61.41
5.82.641.21
52.33.311
5.62.74.21.31
5.734.21.21
5.72.94.21.31
6.22.94.31.31
5.12.531.11
5.72.84.11.31
6.33.362.52
5.82.75.11.92
7.135.92.12
6.32.95.61.82
6.535.82.22
7.636.62.12
4.92.54.51.72
7.32.96.31.82
6.72.55.81.82
7.23.66.12.52
6.53.25.122
6.42.75.31.92
6.835.52.12
5.72.5522
5.82.85.12.42
6.43.25.32.32
6.535.51.82
7.73.86.72.22
7.72.66.92.32
62.251.52
6.93.25.72.32
5.62.84.922
7.72.86.722
6.32.74.91.82
6.73.35.72.12
7.23.261.82
6.22.84.81.82
6.134.91.82
6.42.85.62.12
7.235.81.62
7.42.86.11.92
7.93.86.422
6.42.85.62.22
6.32.85.11.52
6.12.65.61.42
7.736.12.32
6.33.45.62.42
6.43.15.51.82
634.81.82
6.93.15.42.12
6.73.15.62.42
6.93.15.12.32
5.82.75.11.92
6.83.25.92.32
6.73.35.72.52
6.735.22.32
6.32.551.92
6.535.222
6.23.45.42.32
5.935.11.82

 这里以鸾尾花的数据集为例

皮尔逊(pearson)

        代码实现:

        

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn import datasets
# 加载鸢尾花数据集
iris = datasets.load_iris()
# 转换为 DataFrame
iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
# 计算相关系数(pearson方法)
iris_pearson = iris_df.corr(method='pearson')
#输出计算结果
print(iris_pearson)
#生成特征热力图
plt.figure(figsize=(10,8))
sns.heatmap(iris_df.corr(method='kendall'),cmap="coolwarm",annot=True)
plt.show()

  图片:

 

斯皮尔曼(spearman)

        代码:

                    

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn import datasets
# 加载鸢尾花数据集
iris = datasets.load_iris()
# 转换为 DataFrame
iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
# 计算相关系数(spearman方法)
iris_pearson = iris_df.corr(method='spearman')
#输出计算结果
print(iris_pearson)
#生成特征热力图
plt.figure(figsize=(10,8))
sns.heatmap(iris_df.corr(method='kendall'),cmap="cool",annot=True)
plt.show()

        图片:

 

肯德尔(kendall)相关系数

         代码:

        

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn import datasets
# 加载鸢尾花数据集
iris = datasets.load_iris()
# 转换为 DataFrame
iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
# 计算相关系数(kendall方法)
iris_pearson = iris_df.corr(method='kendall')
#输出计算结果
print(iris_pearson)
#生成特征热力图
plt.figure(figsize=(10,8))
sns.heatmap(iris_df.corr(method='kendall'),cmap="Blues_r",annot=True)
plt.show()

         图片:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定制 Elasticsearch 镜像

安装ik分词器 下载ik分词器 下载地址:https://github.com/infinilabs/analysis-ik/releases Dockerfile FROM docker.elastic.co/elasticsearch/elasticsearch:8.12.2 COPY ./elasticsearch-analysis-ik-8.12.2.zip /opt/ RUN bin/elasticsearch-plugin instal…

国产DSP FT-M6678开发-网络开发

简介 今天准备调试FT-M6678的网络部分,参考例程是《3. FT-M6678 Project\1. FT-M6678 接口驱动函数\13. GMAC\NDK 协议栈工程-V7.1\03应用例程\UDP\DSP端应用程序\DSP_UDP_Test_V7》,首先参照文档将NDK使用官方提供的NDK进行替换: 将D:\ti\pdk_C667…

FMEA助力新能源汽车行业腾飞:安全、效率双提升

随着新能源汽车市场的迅猛发展,各大车企纷纷加大研发力度,力求在激烈的市场竞争中脱颖而出。其中,FMEA(故障模式与影响分析)作为一种先进的质量管理工具,正被越来越多地应用于新能源汽车的研发和生产过程中…

深度学习pytorch——链式法则(Chain rule)(持续更新)

这篇文章将会以深度学习的角度解析链式法则。 基本的求导法则 高中的时候就学过,大学高数也巩固了一遍,这里不再赘述。 深度学习中的链式法则 为什么要讲述深度学习中的链式法则? 通过链式法则,我们可以得到中间层信息&#x…

unbantu Apache的基本配置与配置静态资源访问

目录 前言: 1.Apache介绍 2.安装Apache 3. 测试Apache服务是否启动成功 3.1配置Servername 3.2重启服务 4.配置Apache主页面 5. 配置静态的资源 6.为静态资源设置访问权限(基于源地址) 致谢: 前言: 此博客是基于unbantu的Apache服务的详细解析,在这片博…

Elasticsearch面试系列-03

1. Elasticsearch 中 refresh 和 flush 有什么区别? 整体流程: 1、数据写入buffer缓冲和translog日志文件中。当写一条数据document的时候,一方面写入到mem buffer缓冲中,一方面同时写入到translog日志文件中。 2、buffer满了或者每隔1秒(可配),refresh将mem buffer中的…

34 | 到底可不可以使用join?

在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 1. 我们 DBA 不让使用 join,使用 join 有什么问题呢? 2. 如果有两个大小不同的表做 join,应该用哪个表做驱动表呢? 今天这篇文…

【算法刷题 | 二叉树 02】3.21 二叉树的层序遍历01(5题:二叉树的层序遍历、层序遍历||、右视图、层平均值,以及N叉树的层序遍历)

文章目录 5.二叉树的层序遍历5.1 102_二叉树的层序遍历5.1.1问题5.1.2解法:队列 5.2 107_二叉树的层序遍历||5.2.1问题5.2.2解法:队列 5.3 199_二叉树的右视图5.3.1问题5.3.2解决:队列 5.4 637_二叉树的层平均值5.4.1问题5.4.2解决&#xff1…

.NET Core 服务实现监控可观测性最佳实践

前言 本次实践主要是介绍 .Net Core 服务通过无侵入的方式接入观测云进行全面的可观测。 环境信息 系统环境:Kubernetes编程语言:.NET Core ≥ 2.1日志框架:Serilog探针类型:ddtrace 接入方案 准备工作 DataKit 部署 DataK…

4核16G服务器租用优惠价格,26.52元1个月,半年149元

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年,配置为阿里云服务器ECS经济型e实例ecs.e-c1m4.xlarge,4核16G、按固定带宽 10Mbs、100GB ESSD Entry系统盘,活动链接 aliyunfuwuqi.com/go/aliyun 活动链接打开如下图&a…

ZHUTI主提2024夏季系列 —「逐·行」

ZHUTI主提全新发布2024夏季「逐行」系列,聚焦当下人与自然的关系,以衣为载体,秉承东方哲学的艺术理念,将美学艺术与主流时尚设计融合,赋予当代时装表达新方向,共创现代女性之美。 取自然之意境&#xff0c…

list.sort()Collections.sort()深入理解

list.sort()&&Collections.sort() 文章目录 list.sort()&&Collections.sort()背景相关代码代码一代码二 原理举一反三 业务场景考虑 背景 业务中经常用到List的sort()方法,但是对于其中return的-1,0,1理解不到位&#xff0c…

蓝桥杯 2022 省B 李白打酒加强版

这题用递归暴力的方法如下&#xff1a; #include<iostream> #include<bits/stdc.h> using namespace std; int num; int N,M; void dfs(int now,int n,int m) {if(now<0 || n>N ||m>M)return ;if(nN && mM){if(now1)num1;return;}dfs(now-1,n,m1…

微服务day05(下) -- ES文档操作 + RestApi + RestClient操作文档

3.1.新增文档 语法&#xff1a; POST /索引库名/_doc/文档id {"字段1": "值1","字段2": "值2","字段3": {"子属性1": "值3","子属性2": "值4"},// ... } 示例&#xff1a; # 插…

内网使用rustdesk进行远程协助

文章目录 前言一、搭建rustdesk中继服务器二、搭建文件下载服务器三、创建引导脚本四、使用 前言 内网没有互联网环境&#xff0c;没法使用互联网上有中继服务器的远程协助工具&#xff0c;如teamviewer、todesk、向日癸等&#xff1b;在内网进行远程维护可以自己搭建中继服务…

网络基础「HTTP」

&#x1f52d;个人主页&#xff1a; 北 海 &#x1f6dc;所属专栏&#xff1a; Linux学习之旅、神奇的网络世界 &#x1f4bb;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 1.再谈协议1.1.认识URL1.2.Encode 和 Decode 2.HTTP 协议2.1.协议格式2.2.见一见请求2.…

OpenAI GPT商店面临质量与合规问题;黄仁勋预测:十年内AI将实时生成游戏画面

&#x1f989; AI新闻 &#x1f680; OpenAI GPT商店面临质量与合规问题 摘要&#xff1a;OpenAI旗下的GPT商店因存在大量涉嫌侵权内容、助长学术不诚实行为及违规内容等问题而引起关注。其中包括未经授权使用迪士尼、漫威角色生成内容的GPT模型&#xff0c;以及声称能绕过剽…

HCIP的学习(3)

网络类型及数据链路层协议 网络类型分类 P2P网络----点到点网络类型MA网络-----多点接入网络 BMA----广播型多点接入网络NBMA—非广播型多点接入网络&#xff08;快淘汰了&#xff09; 数据链路层协议 MA网络 以太网协议 特点&#xff1a;需要使用MAC地址对设备进行区分…

Java安全 反序列化(5) CC6链原理分析

Java安全 反序列化(5) CC6链原理分析 CC6学习的目的在于其可以无视jdk版本&#xff0c;这条链子更像CC1-LazyMap和URLDNS链子的缝合版 文章目录 Java安全 反序列化(5) CC6链原理分析前言一.CC6的原理和实现以及易错点我们如何实现调用LazyMap.get()方法一个易错点 二.完整CC6P…

【超全详解】Maven工程配置与常见问题解决指南

Maven工程 目录 Maven工程一、如何检查Maven工程是否配置正确&#xff1f;1、检查路径2、检查基本配置3、其他配置 二、Maven的基本操作基本操作install和package的区别 三、获取别人的Maven工程之后如何修改&#xff1f;四、如何正确写好配置文件&#xff1f;1.寻找配置资源2.…