当前位置: 首页 > news >正文

Python数学建模之回归分析

1.基本概念及应用场景        

        回归分析是一种预测性的建模技术,数学建模中常用回归分析技术寻找存在相关关系的变量间的数学表达式,并进行统计推断。例如,司机的鲁莽驾驶与交通事故的数量之间的关系就可以用回归分析研究。回归分析根据变量的数目分为一元回归和多元回归,根据自变量和因变量的表现形式分为线性和非线性

回归模型:描述因变量y如何依赖于自变量x和误差项e的方程。

回归方程:描述因变量y如何依赖于自变量x的方程。

2.回归分析的一般步骤

  • 确定回归方程中的解释变量和被解释变量
  • 确定回归模型,建立回归方程
  • 对回归方程进行各种检验
  • 用回归方程进行预测

3.一元线性回归分析

1.概念

例子:

  • 人均收入是否显著影响人均食品消费支出
  • 贷款余额是否影响到不良贷款
  • 航班正点率是否对顾客投诉次数有显著影响

回归模型: 

y=\beta _{0}+\beta _{1}x+\epsilon

\beta _{0}:截距

\beta _{1}:斜率

\epsilon:误差项,反映随机因数对y的影响,是不可避免的

回归方程:

y=\beta _{0}+\beta _{1}x

        若回归方程中的未知参数已知,则对于给定的x值,可计算出y的期望值。

        用样本统计量代替未知参数,就得到估计的回归方程,称回归直线。

2.最小二乘法求参数

        常用最小二乘法,即使残差(因变量的观察值与估计值的离差)平方和达到最小求参数:

Q=\sum (y-\widehat{y})^{2}=\sum (y-\widehat{\beta} _{0}-\widehat{\beta }_{1}x)^{2}

展开:

Q=\sum y^{2}+n\widehat{\beta} ^{2}_{0}+\widehat{\beta} ^{2}_{1}\sum x^{2}+2\widehat{\beta}_{0}\widehat{\beta}_{1}\sum x-2\widehat{\beta}_{0}\sum y-2\widehat{\beta}_{1}\sum xy

求偏导并整理:

\left\{\begin{matrix} \widehat{\beta }_{1}=\frac{n\sum xy-\sum x\sum y}{n\sum x^{2}-(\sum x)^2 }\\ \widehat{\beta }_{0}=\overline{y}-\widehat{\beta _{1}}\overline{x} \end{matrix}\right.

代入数据即可得到\widehat{\beta }_{0}\widehat{\beta }_{1}

3.点估计

        将x的值代入回归方程即可得对应\widehat{y}的点估计值。

4.区间估计

估计标准误差:

s_{e}=\sqrt{\frac{\sum (y-\widehat{y})^{2}}{n-k}}

        估计标准误差越小,则数据点围绕回归直线的分散程度越小,回归方程的代表性越大,可靠性越高。

置信区间:

\widehat{y_{0}}\pm t_{\frac{\alpha }{2}}s_{e}\sqrt{\frac{1}{n}+\frac{(x_{0}-\overline{x})^{2}}{\sum (x-\overline{x})^{2}}}

预测区间:

\widehat{y_{0}}\pm t_{\frac{\alpha }{2}}s_{e}\sqrt{1+\frac{1}{n}+\frac{(x_{0}-\overline{x})^{2}}{\sum (x-\overline{x})^{2}}}

\alpha:显著性水平

1-\alpha:置信水平

t_{\frac{\alpha }{2}}:即t_{\frac{\alpha }{2}}(n-k),n-k为残差自由度(样本容量-回归系数的数量),一元线性回归方程中k=2

模型建立和求解的Python代码:

import numpy as np
import statsmodels.api as sm
import scipy.stats as stats
import matplotlib.pyplot as plt
plt.rc('font', family='SimHei')  # 用来正常显示中文标签
plt.rc('axes', unicode_minus=False)  # 用来正常显示负号# 输入数据
x = np.array([143, 145, 146, 147, 149, 150, 153, 154, 155, 156, 157, 158, 159, 160, 162, 164])
y = np.array([88, 85, 88, 91, 92, 93, 93, 95, 96, 98, 97, 96, 98, 99, 100, 102])# 添加截距项
X = sm.add_constant(x)# 求参数值
model = sm.OLS(y, X).fit()
beta = model.params
print("参数值:")
print("beta0 =", beta[0])
print("beta1 =", beta[1])# 点估计
x0 = float(input("x="))
y_pred = beta[0] + beta[1] * x0
print("点估计预测值:", y_pred)# 计算标准误差
se = np.sqrt(model.mse_resid)# 自由度
n = len(x)
df = n - model.df_model - 1# 置信水平和 t 分位数
alpha = 0.05
t = np.abs(stats.t.ppf(alpha/2, df))# 计算置信区间和预测区间
x_mean = np.mean(x)
x_var = np.sum((x - x_mean)**2)
conf_interval = t * se * np.sqrt(1/n + (x - x_mean)**2 / x_var)
pred_interval = t * se * np.sqrt(1 + 1/n + (x - x_mean)**2 / x_var)# 绘制原始数据和回归直线
plt.scatter(x, y, color='blue', marker='*', label='原始数据')
plt.plot(x, model.fittedvalues, color='red', label='回归直线')
plt.xlabel('x')
plt.ylabel('y')# 绘制置信区间和预测区间
plt.fill_between(x, model.fittedvalues - conf_interval, model.fittedvalues + conf_interval, color='gray', alpha=0.3, label='置信区间')
plt.fill_between(x, model.fittedvalues - pred_interval, model.fittedvalues + pred_interval, color='yellow', alpha=0.3, label='预测区间')plt.legend()
plt.show()

5.模型检验

1.回归直线的拟合优度

        回归直线与各观测点的接近程度称为回归直线对数据的拟合优度。

        评价拟合优度的指标:

  • 总平方和(TSS):反映因变量的n个观测值与其均值的总离差

TSS=\sum y_{i}^{2}=\sum (y_{i}-\overline{y}_{i})^{2}

  • 回归平方和(ESS):反映了y的总变差中,由于x与y之间的线性关系引起的y的变化部分

ESS=\sum \widehat{y_{i}}^{2}=\sum (\widehat{y_{i}}-\overline{y}_{i})^{2}

  • 残差平方和(RSS):反映了其他因素对y变差的作用,是不能由回归直线来解释的y的变差部分

RSS=\sum e_{i}^{2}=\sum (y_{i}-\widehat{y_{i}})^{2}99

相关文章:

Python数学建模之回归分析

1.基本概念及应用场景 回归分析是一种预测性的建模技术,数学建模中常用回归分析技术寻找存在相关关系的变量间的数学表达式,并进行统计推断。例如,司机的鲁莽驾驶与交通事故的数量之间的关系就可以用回归分析研究。回归分析根据变量的…...

单片机学习笔记---DS18B20温度传感器

目录 DS18B20介绍 模拟温度传感器的基本结构 数字温度传感器的应用 引脚及应用电路 DS18B20的原理图 DS18B20内部结构框图 暂存器内部 单总线介绍 单总线电路规范 单总线时序结构 初始化 发送一位 发送一个字节 接收一位 接收一个字节 DS18B20操作流程 指令介…...

【网络】WireShark过滤 | WireShark实现TCP三次握手和四次挥手

目录 一、开启WireShark的大门 1.1 WireShark简介 1.2 常用的Wireshark过滤方式 二、如何抓包搜索关键字 2.1 协议过滤 2.2 IP过滤 ​编辑 2.3 过滤端口 2.4 过滤MAC地址 2.5 过滤包长度 2.6 HTTP模式过滤 三、ARP协议分析 四、WireShark之ICMP协议 五、TCP三次握…...

开源免费的Linux服务器管理面板分享

开源免费的Linux服务器管理面板分享 一、1Panel1.1 1Panel 简介1.2 1Panel特点1.3 1Panel面板首页1.4 1Panel使用体验 二、webmin2.1 webmin简介2.2 webmin特点2.3 webmin首页2.4 webmin使用体验 三、Cockpit3.1 Cockpit简介3.2 Cockpit特点3.3 Cockpit首页3.4 Cockpit使用体验…...

leetcode算法-位运算

位运算,直接在二进制上进行的按位操作,位运算的种类如下: 1.按位异或^:异或的含义是操作的两位不同,则结果为1,相同则结果为0,所以两个相同的数异或,结果应该是0,3^3的结果是0,3^4的…...

「MySQL」约束

概述 分类 约束描述关键字非空约束限制该字段的数据不能为 nullNOT NULL唯一约束保证该字段的所有数据都是唯一、不重复的UNIQUE主键约束主键是一行数据的唯一标识,要求非空且唯一PRIMARY KEY默认约束保存数据时,如果未指定该字段的值,则采…...

C语言:详解操作符(下)

上一篇链接:C语言:详解操作符(上)摘要: 在上篇文章中,我们已经讲过位操作符等涉及二进制的操作符,这些有助于帮助我们后期理解数据如何在计算机中运算并存储,接下来本篇将更多的讲述…...

Vue3.0(六):VueX 4.x详解

Vuex4状态管理 什么是状态管理 在开发中,我们的应用程序需要处理各种各样的数据,这些数据需要保存在应用程序的某一个位置,对于这些数据的管理,就是 状态管理目前前端项目越来越复杂,多组件共享同一数据的状态很常见…...

突破编程_C++_面试(基础知识(13))

面试题45&#xff1a;C中的字符串如何存储 在C中&#xff0c;字符串可以通过多种方式存储&#xff0c;但最常见和推荐使用的方式是通过 std::string 类&#xff0c;该类位于 <string> 头文件中。std::string 是一个类模板的实例&#xff0c;通常用于存储字符数组&#x…...

掌握C语言文件操作:从入门到精通的完整指南!

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C语言学习 贝蒂的主页&#xff1a;Betty‘s blog 1. 什么是文件 文件其实是指一组相关数据的有序集合。这个数据集有一个名称&a…...

JavaEE作业-实验二

目录 1 实验内容 2 实验要求 3 思路 4 核心代码 5 实验结果 1 实验内容 实现两个整数求和的WEB程序 2 实验要求 ①采用SpringMVC框架实现 ②数据传送到WEB界面采用JSON方式 3 思路 ①创建一个SpringMVC项目&#xff0c;配置好相关的依赖和配置文件。 ②创建一个Con…...

2月8号作业

Sqlite3系统命令 .quit 退出数据库 .exit 退出数据库 .help 显示帮助信息&#xff0c;获取所有系统命令 .table 查看当前数据库下的所有表格 .schema 查看表的结构 Sqlite3语句 创建表格&#xff1a; create table 表名 (字段名 数据类型, 字段名 数据类型); create table if…...

08:K8S资源对象管理|服务与负载均衡|Ingress

K8S资源对象管理&#xff5c;服务与负载均衡&#xff5c;Ingress DaemonSet控制器污点策略容忍容忍污点 其他资源对象Job资源对象 有限生命周期CronJob资源对象 集群服务服务自动发现headless服务 实现服务定位与查找 服务类型 Ingress插件 发布服务的方式 DaemonSet控制器 Da…...

HarmonyOS 横屏调试与真机横屏运行

我们有些程序 需要横屏才能执行出效果 我们在预览器上 点击如下图指向出 就进入一个横屏调试了 但 我们真机运行 依旧是竖着的 我们如下图 找到 module.json5 在 abilities 下面 第一个对象 最下面 加上 "orientation": "landscape"然后 我们再真机运…...

Javaweb基础-tomcat,servlet

一.配置文件基础&#xff1a; properties配置文件&#xff1a; 由键值对组成 键和值之间的符号是等号 每一行都必须顶格写&#xff0c;前面不能有空格之类的其他符号 xml配置文件&#xff1a;&#xff08;xml语法HTML语法HTML约束&#xff09;xml约束-DTD / Schema DOM4…...

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-中断管理

目录 一、中断基础概念二、中断管理使用说明三、中断管理模块接口四、代码分析&#xff08;待续...&#xff09;坚持就有收获 一、中断基础概念 在程序运行过程中&#xff0c;出现需要由 CPU 立即处理的事务时&#xff0c;CPU 暂时中止当前程序的执行转而处理这个事务&#xf…...

【开源】JAVA+Vue+SpringBoot实现就医保险管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…...

Stable Diffusion 模型下载:DreamShaper XL(梦想塑造者 XL)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 DreamShaper 是一个分格多样的大模型&#xff0c;可以生成写实、原画、2.5D 等…...

【机器学习】数据清洗之处理异常点

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步…...

JavaScript学习之旅10------掌握jQuery:实用应用案例深度解析

目录 写在开头1. jQuery基础知识回顾1.1. 选择器1.2. 事件1.3. 效果1.4. DOM操作1.5. AJAX 2. 实用应用案例分析2.1. 动态内容加载2.2. 表单验证2.3. 图像滑动门效果2.4. 创建动态导航菜单 3. 高级技巧与最佳实践3.1. 优化jQuery代码的性能3.2. jQuery插件的使用和自定义3.3. j…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...