数学建模——线性回归模型

简介: 数学建模——线性回归模型

1.线性回归模型的具体步骤和要点:

1.收集数据:

首先,需要收集与研究问题相关的数据。这些数据应包括一个或多个自变量(特征)和一个因变量(目标)。


2.探索性数据分析:

在建立模型之前,通常会对数据进行探索性分析,包括可视化和描述性统计分析,以了解数据的分布、相关性和异常值等情况。


3.选择模型:

根据问题的特点选择合适的线性回归模型。如果只有一个自变量,可以使用简单线性回归模型;如果有多个自变量,可以使用多元线性回归模型。


4.拟合模型:

利用最小二乘法或其他拟合方法来估计模型的参数。最小二乘法是一种常用的方法,它通过最小化观测值与模型预测值之间的残差平方和来确定参数。


5.评估模型:

评估模型的好坏以及对数据的拟合程度。常用的评估指标包括R平方、调整R平方、均方误差等。


1.R平方(R-squared):

R平方是一个衡量模型拟合优度的指标,表示因变量的变异中能被自变量解释的比例。R平方越接近1,说明模型对数据的拟合越好。


2.调整R平方(Adjusted R-squared):

调整R平方考虑了自变量的数量和样本量,相比于R平方更可靠。


3.残差分析:

分析残差是否呈现出随机分布,检查是否满足模型假设。


4.方差膨胀因子(VIF):

用于检测自变量之间的多重共线性问题。


6.解释结果:

分析模型的参数估计,理解自变量与因变量之间的关系。通过检查参数的符号和大小,可以了解自变量对因变量的影响方向和程度。


7.预测与应用:

利用拟合好的模型进行预测或者应用。可以使用模型对新的数据进行预测,也可以利用模型进行决策支持或政策制定等。


8.检验假设:

在应用模型时,需要检验模型的假设是否成立,例如线性关系、常数方差、独立误差等。如果假设不成立,可能需要对模型进行修正或者选择其他的建模方法。


2.线性回归模型公式分析包括以下几个方面:


image.png

3.模型代码实现


具体的需要根据具体数据磨合


1.代码_python

import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
# 准备数据
np.random.seed(0)
X = np.random.rand(100, 2)  # 两个自变量
y = 2 * X[:,0] + 3 * X[:,1] + np.random.randn(100)  # 因变量
# 添加常数项
X = sm.add_constant(X)
# 拟合线性回归模型
model = sm.OLS(y, X).fit()
# 绘制残差图
plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
plt.scatter(model.fittedvalues, model.resid)
plt.xlabel('Fitted values')
plt.ylabel('Residuals')
plt.title('Residuals vs Fitted')
# 绘制预测值与观测值的散点图
plt.subplot(1, 2, 2)
plt.scatter(model.fittedvalues, y)
plt.xlabel('Fitted values')
plt.ylabel('Observed values')
plt.title('Observed vs Fitted')
# 添加拟合直线
plt.plot(model.fittedvalues, model.fittedvalues, color='red')
plt.tight_layout()
plt.show()
# 绘制参数估计的置信区间
plt.figure(figsize=(8, 6))
model_params = model.params
conf_int = model.conf_int()
plt.errorbar(model_params.index, model_params, yerr=model_params - conf_int[:, 0], fmt='o')
plt.axhline(0, color='red', linestyle='--')
plt.xlabel('Parameters')
plt.ylabel('Estimate')
plt.title('Parameter Estimates with Confidence Intervals')
plt.xticks(rotation=45)
plt.show()

2.图形

image.png

相关文章
|
Python
数学建模——统计回归模型
数学建模——统计回归模型
698 0
|
存储 Java 测试技术
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
3155 0
|
算法 Java API
手把手教你用CPLEX求解一个数学模型(Java版)
手把手教你用CPLEX求解一个数学模型(Java版)
2547 0
手把手教你用CPLEX求解一个数学模型(Java版)
|
7月前
|
数据可视化 搜索推荐 程序员
低代码平台是什么?一文简述:低代码开发平台的分类、功能与构成
本文深入探讨了低代码的概念、分类及其构成,旨在为读者清晰阐述低代码的内涵与外延。文章从低代码的历史起源讲起,追溯至1982年James Martin的前瞻性预测,再到2014年Forrester正式提出“低代码”概念。文中详细解析了低代码与无代码的区别,并按代码量、适用范围、业务类型及使用者类型等多个维度进行分类。
|
安全 Java Linux
docker阿里云镜像加速
我们都知道因为某些原因我们访问外网都是比较慢的,比如我们使用maven下载依赖时是一个道理,同样的使用docker从docker.hub上下载镜像也是比较慢的。针对这种访问官网比较慢的情况有两种方案,第一种就是使用国内的仓库,第二种就是使用一个加速器。这里我们配置docker的镜像加速从来来实现提速。
14711 1
docker阿里云镜像加速
|
10月前
|
存储 缓存 监控
如何高效爬取天猫商品数据?官方API与非官方接口全解析
本文介绍两种天猫商品数据爬取方案:官方API和非官方接口。官方API合法合规,适合企业长期使用,需申请企业资质;非官方接口适合快速验证需求,但需应对反爬机制。详细内容涵盖开发步骤、Python实现示例、反爬策略、数据解析与存储、注意事项及扩展应用场景。推荐工具链包括Playwright、aiohttp、lxml等。如需进一步帮助,请联系作者。
|
机器学习/深度学习 编解码 算法
Deforum:动画制作与深度学习相结合的工具
Deforum 是一个专注于将动画制作与深度学习相结合的工具,旨在简化动画创作过程,同时提高动画的质量和复杂性。Deforum 通过结合计算机视觉、深度学习、生成对抗网络(GAN)等技术,为用户提供便捷且高效的动画制作工具。
339 3
|
数据挖掘 API 开发者
​Email API有哪些,最好的3个API接口有哪些
Email API如SendGrid、Mailgun和AOKSend是企业自动化邮件通信的关键工具。它们提供邮件发送、接收和管理功能,提升效率,优化客户体验。SendGrid以其高可靠性、强大分析和易于集成备受青睐;Mailgun以灵活性和高发送率著称;而AOKSend则以其高效、详细分析和易用性脱颖而出。通过使用这些API,企业能实现定制化邮件服务,跟踪性能,提升邮件营销效果。
|
开发框架 JavaScript 前端开发
django快速实现个人博客(附源码)
Django作为一款成熟的Python Web开发框架提供了丰富的内置功能,如ORM(对象关系映射)、Admin管理界面、URL分发、模板系统、表单处理等,使得开发者能够快速搭建Web应用,大幅提高了开发效率。下面介绍如何快速的通过django模板系统快速实现个人博客。
432 0