回归分析中的相关度(Corr)和R^2

article/2025/10/8 7:33:21

一、.皮尔逊相关系数(Pearson Correlation Coefficient)

1.可以用来衡量两个数值之间的线性相关程度

2.对应的取值范围为[-1,1],即存在正相关,负相关和不相关

3.计算公式:

\rho =Cor(X,Y)=\frac{Cov(X,Y)}{\sqrt{Var(X)Var(Y)}}

r_{xy}=\frac{\sum(x-\bar{x})(y-\bar{y})) }{\sqrt{\sum (x-\bar{x})^2\sum (y-\bar{y})^2}}

二、R^2

1.定义:决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例

2.描述:如R^2=0.8,则表示回归关系可以解释为因变量80%的变异。即,如果可以控制自变量保持不变,则因变量的变异程度会减少80%

3.简单线性回归的计算方式:R^2=r*r

4.多元线性回归的计算方式:R^{2}=\frac{SSR}{SST}=\frac{\sum (\hat{y_{i}}-\bar{y})^2}{\sum (y_{i}-\bar{y})^2}

SST=\sum_{i}^{}(y_{i}-\bar{y})^2

SSR=\sum_{i}^{}(\hat{y_{i}}-\bar{y})^2

SSE=\sum_{i}^{}(y_{i}-\hat{y_{i}})^2

5.R^2也具有一定的局限性,R^2会随着自变量的增大增大,R^2和样本量具有一定的关系。因此,为了改进R^2的局限性,我们要对R^2进行修正。修正的方法为:

R^{2}_{adjust}=1-\frac{(1-R^2)(N-1)}{N-P-1}

其中P为预测值的数量

N为总实例的数量。

3.应用实例代码即结果

import numpy as np
from astropy.units import Ybarn
import mathdef computerCorrelation(X, Y):XBar = np.mean(X)#X的均值YBar = np.mean(Y)#Y的均值SSR = 0#初始化SSRvarX = 0varY = 0for i in range (0, len(X)):diffXXBar = X[i] - XBardiffYYBar = Y[i] - YBarSSR += (diffXXBar  * diffYYBar )varX += diffXXBar**2varY += diffYYBar**2SST = math.sqrt(varX *varY )return SSR/SST
def polyfit (x, y,degree):#degree代表次数results = {}#把结果存储在results中coffs = np.polyfit(x, y, degree)#返回相关系数估计results['polynomfot'] = coffs .tolist()p = np.poly1d(coffs)#返回预测值yhatyhat = p(x)ybar = np.sum(y)/len(y)ssreg = np.sum((yhat-ybar)**2)print('ssreg:', str(ssreg))sstot = np.sum((y-ybar)**2)print('sstot:', str(sstot))results['determinotion'] = ssreg/sstotprint('results:', results)return resultstextX = [1, 3, 5, 7, 9]
textY = [10, 13, 15, 20, 35]
print('r:', computerCorrelation(textX, textY))
print('r^2:', str(computerCorrelation(textX, textY)**2))
print(polyfit(textX, textY, 1), 'determinotion')

运行结果:

r: 0.9136680531834395
r^2: 0.8347893114080164
ssreg: 324.9000000000002
sstot: 389.20000000000005
results: {'polynomfot': [2.8500000000000005, 4.350000000000008], 'determinotion': 0.8347893114080168}
{'polynomfot': [2.8500000000000005, 4.350000000000008], 'determinotion': 0.8347893114080168} determinotion


http://chatgpt.dhexx.cn/article/LqPtJ2Bd.shtml

相关文章

Python机器学习:corr()分析变量之间的相关关系

变量之间存在多重共线性的情况下会影响模型的精度,这里用相关矩阵corr()和热力图heatmap()可以直观地观察变量之间的相关关系,进而判断是否要对自变量进行删除,或者降维的操作。 首先用corr()构造相关矩阵研究变量之间的相关关系&#xff1a…

理解页面置换算法

对页面置换算法的理解: 在进程运行时,若其访问的页面不在内存,而需将其调入,但内存已无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区。选择调出页面的算法就称为页面置换算法。好的页面置…

Python实现页面置换算法

Python实现页面置换算法 FIFO LRU OPT 页面置换——FIFO、LRU、OPT Python实现页面置换算法页面置换算法:一、FIFO(先进先出置换算法)1.算法解析算法原理:当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘…

页面置换算法java_页面置换算法之Clock算法

