Python相关系数导图

🎯要点

  1. 量化变量和特征关联
  2. 绘图对比皮尔逊相关系数、斯皮尔曼氏秩和肯德尔秩
  3. 汽车性价比相关性矩阵热图
  4. 大流行病与资产波动
  5. 城镇化模型预测交通量
  6. 宝可梦类别特征非线性依赖性捕捉
  7. 向量加权皮尔逊相关系数
  8. 量化图像相似性
    在这里插入图片描述

Python皮尔逊-斯皮尔曼-肯德尔

皮尔逊相关系数

在统计学中,皮尔逊相关系数 是一种用于测量两组数据之间线性相关性的相关系数。它是两个变量的协方差与其标准差乘积的比率;因此,它本质上是协方差的标准化测量,其结果始终介于 -1 和 1 之间。与协方差本身一样,该测量只能反映变量的线性相关性,而忽略了许多其他类型的关系或相关性。举一个简单的例子,人们会期望来自小学的一组儿童的年龄和身高的皮尔逊相关系数明显大于 0,但小于 1(因为 1 表示不切实际的完美相关性)。

皮尔逊相关系数是两个变量的协方差除以其标准差的乘积。定义的形式涉及“乘积矩”,即均值调整后的随机变量乘积的均值(关于原点的一阶矩),因此名称中带有修饰词“乘积矩”。

皮尔逊相关系数应用于样本时,通常用 r x y r_{x y} rxy 表示,可称为样本相关系数或样本皮尔逊相关系数。通过将基于样本的协方差和方差的估计值代入上述公式,我们可以得到 r x y r_{x y} rxy 的公式。给定由 n n n 对组成的配对数据 { ( x 1 , y 1 ) , … , ( x n , y n ) } \left\{\left(x_1, y_1\right), \ldots,\left(x_n, y_n\right)\right\} {(x1,y1),,(xn,yn)},定义 r x y r_{x y} rxy
r x y = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 r_{x y}=\frac{\sum_{i=1}^n\left(x_i-\bar{x}\right)\left(y_i-\bar{y}\right)}{\sqrt{\sum_{i=1}^n\left(x_i-\bar{x}\right)^2} \sqrt{\sum_{i=1}^n\left(y_i-\bar{y}\right)^2}} rxy=i=1n(xixˉ)2 i=1n(yiyˉ)2 i=1n(xixˉ)(yiyˉ)
要计算 Pearson’s R 相关系数,使用 scipy.stats 库中的 pearsonr 函数。

import numpy as np
from scipy.stats import pearsonrx = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])correlation_coefficient, _ = pearsonr(x, y)
print("Pearson's Correlation Coefficient:", correlation_coefficient)

这里的输出显示了完美的正相关性,其中当一个变量增加 1 时,另一个变量也增加相同的量。

Pearson's Correlation Coefficient: 1.0

绘图

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearsonr
import seaborn as snsnp.random.seed(0)
x_neg = np.linspace(0, 10, 50)
y_neg = -2 * x_neg + 10 + np.random.normal(0, 2, 50)x_pos = np.linspace(0, 10, 50)
y_pos = 2 * x_pos + np.random.normal(0, 2, 50)x_no_corr = np.linspace(0, 10, 50)
y_no_corr = np.random.normal(0, 2, 50)corr_coeff_neg, _ = pearsonr(x_neg, y_neg)
corr_coeff_pos, _ = pearsonr(x_pos, y_pos)
corr_coeff_no_corr, _ = pearsonr(x_no_corr, y_no_corr)fig, axes = plt.subplots(1, 3, figsize=(15, 5))sns.regplot(x=x_neg, y=y_neg, ax=axes[0], color='red', scatter_kws={'s': 15}, line_kws={'color': 'blue'}, ci=95)
axes[0].set_xlabel('X')
axes[0].set_ylabel('Y')
axes[0].set_title(f"Negative Correlation (r = {corr_coeff_neg:.2f})")sns.regplot(x=x_pos, y=y_pos, ax=axes[1], color='green', scatter_kws={'s': 15}, line_kws={'color': 'blue'}, ci=95)
axes[1].set_xlabel('X')
axes[1].set_ylabel('Y')
axes[1].set_title(f"Positive Correlation (r = {corr_coeff_pos:.2f})")sns.regplot(x=x_no_corr, y=y_no_corr, ax=axes[2], color='blue', scatter_kws={'s': 15}, line_kws={'color': 'blue'}, ci=95)
axes[2].set_xlabel('X')
axes[2].set_ylabel('Y')
axes[2].set_title(f"No Correlation (r = {corr_coeff_no_corr:.2f})")plt.tight_layout()
plt.show()

斯皮尔曼秩相关系数

