回归分析简明教程【Regression Analysis】

news2024/9/22 19:34:13

为了理解回归背后的动机,让我们考虑以下简单的例子。 下面的散点图显示了2001年至2012年美国大学毕业生的数量。

在这里插入图片描述

现在根据现有的数据,如果有人问你2018年有多少名大学毕业生获得硕士学位呢? 可以看出,具有硕士学位的大学毕业生数量几乎与年份呈线性增长。 因此,通过简单的视觉分析,我们可以粗略估计该数字在 200万 到 210 万之间。 我们来看看实际数字。 下图绘制了从 2001 年到 2018 年的同一变量。可以看出,我们的预测数字与实际值大致相符。

在这里插入图片描述

由于这是一个比较简单的问题(将一条线拟合到数据),我们的大脑很容易就能做到这一点。 这种将函数拟合到一组数据点的过程称为回归分析(regression analysis)。

1、什么是回归分析?

回归分析是估计因变量和自变量之间关系的过程。 简而言之,这意味着将选定函数族中的函数拟合到某个误差函数下的采样数据。 回归分析是机器学习领域用于预测的最基本工具之一。 使用回归,你可以在可用数据上拟合函数,并尝试预测未来或保留数据点的结果。 这种功能拟合有两个目的。

  • 可以估计数据范围内的缺失数据(插值)
  • 可以估计数据范围之外的未来数据(外推法)

回归分析的一些现实示例包括根据房屋特征预测房屋价格、预测 SAT/GRE 分数对大学录取的影响、根据输入参数预测销售、预测天气等。

让我们考虑一下前面大学毕业生的例子。

  • 插值(interpolation):假设我们可以访问一些稀疏的数据,其中我们知道每 4 年大学毕业生的数量,如下面的散点图所示。
    在这里插入图片描述

我们想要估计其间所有缺失年份的大学毕业生人数。 我们可以通过将一条线拟合到有限的可用数据点来做到这一点。 这个过程称为插值(interpolation)。

在这里插入图片描述

  • 外推(extrapolation):假设我们只能获取 2001 年到 2012 年的有限数据,并且我们想要预测 2013 年到 2018 年的大学毕业生人数。
    在这里插入图片描述

可以看出,具有硕士学位的大学毕业生数量几乎与年份呈线性增长。 因此,将一条线拟合到数据集中是有意义的。 用这12个点拟合一条线,然后在未来6个点上测试这条线的预测,可以看出预测非常接近。
在这里插入图片描述

用数学语言定义回归分析,就是用指定的数据点在一定的损失函数约束下估计某个函数的参数:
在这里插入图片描述

2、回归分析的类型

现在我们来谈谈进行回归的不同方法。 根据函数族 (f_beta) 和使用的损失函数 (l),我们可以将回归分为以下几类。

  • 线性回归
  • 多项式回归
  • 岭回归
  • Lasso回归
  • ElasticNet回归
  • 贝叶斯回归
  • 逻辑回归

3、线性回归

在线性回归中,目标是通过最小化每个数据点的均方误差之和来拟合超平面(二维数据点的线)。

从数学上来说,线性回归解决了以下问题:
在这里插入图片描述

因此,我们需要找到 2 个用 beta 表示的变量来参数化线性函数 f(.)。 线性回归的示例如上图 4 所示,其中 P=5。 该图还显示了 beta_0 = -90.798 和 beta_1 = 0.046 的拟合线性函数

4、多项式回归

线性回归假设因变量 (y) 和自变量 (x) 之间的关系是线性的。 当数据点之间的关系不是线性时,它无法拟合数据点。 多项式回归通过将 m 次多项式拟合到数据点来扩展线性回归的拟合能力。 所考虑的函数越丰富,(一般来说)其拟合能力就越好。 从数学上来说,多项式回归解决了以下问题。
在这里插入图片描述

因此我们需要找到 (m+1) 个用 beta_0, …,beta_m 表示的变量。 可见,线性回归是2次多项式回归的特例。

考虑以下绘制为散点图的数据点集。 如果我们使用线性回归,我们得到的拟合显然无法估计数据点。 但如果我们使用 6 次多项式回归,我们会得到更好的拟合,如下所示:

在这里插入图片描述

[左] 数据散点图 — [中] 线性回归 — [右] 6 次多项式回归

由于数据点在因变量和自变量之间不存在线性关系,因此线性回归无法估计良好的拟合函数。 另一方面,多项式回归能够捕捉非线性关系。