1.前言 缓冲池是数据库最终的概念,数据库可以将一部分数据页放在内存中形成缓冲池,当需要一个数据页时,首先检查内存中的缓冲池是否有这个页面,如果有则直接命中返回,没有则从磁盘中读取这一页,然后缓存到内…

一文看懂页面置换算法

页面置换算法分为两类 1、局部页面置换算法 最优页面置换算法(OPT、optimal)先进先出算法(FIFO)最近最久未使用算法(LRU,Least Recently Used)时钟页面置换算法(Clock)最不常用算法…

虚拟内存页面置换算法

虚拟内存页面置换算法 虚拟地址空间页表分页式分段式段页式 页面置换算法最优置换算法( OPT)先进先出算法(FIFO)最近最久未使用算法(LRU) 虚拟内存是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间&a…

OS之页面置换算法

之前几篇博客记录了OS内存管理的一些知识和技术,接下来将继续深入,介绍一些页面置换算法,这里包括一些我们大家都略有耳闻的算法。 置换算法 当出现缺页故障时,需要从外存调入新的页面到内存中去,而如果此时内存已满…

os 页面置换算法

在进程运行过程中,若其所要访问的页面不在内存,而需把它们调入内存,但内部无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送到磁盘的对换区中。但应将哪个页面调出,须根据一定…

内存页面置换算法

前面我们说过了进程的调度算法,今天我们继续来盘内存页面的置换算法,给你整的明明白白的🤪🤪🤪。 内存页面置换算法主要有下面这么几种: 最佳页面置换算法(OPT)先进先出置换算法&a…

三种页面置换算法(详解)

地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选…

计算机操作系统——页面置换算法

声明:本篇博客参考书籍《计算机操作系统》(西安电子科技大学出版社) 文章目录 一、最佳页面置换算法1、基本知识2、算法思想 二、先进先出(FIFO)页面置换算法1、基本知识2、算法思想 三、最近最久未使用(L…

页面置换算法

文章目录 一、什么是页面置换算法?二、常用的页面置换算法1. FIFO(先进先出算法)2. OPT(最佳置换算法)3. LRU(最近最少使用算法)4. Clock(时钟置换算法)5. LFU(最不常用算法)6. MFU(最常使用算法) 三、程序设计 一、什么是页面置换算法? 进程运行时&…

一文讲懂页面置换算法,带例题详解

目录 ​什么是页面置换算法? ​缺页中断次数和页面置换次数 ​啥子是缺页? ​啥子是中断? ​啥子是缺页中断? ​缺页中断次数 ​最佳置换算法OPT和先进先出置换算法FIFO ​最佳置换算法OPT ​算法思想 ​算法优点 ​算…

回声状态网络ESN(原理)

回声状态网络ESN(原理) 结构特点 网络有3层:输入层 - 隐含层 - 输出层

基于回声状态网络(ESN)的时间序列预测

基于回声状态网络(ESN)的时间序列预测 matlab代码 ID:69100644585791395

【回声状态网络ESN预测】基于粒子群优化回声状态网络ESN实现数据预测附matlab代码

1 简介 由于结构简单,收敛速度快等优点,回声状态网络(Echo State Network, ESN)已被广泛的用于时间序列的预测.针对回声状态网络中随机生成权值矩阵带来的不适用于特定时间序列的问题,本文提出利用粒子群优化算法来优化回声状态网络部分随机权值..实验结果表明,本文提出的方法…

第二十九课.回声状态网络ESN

目录 Echo State NetworkESN的训练与预测关于ESN工作原理的理解 基于Numpy的ESN Echo State Network ESN的训练与预测 回声状态网络(Echo State Network)又称为库计算,即Reservoir Computing,被视为是一种神经网络的扩展。 Res…

【无人机】回波状态网络(ESN)在固定翼无人机非线性控制中的应用(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【MLPs+ESN】利用多层感知机MLPs对经典ESN(回声状态网络)的输出权值计算进行优化的MATLAB仿真

单独的ESN仿真: ESN的运行结果如下所示: 这个部分的误差为: 0.0435 ESN部分就不多做介绍了,你应该了解的,下面我们对ESN和BP改进和极限学习改进分别进行修改和说明,并进行仿真。 ESNBP的仿真: …

回声状态网络(ESN)实现手写数字识别(MNIST)

文章目录 回声状态网络状态方程输出方程分类问题 加载 MNIST 数据集标签 onehot 编码转化成时间序列训练 ESN储备池状态的时空分布测试结果 回声状态网络 状态方程 输出方程 分类问题 加载 MNIST 数据集 from torchvision.datasets import mnist train_set mnist.MNIST(./da…