在统计学中,斯皮尔曼等级相关系数或斯皮尔曼 ρ \rho ρ,通常用希腊字母 ρ \rho ρ (rho) 或 r s r_s rs 表示,是一个排名相关性的非参数度量(两个变量秩之间的统计依赖性)。它评估使用单调函数描述两个变量之间的关系的程度。

斯皮尔曼相关系数定义为秩变量之间的皮尔逊相关系数。对于大小为 n n n 的样本, n n n 对原始分数 ( X i , Y i ) \left(X_i, Y_i\right) (Xi,Yi) 转换为秩 $R \left[X_i\right], R \left[Y_i\right] $ ,于是 r s r_s rs 计算为
r s = ρ [ R [ X ] , R [ Y ] ] = cov ⁡ [ R [ X ] , R [ Y ] ] σ R [ X ] σ R [ Y ] r_s=\rho[ R [X], R [Y]]=\frac{\operatorname{cov}[ R [X], R [Y]]}{\sigma_{ R [X]} \sigma_{ R [Y]}} rs=ρ[R[X],R[Y]]=σR[X]σR[Y]cov[R[X],R[Y]]

要计算斯皮尔曼的秩相关性,使用 scipy.stats 库中的 Spearmanr 函数。

from scipy.stats import spearmanrx = [10, 20, 30, 40, 50]
y = [5, 15, 25, 35, 45]rho, p_value = spearmanr(x, y)print(f"Spearman's Rank Correlation Coefficient: {rho}")
print(f"P-value: {p_value}")

解释 ρ \rho ρ 结果:

  • ρ \rho ρ:当一个变量增加时,另一个变量也会增加,
  • ρ \rho ρ:当一个变量增加时,另一个变量往往会减少。
  • ρ \rho ρ=0:没有单调关系。

肯德尔秩相关系数

在统计学中,肯德尔秩相关系数通常称为肯德尔 τ 系数(以希腊字母 τ 命名,即 tau),是一种用于测量两个测量量之间的序数关联的统计数据。τ 检验是一种基于 τ 系数的统计依赖性非参数假设检验。它是秩相关的度量:按每个量对数据进行排序时,数据排序的相似性。

要计算肯德尔秩相关系数,使用 scipy.stats 库中的 kendalltau 函数。

import numpy as np
from scipy.stats import kendalltaux = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 1, 5, 4])tau, p_value = kendalltau(x, y)print(f"Kendall's Tau (τ): {tau:.2f}")
print(f"P-value: {p_value:.4f}")

👉更新:亚图跨际

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

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

相关文章

Node.js原生开发脚手架工具(下)

前言 在现代软件开发中,脚手架工具成为提高开发效率和一致性的关键利器。使用Node.js原生开发自己的脚手架工具不仅能帮助自动化常见任务,还能根据具体需求进行高度定制。Node.js的异步非阻塞特性和丰富的模块系统使其成为构建这种工具的理想选择。本篇文…

★ 算法OJ题 ★ 力扣202 - 快乐数

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将和大家一起做一道双指针算法题--快乐数~ 目录 一 题目 二 算法解析 三 编写算法 一 题目 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09; 二 算法解析 题⽬告诉我们&#xff0c;当我们不断重复操作…

Java设计模式之外观模式详细讲解和案例示范

1. 引言 在软件开发过程中&#xff0c;复杂的系统往往包含许多子系统和模块&#xff0c;随着系统功能的增加&#xff0c;模块之间的交互也变得更加复杂。这种复杂性可能会导致系统的可维护性和扩展性降低。外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式…

java同步概念

同步&#xff08;Synchronization&#xff09;在Java多线程编程中是一个既重要又复杂的概念。它涉及到如何确保多个线程在访问共享资源时能够保持数据的一致性和完整性&#xff0c;避免出现竞态条件&#xff08;Race Condition&#xff09;等问题。 同步的基本概念 同步的主要目…

深入解析体育馆蓝牙导航系统的技术实现与应用

技术爱好者与开发者们&#xff0c;您是否在大型体育馆内常常为找不到洗手间、休息区或观赛区而烦恼&#xff1f;随着科技的进步&#xff0c;我们团队倾力打造了体育馆蓝牙导航系统&#xff0c;专为解决这一痛点而生。本系统利用先进的蓝牙信标技术和精准的室内定位算法&#xf…

YOLO | YOLO目标检测算法(YOLO-V1)

github&#xff1a;https://github.com/MichaelBeechan CSDN&#xff1a;https://blog.csdn.net/u011344545 YOLO目标检测算法 YOLO V1概述&#xff08;2016&#xff09; YOLO V1概述&#xff08;2016&#xff09; 经典的One-stage方法 YOLO&#xff1a;You Only Look Once 把…

