回归分析:预测和建模

回归分析:预测和建模

  • 写在开头
  • 1. 回归分析的基本概念
  • 2. 回归分析的方法
    • 2.1 简单线性回归
      • 2.1.1 数学知识
      • 2.1.2 应用举例
    • 2.2 多元线性回归
      • 2.2.1 数学公式和应用
      • 2.2.1 应用场景举例
    • 2.3 多项式回归
      • 2.3.1 数学公式和应用
      • 2.3.2 应用场景举例
    • 2.4 逻辑回归
      • 2.4.1 数学公式和应用
      • 2.4.2 应用场景举例
  • 3.模型评估
    • 3.1 均方误差(Mean Squared Error,MSE):
    • 3.2 均方根误差(RMSE):
    • 3.3 决定系数(Coefficient of Determination,R²)
    • 3.4 平均绝对误差(Mean Absolute Error,MAE)
    • 3.5 拟合优度(Goodness of Fit)
    • 3.6 交叉验证
  • 写在最后

写在开头

回归分析是数据科学中一项不可或缺的工具,为我们提供了洞察变量之间关系的能力,使我们能够更准确地预测未来趋势并进行有力的建模。在本篇博客中,我们将深入探讨回归分析的核心概念和方法,通过具体场景、实例代码以及深刻的统计学知识,助力读者在预测与建模的复杂领域中游刃有余。

1. 回归分析的基本概念

回归分析旨在探讨一个或多个自变量与因变量之间的关系。其中,自变量是影响因变量的因素,而因变量是我们希望预测或解释的变量。简而言之,回归分析可以帮助我们了解变量之间的相互作用,并用这些关系进行预测。

2. 回归分析的方法

下面是回归分析的一些对比和介绍,可以帮助你更好的理解回归分析。

回归类型优点缺点适用范围注意事项应用场景举例
简单线性回归- 易于理解和实现。- 仅适用于线性关系。- 适用于仅包含一个自变量和一个因变量的简单关系。- 确保数据符合线性假设。- 广告费用与销售额之间的关系。
多元线性回归- 考虑多个自变量,能够更准确地建模真实世界复杂关系。- 对多重共线性敏感。- 适用于多个自变量与一个因变量之间的复杂关系。- 检测和处理多重共线性。- 房价与面积、卧室数量、浴室数量等因素的关系。
多项式回归- 能够拟合非线性关系。- 对高阶多项式的拟合可能过度复杂,容易过拟合。- 适用于数据呈现非线性关系,但避免使用过高阶多项式。- 谨慎选择多项式的阶数,避免过拟合。- 温度与销售额之间可能存在非线性关系。
逻辑回归- 用于二分类问题,输出结果可解释为概率。- 对多类别问题不直接适用。- 适用于二分类问题,如是/否、成功/失败等。- 确保样本均衡,避免过拟合。- 产品是否被购买的预测,疾病是否发病的概率预测。

在选择回归分析方法时,需要综合考虑数据的性质、问题的复杂程度以及模型的可解释性。不同类型的回归方法各有优劣,合适的方法应根据具体情况进行选择。注意事项的遵循可以提高建模的准确性和可靠性,确保模型的实际应用效果更好.

2.1 简单线性回归

简单线性回归是一种统计分析方法,用于研究两个变量之间的关系。它假设有一个自变量(输入变量)和一个因变量(输出变量)之间存在线性关系。简单线性回归的目标是建立一条直线,描述自变量和因变量之间的关系,使得通过该直线可以预测或解释因变量的值。

2.1.1 数学知识

简单线性回归模型的数学表示为: y = β 0 + β 1 x + ε y = \beta_0 + \beta_1x + \varepsilon y=β0+β1x+ε

其中, y y y是因变量, x x x是自变量, β 0 \beta_0 β0 β 1 \beta_1 β1是回归方程的截距和斜率, ε \varepsilon ε是误差项,代表模型无法解释的随机误差。

在简单线性回归中,通过收集一组包含自变量和因变量值的数据,使用统计方法拟合直线,以找到最适合数据的回归线。这条拟合的直线可以帮助理解自变量和因变量之间的关系,并用于预测新的因变量值,基于给定的自变量值。简单线性回归是回归分析中的基础,它可以用于探索和量化两个变量之间的线性关系,但需要注意,它仅适用于具有线性关系的数据,并且在应用时需要满足一些假设前提。

