python统计分析——线性相关

参考资料:python统计分析【托马斯】

        对于两个相关的变量,相关性度量的是两个变量之间的关联程度。相反,线性回归是用一个变量的值来预测另一个变量的值。

1、相关系数

        两个变量之间的相关系数回答了这个问题:“这两个变量有关系吗?”也就是说,如果一个变量的变化,那另一个也改变了吗?如果这两个变量是正态分布的,确定相关系数的标准方法通常是pearson,它是:

r=\frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{\sqrt{\sum_{i=1}^n(X_i-\bar{X})^2}\times \sqrt{\sum_{i=1}^n(Y_i-\bar{Y})^2}}

        其中,样本协方差被定义为:

s_{xy}=\frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{n-1}

        并且s_x和s_y分别是x和y的值的样本标准差,因此相关系数也可以写为:

r=\frac{s_{xy}}{s_x\cdot s_y}

        pearson相关系数,有时也称为总体相关系数或样本相关性,它的取值范围是[-1,1]。注意相关系数的公式在x和y之间是对称的,但线性回归中不是这样的。

# 导入库
import numpy as npx=np.array([18.5,18.7,19.1,19.7,21.5,21.7,21.8,22,23.4,23.8])
y=np.array([34,39,41,38,45,41,52,44,44,49])
np.corrcoef(x,y)

         当然要知道相关系数的显著性情况,可以使用stats.pearsonr()函数,如下:

from scipy import stats
r,p=stats.pearsonr(x,y)
print("相关系数:",r)
print("p值:",p)

        结论:x和y之间存在显著的相关性。

2、秩相关

        如果数据不是正态分布的,那么需要采用不同的方法。在这种情况下,我们可以对数据集的每个变量进行排序,比较这个顺序。计算秩相关的常用方法有两种。

        spearman's \rho和pearson相关系数r完全一样,但计算的不是原始的数字,二是观测值的秩。

        kendall's \tau也是一个秩相关系数,测量两个观测量之间的而相关。它比spearman's \rho更难计算,但是有争论认为spearman's \rho的置信区间比kendall's \tau参数的置信区间更不可靠和难以理解。

        spearman相关系数python计算如下:

import numpy as np
from scipy import stats
# 录入数据
x=np.array([12,7,4,9,7,2,9,5,8,4])
y=np.array([19,13,8,8,13,14,12,10,12,11])rho,p=stats.spearmanr(x,y)
print("相关系数",rho)
print("p值",p)

        结论:x与y之相关性不显著。

        kendall相关系数python计算如下:

tau,p=stats.kendalltau(x,y)
print("相关系数:",tau)
print("p值:",p)

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

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

相关文章

谈谈Python中的单元测试和集成测试

谈谈Python中的单元测试和集成测试 Python中的单元测试和集成测试是软件开发过程中的重要环节,它们确保了代码的质量和稳定性。单元测试主要关注代码的最小可测试单元——通常是函数或类的方法,而集成测试则关注这些单元之间的协作和交互。下面&#xf…

Windows系统上运行appium连接iOS真机自动化测试

步骤: 1、windows安装tidevice工具 2、Mac系统打包安装WebDriverAgent(WDA)工具 3、安装Appium 4、连接iOS手机 iOS自动化的实现和执行都依赖Mac系统,因为需要通过Xcodebuild编译安装WDA (WebDriverAgent)到iOS设备中,通过WDA实现对被测应用进行操作。而Windows系统无…

LINUX系统触摸工业显示器芯片应用方案--Model4(简称M4芯片)

背景介绍: 触摸工业显示器传统的还是以WINDOWS为主,但近年来,安卓紧随其后,但一直市场应用情况不够理想,反而是LINUX系统的触摸工业显示器大受追捧呢? 触摸工业显示器传统是以Windows系统为主&#xff0c…

RTC实时显示时间(备份电源 备份域的作用)

RTC初始化配置 系统复位后,可通过 PWR 电源控制寄存器 (PWR_CR) 的 DBP 位保护 RTC 寄存器以防止 非正常的写访问。必须将 DBP 位置 1 才能使能 RTC 寄存器的写访问。 上电复位后,所有 RTC 寄存器均受到写保护。通过向写保护寄存器 (RTC_WPR) 写入一个…

电脑更新到win11后不能上网,更新win11后无法上网

越来越多的用户升级了win11系统使用,然而有些用户发现电脑更新到win11后不能上网了,这是怎么回事呢?而且奇怪的是,网络状态显示已连接,但就是无法上网,原本以为重置网络就能搞定,但结果相反。针对这一情况…

Android ViewStub

1.ViewStub ViewStub是一个可用于性能优化的控件,它是一个不可见的、零尺寸的View,可以在运行时进行延迟加载一个布局文件,从而提高显示速率。 viewstub和include比较像,都是在一个布局文件中嵌入另外一个布局文件,然…