5、岭回归

岭回归(Ridge Regression)解决了回归分析中的过度拟合问题。 要理解这一点,请考虑与上面相同的示例。 当25次多项式对10个训练点的数据进行拟合时,可以看到它完美地拟合了红色数据点(下中图)。 但这样做会损害中间的其他点(最后两个数据点之间的峰值)。 这可以从下图中看出。 岭回归试图解决这个问题。 它试图通过破坏训练点的拟合来最小化泛化误差。

在这里插入图片描述

[左] 数据散点图 — [中] 25 次多项式回归 — [右] 25 次多项式岭回归

从数学上来说,岭回归通过修改损失函数来解决以下问题:
在这里插入图片描述

函数 f(x) 可以是线性函数或多项式函数。 在没有岭回归的情况下,当函数过度拟合数据点时,学习到的权重往往会相当高。 岭回归通过在损失函数中引入权重 (beta) 的缩放 L2 范数来限制所学习的权重范数,从而避免过度拟合。

因此,训练模型在完美拟合数据点(学习权重的大范数)和限制权重范数之间进行权衡。 缩放常数 alpha>0 用于控制这种权衡。 较小的 alpha 值将导致较高的范数权重并过度拟合训练数据点。 另一方面,较大的 alpha 值将导致函数与训练数据点拟合较差,但权重范数非常小。 仔细选择 alpha 值将产生最佳权衡。

6、LASSO回归

LASSO 回归与 Ridge 回归类似,因为它们都用作防止训练数据点过度拟合的正则化器。 但 LASSO 还有一个额外的好处。 它强制学习权重的稀疏性。

岭回归强制学习权重的范数变小,从而产生一组总范数减少的权重。 大多数权重(如果不是全部)将不为零。 另一方面,LASSO 试图通过使大部分权重接近于零来找到一组权重。 这会产生一个稀疏权重矩阵,其实现比非稀疏权重矩阵更加节能,同时在拟合数据点方面保持相似的精度。

下图试图在与上面相同的示例中形象化这个想法。 使用 Ridge 和 Lasso 回归对数据点进行拟合,并按升序绘制相应的拟合和权重。 可以看出,LASSO回归中的大部分权重确实接近于零。
在这里插入图片描述

从数学上来说,LASSO回归通过修改损失函数来解决以下问题:

在这里插入图片描述

LASSO 和岭回归之间的区别在于 LASSO 使用权重的 L1 范数而不是 L2 范数。 损失函数中的 L1 范数往往会增加学习权重的稀疏性。 有关如何强制稀疏性的更多详细信息,请参阅这篇文章的 L1 正则化部分。

常数 alpha>0 用于控制学习权重的拟合度和稀疏度之间的权衡。 较大的 alpha 值会导致拟合效果不佳,但学习到的权重集会更稀疏。 另一方面,较小的 alpha 值会导致训练数据点紧密拟合(可能导致过度拟合),但权重集较少稀疏。

7、ElasticNet回归

ElasticNet 回归是 Ridge 回归和 LASSO 回归的组合。 损失项包括权重的 L1 和 L2 范数及其各自的缩放常数。 它通常用于解决 LASSO 回归的局限性,例如非凸性质。 ElasticNet 添加了权重的二次惩罚,使其主要是凸的。

从数学上来说,ElasticNet回归通过修改损失函数来解决以下问题:
在这里插入图片描述

8、贝叶斯回归

对于上面讨论的回归(频率论方法),目标是找到一组解释数据的确定性权重值(β)。 在贝叶斯回归中,我们不是为每个权重找到一个值,而是尝试在假设先验的情况下找到这些权重的分布。

因此,我们从权重的初始分布开始,并根据数据,利用贝叶斯定理将先验分布与基于可能性和证据的后验分布联系起来,将分布推向正确的方向。
在这里插入图片描述

当我们有无限数据点时,权重的后验分布在普通最小二乘解的解中变成脉冲,即方差接近于零。

寻找权重分布而不是一组确定性值有两个目的

  • 它自然地防止过度拟合的问题,因此充当正则化器
  • 它提供了置信度和权重范围,这比仅返回一个值更具逻辑意义。

让我们用数学方式表述这个问题并给出它的解决方案:

在这里插入图片描述

让我们对具有均值 μ 和协方差 Σ 的权重进行高斯先验,即:

在这里插入图片描述

根据可用数据 D,我们更新此分布。 对于当前的问题,后验将是具有以下参数的高斯分布:

在这里插入图片描述

详细的数学解释可以在这里找到。

让我们通过每次更新一个数据点的权重分布来查看顺序贝叶斯线性回归,直观地尝试理解它。 如下图:

在这里插入图片描述

贝叶斯回归根据输入数据 (x, y) 将后验分布推向正确的方向

随着每个数据点的包含,权重的分布变得更接近实际的基础分布。

下面的动画绘制了考虑单个新数据点时每个时间步的原始数据、预测的四分位数范围、权重的边际后验分布以及权重的联合分布。 可以看出,随着包含的点越多,四分位数范围就越窄(绿色阴影区域),边际分布围绕两个权重参数分布,方差接近于零,并且联合分布收敛于实际权重。

在这里插入图片描述

9、逻辑回归

逻辑回归在分类任务中派上用场,其中输出需要是给定输入的输出的条件概率。 从数学上来说,逻辑回归解决了以下问题:
在这里插入图片描述

考虑以下示例,其中数据点属于两个类别之一:{0(红色),1(黄色)},如下面的散点图所示。
在这里插入图片描述

[左] 数据点散点图 - [右] 在蓝色绘制的数据点上训练的逻辑回归

逻辑回归在线性或多项式函数的输出处使用 sigmoid 函数将输出从 (-♾️, ♾️) 映射到 (0, 1)。 然后使用阈值(通常为 0.5)将测试数据分类为两个类别之一。

看起来似乎逻辑回归不是回归,而是一种分类算法。 但事实并非如此。 你可以在 Adrian 的帖子中找到更多相关信息。

10、结束语

在本文中,我们研究了回归分析中的各种方法、它们的动机是什么以及如何使用它们。 下面的表格和备忘单总结了上面讨论的不同方法。

在这里插入图片描述
在这里插入图片描述


原文链接:回归分析简明教程 — BimAnt

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

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

相关文章

【数据挖掘torch】 基于LSTM电力系统负荷预测分析(Python代码实现)

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

Mitmproxy的使用

目录 1.背景 2.Mitmproxy 1)Windows安装 2)定制开发 3)启动 3.使用 4.问题 5.参考资料 1.背景 简单来说,背景就两个字“偷懒”,一个字“懒”。在API自动化脚本的开发中,一般都需要封装一下接口。如果没…

2023届浙江大学MPA提面A资格经验总结分享

本人是去年报考的浙大MPA项目,并通过提面获得了A资格,新一年浙大MPA项目提前批面试已经开始了,受达立易考周老师邀请来分享下我的提面经验,希望我的经验能对还在迷茫中的小伙伴有所帮助。 点开提面通知,首先看到…

2023项目管理产品排行榜:优化企业项目管理的顶级选择

随着全球竞争加剧和商业环境的变化,企业对项目管理的需求越来越迫切。优秀的项目管理产品能够帮助企业提高工作效率、资源利用率和项目交付质量。 本文参考了不同的产品测评网站,在众多项目管理产品中,总结了以下几款备受好评的项目管理工具&…

UNISOT让食品欺诈无处遁形

​​发表时间:2023年5月11日 全世界的消费者开始越来越关注食物的来源和采购方式。这是因为人们渴望吃得更健康、更用心,同时人们也认识到了购买可持续且合乎伦理道德的产品的必要性。 近年来,人们对食品溯源的渴望进一步加速,原…

go 中的代码漏洞检查

前言 不知道大家在开发 go 项目中有没有遇到过一些第三方包或者官方包中出现漏洞的问题,这些漏洞可能会影响到代码的功能、性能或者安全性。 现在针对这一问题,go 团队提供了 govulncheck 工具,帮助开发者快速地发现和修复这些漏洞。 什么…

一套AI+医疗模式的医院智慧导诊系统源码:springboot+redis+mybatis plus+mysql

一套AI医疗模式的医院智慧导诊系统源码 相关技术: 技术架构:springbootredismybatis plusmysqlRocketMQ 开发语言:java 开发工具:IDEA 前端框架:Uniapp 后端框架:springboot 数 据 库:mys…

利用Windows自带组件安全清理WinSXS目录的几种方法

WinSXS(Windows Side-by-side)是 Windows 操作系统的核心组件之一,位于系统目录下的一个文件夹中,它包含了操作系统的许多重要文件和组件,以及更新时对老旧软件版本的备份,它会随着时间的推移不断增加&…

ssh安全远程管理