2.1.2 应用举例

在python中来构建线性回归的模型非常多,比如scikit-learn,Statsmodels,TensorFlow,PyTorch,XGBoost,LightGBM,CatBoost等等,非常之多。在这里我们以 Python 中的 scikit-learn 库展示相应的代码。

假设我们有一组包含广告费用和销售额的数据,以此来建立简单的线性回归分析模型,代码如下:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression# 生成模拟数据
np.random.seed(1)
ad_costs = np.random.rand(100, 1) * 50  # 广告费用(假设范围在0到50之间)
sales = 15 + 0.5 * ad_costs + np.random.randn(100, 1) * 5  # 生成销售额数据(加入随机噪声)# 绘制数据散点图
plt.scatter(ad_costs, sales, label='原始数据')
plt.title('广告费用与销售额关系')
plt.xlabel('广告费用')
plt.ylabel('销售额')# 使用线性回归模型拟合数据
model = LinearRegression()
model.fit(ad_costs, sales)# 打印R方,系数和截距
r_squared = model.score(ad_costs, sales)
print('R方值:', r_squared)
print('模型系数 (斜率):', model.coef_[0][0])
print('模型截距:', model.intercept_[0])# 绘制回归线
plt.plot(ad_costs, model.predict(ad_costs), color='red', label='回归线')plt.legend()
plt.show()

运行上述代码后,结果如下图:
1.1
从上面的运行结果来看,建立的数据模型的R方值为0.704,这说明上述的线性回归模型,能解释70.4%的销售额变化。这个构建好的关系表达式为 y = 0.4685 ∗ x + 16.1848 y = 0.4685 * x +16.1848 y=0.4685x+16.1848。从R方的值来看,这个构建的模型效果还算ok,如果我们追求更高的拟合程度,可以考虑引入更多的特征、构建多项式回归、进行特征工程或使用其他模型。

2.2 多元线性回归

多元线性回归是用于研究多个自变量与一个因变量之间的关系。与简单线性回归不同,多元线性回归包含多个自变量,通过建立一个线性模型来探索和解释这些自变量与因变量之间的关系。

2.2.1 数学公式和应用

多元线性回归模型的数学表示为:
y = β 0 + β 1 x 1 + β 2 x 2 + … + β p x p + ε y = \beta_0 + \beta_1x_1 + \beta_2x_2 + \ldots + \beta_px_p + \varepsilon y=β0+β1x1+β2x2++βpxp+ε

其中, y y y是因变量, x 1 , x 2 , … , x p x_1, x_2, \ldots, x_p x1,x

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

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

相关文章

用gdal校正遥感影像

目录 代码示例有相应的RPC文件用gdal命令行校正 使用 gdal.Warp函数可以非常方便对遥感影像进行正射校正,这个过程需要我们确定目标影像的几何信息,包括坐标系、分辨率以及需要配准到的区域或基准影像 代码示例 以下是一个使用gdal.Warp配准影像的基本…

matlab科学计算

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

【4】基于多设计模式下的同步异步日志系统-框架设计

7. 日志系统框架设计 本项⽬实现的是⼀个多日志器日志系统,主要实现的功能是让程序员能够轻松的将程序运行日志信息落地到指定的位置,且⽀持同步与异步两种方式的日志落地方式。 项目的框架设计将项目分为以下几个模块来实现。 日志等级模块 日志等级模…

如何进行卷积特征可视化

大家好啊,我是董董灿。 之前写过很多关于卷积算法的文章:5分钟理解什么是卷积的特征提取。总的来说,卷积算法的本质是一个特征提取器。 那么既然卷积神经网络在图像分类、图像检测、图像分割以及其他领域有这么好的表现,卷积到底…

苍穹外卖--销量排名Top10

销量排名Top10 需求分析和设计 产品原型 所谓销量排名,销量指的是商品销售的数量。项目当中的商品主要包含两类:一个是套餐,一个是菜品,所以销量排名其实指的就是菜品和套餐销售的数量排名。通过柱形图来展示销量排名&#xff…

【动手学深度学习】(六)权重衰退

文章目录 一、理论知识二、代码实现2.1从零开始实现2.2简洁实现 【相关总结】 主要解决过拟合 一、理论知识 1、使用均方范数作为硬性限制(不常用) 通过限制参数值的选择范围来控制模型容量 通常不限制偏移b 小的意味着更强的正则项 使用均方范数作为柔…

