回归中的相关度和R平方值 学习笔记

回归中的相关度和R平方值

自变量x和因变量y的相关度
1.皮尔逊相关系数(Pearson Correlation Coefficient):
1.1衡量两个值线性相关强度的量
1.2取值范围[-1,1]:
正向相关: >0,负向相关: <0,无相关性: =0
公式:correlation, correlationvariance(Cov):协方差(两个量相关方差) Var:方差
在这里插入图片描述
变化得:
在这里插入图片描述
分子即为covariance,分母中开根号抵消一个Cov得到当前的分母.
2. 计算方法举例:
| X | Y |
| 1 | 10 |
| 3 | 12 |
| 8 | 24 |
| 7 | 21 |
| 9 | 34 |
正相关;无相关;负相关:
在这里插入图片描述

4. R平方值:(衡量做出的模型能多大比例解释y的变化)
4.1定义:决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例。
4.2描述:如R平方为0.8,则表示回归关系可以解释因变量80%的变异。换句话说,如果我们能控制自变量不变,则因变量的变异程度会减少80%
4.3 :简单线性回归: R^2= r* r(一个自变量x和一个因变量y)
多元线性回归:
在这里插入图片描述
SSR:Sum Square of Regression(由于建的模型不完全与数据一致而引起的变异程度的平方和)
SST:Sum Square of Total(所有点的变异量的平方和)
y_hat:为估计值,在模型线上;
y_bar:为平均值,所有y求均值;
y(i):即为实际的y的值
SSE:Sum Square of Error(自然误差浮动)(SSE+SSR=SST)
在这里插入图片描述
那么R^2=SSR/SST即表示我们的模型能表示该变异程度的所占比例
(绿线为对应的y为y的均值)
在这里插入图片描述

一般0.3~0.8表示拟合度较高

  1. R平方也有其局限性: R平方随着自变量(样本)的增加会变大,R平方和样本量是有关系的。因此,我们要到R平方进行修正。修正的方法:
    在这里插入图片描述
    变量说明见图片中描述
    R^2_adjusted用来评判线性模型对数据的拟合度的好坏

实例代码:

import numpy as np
import mathdef computeCorelation(X,Y): #计算corelationX_Bar = np.mean(X)Y_Bar = np.mean(Y)CovXY = 0var_X = 0var_Y = 0for i in range(0,len(X)):#对于所有的数据# 求corelation(X,Y)或者说求r_XYdiff_XXBar = X[i]-X_Bardiff_YYBar = Y[i]-Y_BarCovXY += (diff_XXBar*diff_YYBar)var_X += diff_XXBar**2var_Y += diff_YYBar**2VarXY = math.sqrt(var_X*var_Y)return CovXY/VarXY
#对于简单线性回归只需将此值平方即可得到R平方值testX = [1,3,8,7,9]
testY = [10,12,24,21,34]
print('r:',computeCorelation(testX,testY))
print('r*r:',computeCorelation(testX,testY)**2)# polynomial Regression
def polyfit(x,y,deg=1): #degree为方程的最高次方,这里为21次回归方程,deg=1results= {}coeffs = np.polyfit(x,y,deg=1)#polyfit可以在传入参数后自动计算出回归方程得到方程的各个斜率截距等参数results['polynomial'] = coeffs.tolist() #numpy中的list转换方法,只能用于数组、矩阵p = np.poly1d(coeffs) y_hat = p(x) #调用np中的1维的方程计算方法可以直接计算预测值y_haty_bar = np.mean(y)SSR = np.sum((y_hat-y_bar)**2) SST = np.sum((y-y_bar)**2)results['determination'] = SSR/SSTprint('results:',results) #polynomial的两个值对应斜率和截距return resultsprint('r^2:',polyfit(testX,testY)['determination'])

运行结果如下:

r: 0.94031007654487
r*r: 0.8841830400518192
results: {‘polynomial’: [2.65677966101695, 5.322033898305076], ‘determination’: 0.8841830400518196}
r^2: 0.8841830400518196

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

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

相关文章