目录 1、什么是ssh 2、ssh登陆 3、ssh文件传输 1、什么是ssh ssh是 Secure Shell 的缩写,是一个建立在应用层上的安全远程管理协议。ssh 是目前较为可靠的传输协议,专为远程登录会话和其他网络服务提供安全性。利用ssh 协议可以有效防止远程管理过程中…

vue3 axios接口封装

在Vue 3中,可以通过封装axios来实现接口的统一管理和调用。封装后的接口调用更加简洁,代码可维护性也更好。以下是一个简单的Vue 3中axios接口封装的示例: 1.首先,安装axios和qs(如果需要处理复杂数据)&am…

C#winform颜色、字体对话框控件使用实例

本文讲解C#winform颜色、字体对话框控件的使用 创建winform项目,添加按钮 代码如下: using System; using System.Drawing; using System.Windows.Forms;namespace ColorDialogDemo {public partial class Form1 : Form{public Form1(){InitializeComponent();}//颜色对话框…

移动硬盘不显示怎么办?正确解决方式看这里!

移动硬盘为存储带来了很大的方便,在对数据存储时,可做到即插即用,且其体积小、容量大,且比较安全可靠。但在实际的使用中,也会出现各种问题。请看下面2个常见案例。 案例1:“各位朋友,我新买了一…

史上最全免费在线 PDF 格式转换网站集合,10款利器赶紧收藏

hi,大家好我是技术苟,每天晚上22点准时上线为你带来实用黑科技!由于公众号改版,现在的公众号消息已经不再按照时间顺序排送了。因此小伙伴们就很容易错过精彩内容。喜欢黑科技的小伙伴,可以将黑科技百科公众号设为标星…

hive函数大全

hive函数大全 一级目录!!%&*-/<<<><>>>^absacosadd_monthsandarrayarray_containsasciiasinassert_trueatanavgbase64betweenbinbroundcasecbrtceilceilingchrcoalescecollect_listcollect_setconcatconcat_wscontext_ngramsconvcorrcoscountcovar…

Unity老虎机效果实现

实现效果如下&#xff1a; 实现效果为&#xff1a;外部传入数值&#xff0c;正常显示 老虎机抽取效果 用户可自定义行为&#xff1a;1&#xff0c;抽取的显示&#xff1b;2&#xff0c;抽取的最低时间 实现代码如下&#xff0c;可自行改写&#xff1a; using System.Collect…

Moebius数据库多活集群

背景 数据库是信息化的基石&#xff0c;支撑着整个业务系统&#xff0c;发挥着非常重要的作用&#xff0c;被喻为“IT的心脏”。因此&#xff0c;让数据库安全、稳定、高效地运行已经成为IT管理者必须要面对的问题。数据库在底层架构层面需要满足以下几点建设要求&#xff1a; …

虚拟机安装的问题

CentOS7报错: Host SMBus Controller not enabled! 1.在上图界面中直接输入root用户的密码登录到系统 2.输入命令&#xff0c;lsmod | grep i2c 3.输入命令&#xff0c;vi /etc/modprobe.d/blacklist.conf 创建黑名单&#xff0c;添加以下内容&#xff1a; blacklist i2c_piix…

851. 喧闹和富有;1765. 地图中的最高点;1171. 从链表中删去总和值为零的连续节点

851. 喧闹和富有 核心思想&#xff1a;这题的题意是找到比b有钱的人且这个人是最安静的人。简单的想法就是找出统计出所有b的有钱人&#xff0c;然后给有钱人的安静值排个序即可。给安静值排序这个我们可以进行优化一下&#xff0c;按照常规思路&#xff0c;我们统计出a的儿子…

Day02-作业(JavaScriptVue)

作业1&#xff1a;实现5秒之后&#xff0c;当前页面直接跳转到官网首页&#xff08;首页地址&#xff1a;https://www.itcast.cn&#xff09; 提示&#xff1a; 5秒之后&#xff0c;才触发某一个动作 素材&#xff1a; <!DOCTYPE html> <html lang"en"&…

【二叉树进阶】搜索二叉树的性能分析及其应用

文章目录 前言1. 二叉搜索树的性能分析2. 二叉搜索树的应用2.1 K模型2.2 KV模型英汉互译统计次数 3. 源码展示3.1 KV结构改造3.2 测试 前言 上一篇文章我们学习了搜索二叉树的实现&#xff0c;这篇文章我们来对搜索二叉树进行一个性能分析&#xff0c;并来讲解一下它的应用。 1…