多项式拟合求解

目录 简介 基本原理 例1 例2 例3 参考资料 简介 多项式拟合可以用最小二乘求解,不管是一元高阶函数,还是多元多项式函数,还是二者的混合,都可以通过统一的方法求解。当然除了最小二乘法,还是其他方法可以求解&…

极兔速递查询,极兔速递单号查询,根据更新量筛选出来需要的单号

批量查询极兔速递单号的物流信息,并根据物流更新量将需要的单号筛选出来。 所需工具: 一个【快递批量查询高手】软件 极兔速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的伙伴记得先注册&…

express搭建后台node接口

在前端的学习中我们使用express来开发接口结合mysql,然后使用可视化的数据库工具来操作数据, web框架是express 文档是jsdoc swagger 数据库模型是sequelize 部署使用PM2来上服务器, 打包你也可以结合webpack配置target node状态 当然你也可以…

糟了,数据库崩了,又好像没崩

前言 2023 年某一天周末,新手程序员小明因为领导安排的一个活来到公司加班,小明三下五除二,按照领导要求写了一个跑批的数据落库任务在测试环境执行 ,突然间公司停电了,小明大惊,“糟了,MySQL …

cc-product-waterfall仿天猫、淘宝购物车店铺商品列表组件

cc-product-waterfall仿天猫、淘宝购物车店铺商品列表组件 引言 在电商应用中,购物车体验的优化对于提升用户满意度和转化率至关重要。在本文中,我们将深入探讨如何使用cc-product-waterfall组件,结合uni-number-box和xg-widget,…

【Linux】统计文件数量:ls -l | grep ^- | wc -l

统计文件数量:ls -l | grep ^- | wc -l ✅ 查看某文件夹下 文件 的个数(不包含子目录中的文件)(因为目录的权限首字母为 d:代表文件夹) ls -l | grep ^- | wc -lls -l:列出当前目录下所有文件&…

frida - 4.hook结合python调用

使用Python注入Frida主要有以下几种模式: Spawn 模式:在目标设备上启动一个新的应用程序进程,并在该进程中运行Frida脚本。这种模式 非常适用于对未安装的应用程序进行注入。 Attach 模式:在目标设备上附加到已经运行的应用程序进程,并在该进程中运行Frida脚本。这种 模式非常…

C++-如何避免内存泄漏

目录 一.内存泄漏 1.什么是内存泄漏,内存泄漏的危害 2.内存泄漏分类 3.如何检测内存泄漏 4.如何避免内存泄漏 一.内存泄漏 1.什么是内存泄漏,内存泄漏的危害 什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存…

速速收藏!纯C实现的MD5哈希校验算法~!

速速收藏!纯C实现的MD5哈希校验算法~! 只有一个函数: void MD5(const void* buf, unsigned int len, unsigned char output[16]); 在线验证网站:https://www.sojson.com/md5/ 头文件 /*** \file md5.h** \brief MD5 message dig…

软著项目推荐 深度学习手势识别算法实现 - opencv python

文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习手势识别算法实现 - opencv python 该项目较为新颖…

【数据库设计和SQL基础语法】--SQL语言概述--SQL的基本结构和语法规则(二)

一、数据控制语言(DCL) 1.1 授权(GRANT) 数据控制语言(DCL)是SQL的一个子集,用于控制数据库中的数据访问和权限。GRANT语句是DCL中的一种,用于向用户或角色授予特定的数据库操作权…

计算机网络 | 物理层下 传输媒介、信道复用技术,带宽接入技术

文章目录 3. 物理层下面的传输媒介3.1 导引型传输媒介3.2 非导引型传输媒介 4 信道复用技术5 数字传输系统5.1 旧的数字系统5.2 新数字系统 6 带宽接入技术6.1 DSL(数字用户线)6.2HFC 光纤同轴混合网6.2.1 接入 6.3 FTTx技术 3. 物理层下面的传输媒介 传…

层规范化(Layer Normalization)和正则化(Regularization)

层规范化(Layer Normalization)和正则化(Regularization)是两个不同的概念,尽管它们都在机器学习和深度学习中非常重要,但它们的目的和应用方式有所不同。 层规范化(Layer Normalization&#x…

KALI LINUX攻击与渗透测试

预计更新 第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 …