【河北航空-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

ZaKi:Ingonyama的Prover market基础设施

1. 引言 Ingonyama团队预计在不久的将来会出现大量去中心化证明市场&#xff08;Prover market&#xff09;。这些市场的独特之处在于高可用性和高性能的基础设施&#xff0c;以及强大的安全性和透明度保障。 2. 证明市场的出现 零知识 (ZK) Rollups&#xff0c;如 Starknet…

【如何用本机的Navicat远程连接到ubuntu服务器上的mysql】

文章目录 版本一、ubuntu服务器安装mysql5二、远程连接——mysql配置1.创建新mysql用户2.修改配置文件3.查看端口是否开启 三、远程连接——Navicat 版本 mysql:5.7.32 服务器&#xff1a;ubuntu20.04 PC:win10 一、ubuntu服务器安装mysql5 因为ubuntu20.04默认mysql其实是my…

命令模式详解

命令模式 简介:命令模式将一个请求封装为一个对象&#xff0c;从而使你可以用不同的请求对客户进行参数化&#xff0c;对请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 人话: 总体来说, 就是一个命令类, 一个执行类, 命令类包括执行类, 然后在外部添加一个总的管…

【数模修炼之旅】10 遗传算法 深度解析(教程+代码)

【数模修炼之旅】10 遗传算法 深度解析&#xff08;教程代码&#xff09; 接下来 C君将会用至少30个小节来为大家深度解析数模领域常用的算法&#xff0c;大家可以关注这个专栏&#xff0c;持续学习哦&#xff0c;对于大家的能力提高会有极大的帮助。 1 遗传算法介绍及应用 …

Zookeeper官网Java示例代码解读(一)

2024-08-22 1. 基本信息 官网地址&#xff1a; https://zookeeper.apache.org/doc/r3.8.4/javaExample.html 示例设计思路 Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection, and the other which monitors data. I…

在随机点实现凸包包围游戏地区

讲解视频在连接点之后&#xff0c;想起来两年前看数学书&#xff0c;记住凸包二字&#xff0c;连接敌人外围点&#xff0c;意外找到凸包算法_哔哩哔哩_bilibili //author bilibili 民用级脑的研发记录 // 开发环境 小熊猫c 2.25.1 raylib 版本 4.5 // 2024-7-14 // AABB 碰撞…

USB3202N多功能数据采集卡16位模拟量250K频率LabVIEW采集卡

品牌&#xff1a;阿尔泰科技 系列&#xff1a;多功能数据采集卡 概述&#xff1a; USB3202N多功能数据采集卡&#xff0c;LabVIEW无缝连接&#xff0c;提供图形化API函数&#xff0c;提供8通道&#xff08;RSE、NRSE&#xff09;、4通道&#xff08;DIFF&#xff09;模拟量输…

《HelloGitHub》第 101 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 Python、…

DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛-task2

DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛 YOLO(You Only Look Once)上分心得分享 YOLO(You Only Look Once) YOLO算的上是近几年最火的目标检测模型了&#xff0c;被广泛的应用在工业、学术等领域。 YOLOv1&#xff08;You Only Look Once 第一版&#xff09;于 2…

CTFHub SSRF靶场通关攻略

内网访问 首先进入环境 在url后面输入 http://127.0.0.1/flag.php访问&#xff0c;得出flag 伪协议读取文件 进入环境后再url后面拼接 file:///var/www/html/flag.php 访问后是&#xff1f;&#xff1f;&#xff1f;&#xff0c;那么我们F12检查源码得出flag 端口扫描 我们进行…

若依微服务ruoyi-auth在knife4j中不显示问题解决

关于若依微服务ruoyi-auth在knife4j中不显示问题解决 解决办法 一、添加swagger依赖文件 在ruoyi-auth模块下的pom.xml文件中添加ruoyi-common-swagger依赖 <!-- RuoYi Common Swagger --><dependency><groupId>com.ruoy

Python网络爬虫模拟登录与验证解析

内容导读 使用Selenium模拟登录 使用Cookies登录网站 模拟表单登录网站 爬虫识别简单的验证码 实例解析 一、使用Selenium模拟登录 1、为什么要模拟登录 在互联网上存在大量需要登录才能访问的网站&#xff0c;要爬取这些网站&#xff0c;就需要学习爬虫的模拟登录。对…

裸机:SD卡启动详解

内存和外存的区别 内存和外存在计算机系统中扮演着不同的角色&#xff0c;它们之间存在显著的差异。以下是内存和外存之间几个主要方面的区别&#xff1a; 存储特性与易失性 内存&#xff08;Memory&#xff09;&#xff1a;通常指的是随机存取存储器&#xff08;RAM&#x…