线性回归学习笔记

学习了王天一博士的机器学习40讲,做个小总结:
1、机器学习中,回归问题隐含了输入变量和输出变量均可连续取值的前提。
2、单变量线性回归,所有样本到直线的欧氏距离之和最小,即均方误差最小化。
3、最小二乘法的几何意义是,计算高维空间上的输出结果在由所有属性共同定义的低维空间上的正交投影。
4、线性回归拟合模型,选择StatsModels这个第三方库,因为它能提供更多的统计意义上的结论,利于更好的理解线性回归模型。
5、在模型拟合前,需要对输入数据做一些处理,比如指标异常值的处理、指标值的归一化等。
6、使用StatsModels模型拟合的步骤包括:
1)首先用add_constant函数,在每个输入数据后面添加一个1,将常数项纳入模型中;——为什么?
2)接着调用OLS,即普通最小二乘法(ordinary least squares),作为拟合对象,计算线性模型的参数;——为什么?
3)然后使用fit函数,获得拟合结果;
4)最后,可以用summary函数打印出拟合模型的统计特性;
7、模型拟合最核心的结果有,coef表示参数的估计值,也就是通过最小二乘法计算出来的权重系数;
下例中的拟合回归式为:y=3.0685x−19.4345;
std err代表参数估计的标准误差(standard error),表示的是估计值偏离真实值的平均程度;**虽然最小二乘法得到的是无偏估计量,也就是估计结果中不存在系统误差,**但每一个特定的估计值结果依然是在真实值附近波动。——怎么理解标粗的这里?
最后两列[0.025 0.975]给出了 95% 置信区间:每个参数真实值落在这个区间内的可能性是 95%。对于线性回归而言,置信下界和上界分别是估计值减去和加上二倍的标准误,也就是 coef±2×std err。
t和P>|t|是关键指标,评估拟合结果的统计学意义。
t代表t统计量(t-statistic),表示参数估计值与原始假设值之间的偏离程度;它的值越大代表,拟合的结果越可信;在线性回归中通常会假设待拟合的参数值为 0,此时的 t 统计量就等于估计值除以标准误。当数据中的噪声满足正态分布时,t 统计量就满足 t 分布,其绝对值越大意味着参数等于 0 的可能性越小,拟合的结果也就越可信。
P>|t|表示的是P值(p-value),代表当原假设为真时,数据等于观测值或者比观测值更为极端的概率;p值越接近于0,则代表计算出的参数越值得信任;简单地说,p 值表示的是数据与一个给定模型不匹配的程度,p 值越小,说明数据和原假设的模型越不匹配,也就和计算出的模型越匹配。
最上面部分的指标,是对模型拟合数据的程度的评价。
R-squared 表示的是 R2 统计量,也叫作决定系数(coefficient of determination),这个取值在[0, 1]之间的数量表示的是输出的变化中能被输入的变化所解释的部分所占的比例。在这个例子里,R2=0.905 意味着回归模型能够通过 x 的变化解释大约 91% 的 y 的变化,这表明回归模型具有良好的准确性,回归后依然不能解释的 9% 就来源于噪声。
R2统计量具有单调递增的特性,即使在模型中再添加一些和输出无关的属性,计算出来的 R2也不会下降。Adj. R-squared 就是校正版的 R2统计量。当模型中增加的变量没有统计学意义时,多余的不相关属性会使校正决定系数下降。校正决定系数体现出的是正则化的思想,它在数值上小于未校正的 R2统计量。
若是多元线性回归,可能会出现R方和P值矛盾的情况,这时候需要引入F统计量(F-statistic)这个指标,F统计量越大,则模型拟合得越好;F统计量主要应用在多元回归中,它检验的原假设是所有待估计的参数都等于 0,这意味着只要有一个参数不等于 0,原假设就被推翻。F 统计量越大意味着原假设成立的概率越低,理想的 F 值应该在百千量级。
多元线性回归,可能存在由于样本过少导致的过拟合现象,也有可能出现不同属性之间的共线性现象;换句话说,多元线性回归可以有足够的精确性,但对于该精确性的合理解释会比较难,因为在多个属性中,可能有其中多组子属性的组合都能拟合到近似最优的模型效果,但对不同组的子属性的组合解释,会因为属性不同而有很大区别,这就是统计学家莱奥·布雷曼口中的“罗生门”(Rashomon)。
将“罗生门”深挖一步,就是机器学习和统计学在认识论上的差异:统计学讲究的是“知其然,知其所以然”,它不仅要找出数据之间的关联性,还要挖出背后的因果性,给计算出的结果赋予令人信服的解释才是统计的核心。
相比之下,机器学习只看重结果,只要模型能够对未知数据做出精确的预测,那这个模型能不能讲得清楚根本不是事儿。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言深度解剖】(12):C语言库函数的学习和模拟实现,一篇文章就够了!

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏链接查看&…

python REST 请求验证

REST 请求验证 在Python中,可以使用cerberus库来进行REST请求的验证。以下是一个简单的示例,演示如何使用cerberus进行请求数据的验证。 首先,安装cerberus库: pip install cerberus # 安装cerberus库 -- Anaconda 环境下安装 …

非成对意象翻译中的内容制约范式再思考