智慧交通day02-车流量检测实现09:SORT/deepSORT

SORT和DeepSORT是多目标跟踪中两个知名度比较高的算法。DeepSORT是原团队对SORT的改进版本。现在来解析一下SORT和DeepSORT的基本思路。 1.SORT SORT核心是卡尔曼滤波和匈牙利匹配两个算法。流程图如下所示&#xff0c;可以看到整体可以拆分为两个部分&#xff0c;分别是匹配…

素数环 与 算法 全排列

在说起全排列前&#xff0c;先说一下昨天碰到的一个题目&#xff08;答案不是我做出来的&#xff0c;但是我感觉有好多个亮点&#xff0c;贴出来方便日后的学习&#xff09;&#xff1a; 素数环 时间限制&#xff1a;1000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;…

简单线性回归(Simple Linear Regression)和多元线性回归(Multiple Regression)学习笔记

简单线性回归(Simple Linear Regression) 0.前提介绍: 为什么需要统计量? 统计量:描述数据特征 0.1集中趋势衡量 0.1.1均值(平均数&#xff0c;平均值) (mean)&#xff1a;&#xff08;求和除以个数&#xff0c;Ex也可以表示x求均值&#xff09; 0.1.2中位数(median) : 将数…

智慧交通day02-车流量检测实现10:多目标追踪实现

在这里我们主要实现了一个多目标跟踪器&#xff0c;管理多个卡尔曼滤波器对象&#xff0c;主要包括以下内容&#xff1a; 初始化&#xff1a;最大检测数&#xff0c;目标未被检测的最大帧数 目标跟踪结果的更新&#xff0c;即跟踪成功和失败的目标的更新 初始化 def __init_…

智慧交通day02-车流量检测实现11:yoloV3模型

yoloV3以V1&#xff0c;V2为基础进行的改进&#xff0c;主要有&#xff1a;利用多尺度特征进行目标检测&#xff1b;先验框更丰富&#xff1b;调整了网络结构&#xff1b;对象分类使用logistic代替了softmax,更适用于多标签分类任务。 1.算法简介 YOLOv3是YOLO (You Only Loo…

bzoj1992鬼谷子的钱袋(二分乱搞 二进制)

1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3223 Solved: 2333Descriptio 鬼谷子非常聪明&#xff0c;正因为这样&#xff0c;他非常繁忙&#xff0c;经常有各诸侯车的特派员前来向他咨询时政。有一天&#xff0c;他在咸阳游历的时候&…

聚类(Clustering): K-means算法

聚类(Clustering): K-means算法 1.归类: 聚类(clustering)属于非监督学习(unsupervised learning) 无类别标记( class label) 3. K-means 算法&#xff1a; 3.1 Clustering 中的经典算法&#xff0c;数据挖掘十大经典算法之一 3.2 算法接受参数 k &#xff1b;然后将事先输入…

智慧交通day02-车流量检测实现12:基于yoloV3的目标检测

在本章节代码编写中&#xff0c;发现之前的代码所处的环境是python3&#xff0c;因此导致了cv2.dnn.readNetFromDarknet()在代码运行中导致了i[0]的获值失败&#xff0c;故总结如下&#xff1a; cv2.dnn.readNetFromDarknet()在python3上遇到的问题_李大狗的读研日记-CSDN博客…

cv2.dnn.readNetFromDarknet()在python3上遇到的问题

问题描述&#xff1a; 代码如下 net cv2.dnn.readNetFromDarknet(configPath,weightsPath) #获取YOLO每一层的名称 #getLayerNames&#xff08;&#xff09;&#xff1a;获取网络所有层的名称。 ln net.getLayerNames() # 获取输出层的名称: [yolo-82,yolo-94,yolo-106] # …

智慧交通day02-车流量检测实现13:基于虚拟线圈法的车辆统计+视频中的车流量统计原理解析

1.基于虚拟线圈法的车辆统计 基于虚拟线圈的车流量统计算法原理与交通道路上的常见的传统的物理线圈类似&#xff0c;由于物理线圈需要埋设在路面之下&#xff0c;因此会有安装、维护费用高&#xff0c;造成路面破坏等问题&#xff0c;而采用基于视频的虚拟线圈的车辆计数方法…

ubuntu 12.04 eclipse 安装

方法二&#xff1a;(优点是安装内容清爽&#xff0c;缺点是配置麻烦) 1、安装JDK&#xff0c;参考 Ubuntu 12.04 下安装 JDK 7 2、下载 Eclipse 从 http://www.eclipse.org/downloads/index-developer.php下载合适版本&#xff0c;如&#xff1a;Eclipse IDE for C/C Develope…

智慧交通day02-车流量检测实现14:代码汇总+问题修正

代码权重文件资源https://download.csdn.net/download/qq_39237205/43072746https://download.csdn.net/download/qq_39237205/43072746 环境要求&#xff1a;python2.7 环境配置&#xff1a;见文末requirements.txt 1.YOLO.py # encoding:utf-8 import imutils import tim…

从资源池和管理的角度理解物理内存

早就想搞一下内存问题了&#xff01;这次正趁着搞bigmemory内核&#xff0c;可以写一篇文章了。本文旨在记录&#xff0c;不包含细节&#xff0c;细节的话&#xff0c;google&#xff0c;百度均可&#xff0c;很多人已经写了不少了。我只是按照自己的理解记录一下内存的点点滴滴…

从头开始学一个android activity

一、类层次结构&#xff1a; 二、什么是Activity&#xff0c;如何理解Activity 1、 用户与应用程序的交互的接口 2、 控件的容器&#xff0c;我们要把控件摆放在这个容器中 三、如何创建一个Activity 新建一个类&#xff1a; 1、 继承Activity类 [java] view plaincopyprint…

python3 numpy中矩阵np.dot(a,b)乘法运算

python np.dot(a,b)乘法运算 首先我们知道矩阵运算是不满足交换律的&#xff0c;np.dot(a, b)与np.dot(b, a)是不一样的 另外np.dot(a,b)和a.dot(b)果是一样的 1.numpy中数组&#xff08;矩阵&#xff09;相乘np.dot(a,b)运算&#xff1a; 对于两数组a和b &#xff1a; 示例…

ML Backpropagation算法的计算过程举例

Backpropagation计算过程举例 初始权重(initialize weights)是随机产生的(如-1~1之间) 初始化可以选择均值为0&#xff0c;方差为1/n_in的正态分布&#xff0c;n_in为输入的实例个数&#xff0c;Python中可使用np.random.normal函数来初始化权重&#xff1a; np.random.normal…

Python基础知识__字符串

字符串介绍 一. 认识字符串 字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单&#xff0c;只要为变量分配一个值即可。 a hello world b "abcdefg" print(type(a)) print(type(b)) 注意&#xff1a;控制台显示结果为<cl…

智慧交通day03-车道线检测实现01:车道线检测概述

项目简介 汽车的日益普及在给人们带来极大便利的同时&#xff0c;也导致了拥堵的交通路况&#xff0c;以及更为频发的交通事故。而自动驾驶技术的出现可以有效的缓解了此类问题&#xff0c;减少交通事故&#xff0c;提升出行效率。 国内外检测车道线的方法主要有两类&#xf…

vsphere平台windows虚拟机克隆的小插曲(无法登陆系统)

问题&#xff1a; 1、克隆完windows虚拟化后输入法乱码。 2、开启远程的情况下远程登录输入正确的密码也无法登录。 解决&#xff1a; 1、更改管理员用户密码&#xff08;不输入原win7密码更改win7密码&#xff09;。 2、重新启用管理员。 3、重启系统 不输入当前密码改win密码…

智慧交通day03-车道线检测实现02-1:相机校正

1. 相机标定的意义 我们所处的世界是三维的&#xff0c;而照片是二维的&#xff0c;我们可以把相机认为是一个函数&#xff0c;输入量是一个场景&#xff0c;输出量是一幅灰度图。这个从三维到二维的过程的函数是不可逆的。 相机标定的一个目的是要找一个合适的数学模型&#…