简单线性回归:预测事物间简单关系的利器

简介: 简单线性回归:预测事物间简单关系的利器

🍀简介

数据科学领域,线性回归是一种基本而强大的统计分析方法。它广泛应用于各个领域,从经济学到生物医学研究,从市场营销到城市规划,目的是建立和利用变量之间的简单关系,以便预测未来趋势或做出决策。在本文中,我们将深入探讨简单线性回归的工作原理、应用场景和使用步骤,以帮助您更好地理解和应用这一强大的分析工具。


🍀什么是简单线性回归?

简单线性回归是一种线性回归模型的基本形式,用于分析两个变量之间的关系。其中一个变量被称为“自变量”或“预测变量”,而另一个变量被称为“因变量”或“响应变量”。简单线性回归假设自变量和因变量之间存在线性关系,即以自变量的值来预测因变量的值。


🍀简单线性回归的应用场景

  • 预测销售量:根据广告投入金额预测产品销售量。
  • 理解变量之间的关系:比如研究学习时间和考试分数之间是否存在正相关关系。
  • 预测趋势:根据过去几年的数据,预测未来的市场趋势。

使用步骤:

  • 收集数据:收集包含自变量和因变量的样本数据。
  • 数据预处理:对数据进行清洗,去除异常值或缺失数据。
  • 绘制散点图:可视化数据以了解自变量和因变量之间的总体关系。
  • 拟合回归线:使用最小二乘法拟合一条直线,使其最好地拟合数据分布。
  • 解释结果:根据回归线的斜率和截距解释变量之间的关系。
  • 进行预测:利用已知自变量的值,通过回归方程预测因变量的值。

注意事项:

  • 线性回归模型可能不适用于非线性关系的数据。
  • 数据的质量对于回归分析的准确性至关重要,要确保数据的准确性一致性
  • 线性回归模型的结果需要进行合理的解释和验证。

🍀代码演示

上代码前我们可以先了解一下最小二乘法

最小二乘法是一种常用的数学方法,用于拟合数据点与数学模型之间的关系。它的目标是通过调整模型的参数,使模型预测值与实际观测值之间的误差的平方和最小化。这种方法广泛应用于统计学、机器学习、工程学和自然科学等领域,用于分析和拟合数据,寻找数据背后的模式和趋势。

最小二乘法的基本思想是,通过最小化观测值与模型预测值之间的残差平方和来找到最优的模型参数。残差是指每个观测值与对应模型预测值之间的差异。通过求解最小化残差平方和的问题,可以得到最优的模型参数。

公式的推导可以看这位大佬的文章https://blog.csdn.net/weixin_40255714/article/details/125841394

import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2,3,4,5])
y = np.array([1,3,2,3,5])
plt.scatter(x,y)
plt.axis([0,6,0,6])
plt.show()
#  y = a*x+b  需要计算出a和b
x_mean = np.mean(x)
y_mean = np.mean(y)
num = 0.0 # 分子
d = 0.0  #  分母
for x_i,y_i in zip(x,y):
    num += (x_i-x_mean)*(y_i-y_mean)
    d += (x_i-x_mean)**2
a = num/d
b = y_mean-a*x_mean

a和b求出来之后,我们就可以进行绘制一下,记住这里指的是找到一条直线,使得每一个点的预测值和真实值之差达到最小

预测就很简单了,带入求值即可

🍀结论

简单线性回归是一种简单而有效的分析方法,可用于预测和理解变量之间的关系。通过收集和处理数据,我们可以建立一个可靠的回归模型,从而进行预测和决策。但要注意变量之间的线性关系是否真实存在,并且合理解释结果。希望本文对您理解简单线性回归有所帮助,并且能够在您的实际问题中应用这一强大的分析工具。

挑战与创造都是很痛苦的,但是很充实。

相关文章
|
自然语言处理 算法
向量检索服务的优缺点
使用向量检索服务的好处是它可以将文本信息转化为向量表示,并进行相似度计算。这使得能够高效地搜索与查询进行语义匹配的文本
1165 3
|
SQL 数据库 流计算
出现了 FlinkServerException 或 FlinkSQLException 错误
出现了 FlinkServerException 或 FlinkSQLException 错误
821 1
|
监控 数据可视化 数据库
服务监控:保障业务稳定运行的关键
随着数字化时代的到来,企业和组织对于其在线服务的可用性和性能提出了越来越高的要求。服务监控成为了确保业务连续性的关键工具之一。在本文中,我们将深入探讨服务监控的重要性,以及如何建立一个高效的监控系统来保障业务的稳定运行。
|
消息中间件 Java 中间件
秒懂消息队列MQ,万字总结带你全面了解消息队列MQ
消息队列是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件,所以掌握好消息队列MQ就变得极其重要。接下来我就将从零开始介绍什么是消息队列?消息队列的应用场景?如何进行选型?如何在Spring Boot项目中整合集成消息队列。
24594 10
秒懂消息队列MQ,万字总结带你全面了解消息队列MQ
|
13天前
|
Java API 开发工具
百宝箱开放平台 ✖️ Java SDK
百宝箱提供Java SDK,支持开发者集成其开放能力。需先发布应用,准备Java 8+及Maven环境,通过添加依赖安装SDK,并初始化客户端调用对话型或生成型智能体,实现会话管理、消息查询与文件上传等功能。
1061 0
百宝箱开放平台 ✖️ Java SDK
|
小程序 开发者 UED
支付宝小程序UI/UX设计原则与最佳实践
支付宝小程序UI/UX设计原则与最佳实践
541 6
|
传感器 物联网 5G
5G技术:物联网与实时通讯的融合
【9月更文挑战第27天】第五代移动通信技术(5G)与物联网(IoT)的融合正引领我们进入智能化新时代。5G凭借高速率、低时延和大连接等特点,为物联网的广泛应用奠定了基础。本文深入探讨5G技术特点及与物联网融合带来的革命性变革,涵盖智能家居、工业自动化、智慧城市和医疗健康等多个领域。尽管面临数据安全、网络建设和设备互操作性等挑战,但5G与物联网的融合将推动各行各业实现前所未有的变革和机遇,助力实现更加智能、互联的新时代。
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
1138 1
|
机器学习/深度学习 存储 自然语言处理
TCN时间卷积网络
翻译:《Sequence Modeling Benchmarks and Temporal Convolutional Networks 》
712 0