如何在前后端一体的项目中引入element-ui,即引入index.js、index.css等文件。

24年接手了一个18年的项目&#xff0c;想使用el-ui的组件库&#xff0c;得自己手动引入。 通过官网可以知道&#xff0c;首先得准备以下文件 <!-- 引入样式 --> <link rel"stylesheet" href"https://unpkg.com/element-ui/lib/theme-chalk/index.css…

计算机视觉——Python OpenCV BGR转HSV

这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV)&#xff0c;在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能&#xff0c;接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…

第6章 6.1.1 文本格式化 sprintf函数(MATLAB入门课程)

sprintf函数源自 C 语言标准库中的同名函数&#xff0c;这个函数在 C 语言中用于创建格式化的字符串&#xff0c;且使用频率非常高。作为一门高级编程语言&#xff0c;MATLAB借鉴了 C 语言和其他编程语言中的许多特性和命名惯例。在MATLAB中&#xff0c;sprintf函数主要有两种用…

Redis系列之主从复制集群搭建

在上一篇博客&#xff0c;我们已经知道怎么搭建一个redis单机版&#xff0c;这篇博客基于之前的基础&#xff0c;来搭建一个redis主从同步&#xff0c;本博客框架是一主二从&#xff0c;一个主节点&#xff0c;其它两个从节点 实验环境 CentOS7Xshell6XFtp6Redis6.2.2 主从关…

Redis中的集群(二)

节点 集群数据结构 redisClient结构和clusterLink结构的相同和不同之处 redisClient结构和clusterLink结构都有自己的套接字描述符和输入、输出缓冲区&#xff0c;这两个结构的区别在于&#xff0c;redisClient结构中的套接字和缓冲区是用于连接客户端的&#xff0c;而clust…

手写一个民用Tomcat (03)

我们完成了这个 小型Tomcat 基本功能&#xff0c;但是他处理请求还是 一个一个的执行&#xff0c;并不能做到并行处理。 我们仿照Tomcat的思路来进行 一比一精准优化。 首先看一下我们的JxdHttpConnector 有什么改进&#xff0c;他可以理解成一个快递站领导&#xff0c;统一指挥…

Django实现的登录注册功能

1 前言 在Web开发中&#xff0c;用户登录和注册是最基本且必不可少的功能。Django&#xff0c;作为一个高级的Python Web框架&#xff0c;为我们提供了强大的工具和库来快速实现这些功能。下面&#xff0c;我将详细介绍如何使用Django来实现用户登录和注册功能。 2 功能介绍 …

MATLAB计算投资组合的cVaR和VaR

计算条件风险价值 (Conditional Value-at-Risk, cVaR) 是一种衡量投资组合风险的方法&#xff0c;它关注的是损失分布的尾部风险。 MATLAB代码如下: clc;close all;clear all;warning off;%清除变量 rand(seed, 100); randn(seed, 100); format long g;% 随机产生数据&#x…

Mac 安装 brew brew cask 遇到的问题以及解决办法

安装Homebrew和Homebrew Cask是在Mac上管理软件包的常用方法。虽然大多数情况下安装这两个工具是比较简单的&#xff0c;但有时候也可能遇到一些问题。下面是一些常见的问题以及解决办法&#xff1a; 问题1&#xff1a;无法安装Homebrew 解决办法&#xff1a; 1.确保你的Mac已连…

低代码ARM计算机在IIoT中的采集控制生产面板

工业4.0的大潮下工业物联网&#xff08;IIoT&#xff09;已成为推动制造业转型升级的重要动力。其中&#xff0c;低代码ARM嵌入式计算机凭借其出色的性能、灵活的配置以及高度集成化的特点&#xff0c;在工业设备远程监控、维护与诊断方面发挥着关键作用。 一、远程监控与维护 …

华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)

华为 2024 届校园招聘-硬件通⽤/单板开发——第一套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;共十套&#xff09;获取&#xff08;WX:didadidadidida313&#xff0c;加我…

【双指针】删除有序数组中的重复项

给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你…

【黑马头条】-day07APP端文章搜索-ES-mongoDB

文章目录 今日内容1 搭建es环境1.1 拉取es镜像1.2 创建容器1.3 配置中文分词器ik1.4 测试 2 app文章搜索2.1 需求说明2.2 思路分析2.3 创建索引和映射2.3.1 PUT请求添加映射2.3.2 其他操作 2.4 初始化索引库数据2.4.1 导入es-init2.4.2 es-init配置2.4.3 导入数据2.4.4 查询已导…

IT行业网络安全守护者-行云管家云堡垒机

IT行业即信息技术行业&#xff0c;是一个涵盖广泛的行业领域&#xff0c;主要涉及与信息的处理、存储、传输和应用相关的技术。对于IT行业而言&#xff0c;保障数据安全以及网络安全至关重要&#xff0c;一不小心就容易造成数据泄露事件。今天我们小编就给大家介绍一下IT行业网…