Rethinking the Paradigm of Content Constraints in Unpaired Image-to-Image Translation 非成对意象翻译中的内容制约范式再思考 Xiuding Cai1 2, Yaoyao Zhu1 2, Dong Miao1 2, Linjie Fu1 2, Yu Yao1 2 蔡秀定 1 2 、朱瑶瑶 1 2 、苗东 1 2 、付林杰 1 2 、余瑶 1 2 Corre…

什么是直接内存(NIO)

直接内存不受 JVM 内存回收管理,是虚拟机的系统内存,常见于 NIO 操作时,用于数据 缓冲区,分配回收成本较高,但读写性能高,不受 JVM 内存回收管理。 举例 当上传一个较大文件(200M)…

模版方法详解

模板方法模式 1 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相…

RT-Thread中使用Mqtt

环境: 开发板:Panduola(stm32L475) KEIL5 开发环境 rtthread 4.0.3内核 使用ENV 配置Rtt MQTT 1.MQTT介绍 ​ 客户端 Client 使用MQTT的程序或设备。客户端总是通过网络连接到服务端。它可以发布应用消息给其它相关的客户端。订…

Python代码:三、读入字符串

1、题目 从变量输出开始。请使用input函数读入一个字符串,然后将其输出。 2、代码 import sys ainput() print(a) 3、在sublime运行的结果

客观需求验证的常见5大步骤(实施版)

我们在挖掘用户需求时,往往容易犯伪需求或需求错位等问题,因此需要进行客观需求验证。通过客观的验证,我们可以有效减少主观判断误差问题,确保需求的准确性,从而降低需求变更和项目风险的概率,减少开发成本…

intel三年来首次大更新竟然倒吸牙膏,线程数砍掉25%!

每年科技圈最热闹的几个话题,无非是几大科技公司发布新的产品,那这其中必然有核心巨头 intel 的身影。 据外媒 Benchlife 披露,英特尔计划在其 Arrow Lake-S 架构 Core Ultra 200 台式机 CPU 系列中推出共计 21 款 CPU。 这是 intel 首次在桌…

白酒:酒精度数对白酒风味的影响与品鉴技巧

云仓酒庄豪迈白酒作为品质的白酒品牌,其酒精度数对白酒风味的影响与品鉴技巧是品鉴爱好者关注的重点。酒精度数作为衡量白酒质量的一项重要指标,不仅决定了白酒的口感和风格,更在一定程度上体现了白酒的品质和价值。本文将探讨酒精度数对云仓…

Jmeter中线程组介绍

1.线程数的意义 Jmeter采用了线程来模拟用户,即1个线程代表1个用户,线程可以简单理解为计算机处理任务时的一个具体执行人。 一个任务可以由多个人(线程)共同完成,也可以由一个人(线程)来完成&a…

WebLogic SSL应用

SSL 安全套接字层(SSL)是通过在客户端和Web服务器端之间进行身份验证,并对双方交换的数据进行加密,从而提供安全连接。 验证类型: 单向:客户端验证Web服务器端证书 双向:客户端验证Web服务器证书, Web服务器验证客户端证书 Weblogic Server12c 支持 SSL 3.0 和 TLS1.0 …

智能防疫电梯模拟控制系统设计-设计说明书

设计摘要: 本设计是基于单片机的智能防疫电梯模拟控制系统,主要实现了多项功能。首先,系统进行无接触测温,如果温度正常则可以启动电梯运行,如果温度异常则电梯会报警提示有乘客体温异常,电梯不会运行。其…

Java | Leetcode Java题解之第88题合并两个有序数组

题目: 题解: class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 m - 1, p2 n - 1;int tail m n - 1;int cur;while (p1 > 0 || p2 > 0) {if (p1 -1) {cur nums2[p2--];} else if (p2 -1) {cur nums1[p…

使用单目相机前后帧特征点匹配进行3D深度估计的方法

在计算机视觉和机器人领域,三维空间感知是实现环境理解和交互的核心技术之一。特别是在资源受限的场合,使用针孔模型的单目相机进行深度估计成为了一种既经济又实用的解决方案。单目深度估计技术依赖于从连续视频帧中提取和匹配特征点,以估计…

dbeaver 链接 Oceanbase 数据库,dbeaver安装数据库驱动

新增驱动 提前到Oceanbase官网下载好驱动 1、点击数据库 -> 驱动管理器 -> 新建 2、添加驱动文件 联接数据库 1、选择你添加的驱动 2、测试

CST电磁仿真软件远场变更和结果相关【从入门到精通】

1、使用阵列系数计算阵列远场结果 对单一天线进行 仿真分析后,查看反映阵列系数的远场结果! Navigation Tree > Farfields > Selection > Farfield Plot > Array Factor 下面介绍一下,对单一天线进行仿真后,轻松计…

小白必看:新手学编程必会的100个代码

前言 我记得刚开始接触编程的时候,觉得太难了。 也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧? 他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程…

线性模型之岭回归的用法

实战:使用岭回归模型 完整代码: import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split fro…

C语言收尾 预处理相关知识

一. 预处理详解 1.1 预定义符号 FILE //进行编译的源文件LINE //文件当前的行号DATE //文件被编译的日期TIME //文件被编译的时间FUNCTION //文件当前所在的函数STDC //如果编译器遵循ANSI C标准,其值为1,否则未定义 这些预定义符号都是语言内置的 我们…