HiMCM数学建模(6)---曲线回归模型与回归模型评价
HiMCM数学建模线性回归
- 前言
- 多元线性回归
- 曲线回归
- 回归模型评价
创作不易,麻烦各位:点赞、收藏、关注!!!
作者: 天人实验室
前言
在上一篇文章(回归模型)中,我们以一元线性回归为例,对回归模型的基本理论进行了讲解。回归模型的建模过程,就是通过对问题的数据或原理的分析,选择合适的函数对题目的变量之间的关系进行描述,这个过程就是建模,这里我们需要给出合理的理由来解释最终选择函数的理由和依据。当然,建立的模型还需要包括模型参数的计算方法,结果评价(这个在下面将会讲解)
多元线性回归
根据自变量的数量,回归模型分为一元回归和多元回归模型,根据回归函数的形式,则又可以分为线性回归模型和非线性回归模型。下面,我们将对多元线性回归和非线性回归模型进行讲解。
多元线性回归模型是一种用于建立多个自变量和一个因变量之间关系的统计模型。它假设因变量与多个自变量之间存在线性关系,并通过拟合这个线性模型来进行预测和推断。多元线性回归模型与线性回归模型的原理是基本一致的。不同于一元线性回归模型,多元线性回归中的自变量数量在两个及以上。
以上文(回归模型)中体脂率和年龄的关系的研究为例。一元线性回归模型以年龄为自变量,而多元线性回归模型则具有更多变量,比如平均每天的碳水化合物摄入量。定义 x 1 x_1 x1表示年龄, x 2 x_2 x2表示碳水化合物摄入量。 y y y表示体脂率,则建立多元回归模型如下:
y = a 0 + a 1 ∗ x 1 + a 2 ∗ x 2 + ε y=a_0+a_1*x_1+a_2*x_2+\varepsilon y=a0+a1∗x1+a2∗x2+ε
其中 a 0 , a 1 , a 2 a_0, a_1, a_2 a0,a1,a2表示自变量的回归系数;
ε \varepsilon ε 表示随机误差项,也就是数据中无法解释的部分。之所以在回归模型中加入随机误差项,是因为通过线性方程 y = a 0 + a 1 ∗ x 1 + a 2 ∗ x 2 y=a_0+a_1*x_1+a_2*x_2 y=a0+a1∗x1+a2∗x2 是无法完全解释样本数据的。样本数据不会正好全部在某一直线中,而随机误差项就是这部分的无规律的数据的波动。
与一元线性回归模型相同,对于其中系数 a 0 , a 1 , a 2 a_0, a_1, a_2 a0,a1,a2的求解,也是使用相同的方法。也就是,将样本数据 ( x 11 , x 12 ) , ( x 21 , x 22 ) , ⋯ , ( x i 1 , x i 2 ) , ⋯ , ( x n 1 , x n 2 ) (x_{11},x_{12}), (x_{21},x_{22}), \cdots,(x_{i1},x_{i2}),\cdots ,(x_{n1},x_{n2}) (x11,x12),(x21,x22),⋯,(xi1,xi2),⋯,(xn1,xn2)代入到多元回归模型的函数中,找到使得估计值与真实值误差最小的一组系数。根据这个思想,建立多元回归模型系数求解的最小二乘目标函数:
m i n Q ( a 0 , a 1 , a 2 ) = ∑ i = 1 N ( y i − y ^ i ) 2 = ∑ i = 1 N ( y i − ( a 0 + a 1 x i 1 + a 2 x i 2 ) ) 2 ( 1 ) min \quad Q(a_0, a_1, a_2) = \sum_{i=1}^{N} (y_i - \hat{y}_i)^2=\sum_{i=1}^{N} (y_i - (a_0+a_1x_i1+a_2x_i2))^2 \quad \quad \quad (1) minQ(a0,a1,a2)=i=1∑N(yi−y^i)2=i=1∑N(yi−(a0+a1xi1+a2xi2))2(1)
公式(1)中的优化目标函数,我们可以写成向量表达形式,如公式(2)所示:
m i n Q ( a ) = ∑ i = 1 N ( y i − a x i ) ) 2 = ∣ ∣ y − a X ∣ ∣ 2 2 ( 2 ) min \quad Q(\bold{a}) = \sum_{i=1}^{N} (y_i - \bold{ax}_i))^2 = || \bold{y} - \bold{aX} ||_2^2 \quad \quad \quad (2) minQ(a)=i=1∑N(yi−axi))2=∣∣y−aX∣∣22(2)
其中 a = ( a 0 , a 1 , a 2 ) , x i = ( 1 , x i 1 , x i 2 ) T , X = ( x 1 , x 2 , ⋯ , x N ) \bold{a} = (a_0,a_1,a_2),\bold{x}_i = (1,x_{i1},x_{i2})^T, \bold{X} = (\bold{x}_1, \bold{x}_2,\cdots,\bold{x}_N) a=(a0,a1,a2),xi=(1,xi1,xi2)T,X=(x1,x2,⋯,xN)。对公式(2)中的目标函数进行求导,也就是求解系数向量 a \bold{a} a,使得总体的预测误差取得最小值:
∂ Q ( a ) ∂ a = ∂ ∂ a ∣ ∣ y − a X ∣ ∣ 2 2 = − 2 ( y − a X ) X T ( 3 ) \frac{\partial Q(\bold{a})}{\partial \bold{a}} = \frac{\partial}{\partial \bold{a}} || \bold{y} - \bold{aX} ||_2^2 = -2(\bold{y} - \bold{aX})\bold{X}^T \quad \quad \quad (3) ∂a∂Q(a)=∂a∂∣∣y−aX∣∣22=−2(y−aX)XT(3)
令公式(3)中的导数 ∂ Q ( a ) ∂ a = 0 \frac{\partial Q(\bold{a})}{\partial \bold{a}}=0 ∂a∂Q(a)=0,则可以求解得到:
a = ( y X T ) ( X X T ) − 1 ( 4 ) \bold{a}= (\bold{yX}^T) (\bold{X}\bold{X}^T)^{-1} \quad \quad \quad (4) a=(yXT)(XXT)−1(4)
通过公式(4)则可以计算得到多元线性回归模型的系数。
曲线回归
\quad \quad 上述讲解了多个自变量条件下的多元线性回归模型及求解方法。这里我们继续讲解回归模型中的非线性回归模型。非线性回归模型就是通过非线性的函数来表达自变量 x x x 和因变量 y y y 之间的数量关系。
\quad \quad 值得注意的是,对于非线性回归模型,我们一般只考虑一元,也就是一个自变量的情况。
\quad \quad 常见的非线性回归函数包括:多项式函数(二次、三次曲线)、复合函数、对数函数、指数函数、幂函数等。常见曲线回归函数的数学模型表达式如下表所示:
对于曲线回归模型的求解,其原理与线性回归相同,都是要找到一组系数,使得估计结果 y ^ \hat{y} y^ 与真实值 y y y 之间的误差最小。在求解过程中,通常将曲线函数转化为线性函数进行求解。这里,我们以指数函数为例,进行说明,比如我们建立的回归模型为:
y = a e b x ( 5 ) y = ae^{bx} \quad \quad \quad (5) y=aebx(5)
对公式(5)中的回归函数,我们左右分别取对数,则有
l n y = l n a + b x ( 6 ) lny = lna + bx \quad \quad \quad (6) lny=lna+bx(6)
令 y ′ = l n y y' = lny y′=lny 和 a ′ = l n a a' = lna a′=lna,则指数回归函数转化为:
y ′ = a ′ + b x ( 7 ) y' = a' + bx \quad \quad \quad (7) y′=a′+bx(7)
可以看出,转化后的回归函数又变成线性函数。对于公式(7)中的函数求解,我们使用线性回归的系数计算公式,对 a ′ a' a′ 和 b b b 进行求解。这里要注意的是,在计算时,我们代入的数据是 ( x 1 , y 1 ′ ) , ( x 2 , y 2 ′ ) , ⋯ , ( x n , y n ′ ) (x_1,y'_1),(x_2,y'_2),\cdots,(x_n,y'_n) (x1,y1′),(x2,y2′),⋯,(xn,yn′),也就是 ( x 1 , l n y 1 ) , ( x 2 , l n y 2 ) , ⋯ , ( x n , l n y n ) (x_1,lny_1),(x_2,lny_2),\cdots,(x_n,lny_n) (x1,lny1),(x2,lny2),⋯,(xn,lnyn)。
值得注意的是,我们对于回归模型的介绍是为了帮助大家理解回归模型的原理和计算方法。但是,在实际问题的求解中,计算量大,模型也更加复杂,我们不需要按照公式去手动计算,有各种软件和编程的方法可以对模型进行求解。
回归模型评价
这里,我们考虑这样一个例题。
对于这个问题的求解,分别采用线性函数、指数、二次、三次、五次多项式函数,分别对模型进行求解,结果如下所示:
图 1 5 种回归模型的拟合结果 图1 \quad 5种回归模型的拟合结果 图15种回归模型的拟合结果
那么上述的5个模型,那个模型最好呢?我们应该选择哪个模型呢?这就涉及到模型的评价和分析。
\quad \quad 对于回归模型的评价,是对回归模型的拟合效果的评估,也就是说用科学的方法来分析回归模型的预测结果是否可靠。我们通常使用以下几种方法来衡量其性能和准确性:
\quad \quad 均方误差(Mean Squared Error, MSE):MSE是最常用的回归模型评价指标之一。它计算预测值与实际值之间差异的平方的平均值。MSE越小,说明模型的预测结果越接近实际值。计算方法如下:
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 ( 8 ) MSE = \frac{1}{n}\sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \quad \quad \quad (8) MSE=n1i=1∑n(yi−y^i)2(8)
\quad \quad 均方根误差(Root Mean Squared Error, RMSE):RMSE是MSE的平方根,它与原始数据的单位相同。RMSE也是衡量回归模型性能的重要指标,与MSE类似,值越小表示模型的拟合效果越好。计算方法如下:
R M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 ( 9 ) RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n} (y_i - \hat{y}_i)^2} \quad \quad \quad (9) RMSE=n1i=1∑n(yi−y^i)2 (9)
\quad \quad 平均绝对误差(Mean Absolute Error, MAE):MAE计算预测值与实际值之间差异的绝对值的平均值。与MSE和RMSE不同,MAE对异常值不敏感,更加稳健。计算方法如下:
M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ ( 10 ) MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| \quad \quad \quad (10) MAE=n1i=1∑n∣yi−y^i∣(10)
\quad \quad 决定系数(Coefficient of Determination, R-squared):R-squared衡量模型对总变异性的解释程度,它是预测值方差与实际值方差之比。R-squared的取值范围在0到1之间,值越接近1表示模型解释的方差越多,拟合效果越好。但需要注意,R-squared值较高并不意味着模型是最好的,因为过度拟合可能导致对训练数据过度适应。计算方法如下:
R 2 = ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 ( 11 ) R^2 = \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} \quad \quad \quad (11) R2=∑i=1n(yi−yˉ)2∑i=1n(yi−y^i)2(11)
\quad \quad 残差图(Residual Plots):绘制模型的残差图可以帮助我们观察模型是否满足线性性、同方差性、独立性和正态性等假设。若残差图呈现随机分布且无明显的模式,则表示模型拟合良好。
\quad \quad 预测精度:可以将模型用于新的数据集,然后比较预测结果与实际值的接近程度,以此来评估模型在未知数据上的表现。
综合使用这些评价方法,可以帮助我们判断回归模型的拟合效果、预测准确性和稳健性,从而选择最合适的模型或优化现有模型的结果。
**值得注意的是,上述的MSE、RMSE、MAE和 R 2 R^2 R2**等指标数据,仅仅是回归模型评价和选择的参考指标,并不是说指标数据的数值越好,模型就一定好。如图1中的例题,5种回归模型,如果按照决定系数、残差等指标来看,那么就是五次多项式函数的回归效果更好。但是二次、三次、五次多项式函数的变化规律并不符合实际情况,我们是对热茶的销量进行预测。热茶随着温度的升高,销量呈下降的趋势。但是按照二次、三次和五次多项式的趋势,气温在30度以后,随着气温的升高,销量反而会增长。这与实际情况是不符合的。因此,我们可以选择线性回归模型和指数回归模型。线性回归和指数回归模型并没有绝对的哪个更好,都是可以的,只要通过讨论对自己的选择进行解释,说明理由就好。当然,从趋势和拟合效果来看,指数模型要好一些。
HiMCM数学建模(6)---曲线回归模型与回归模型评价相关推荐
- Algorithm:数学建模大赛之数学建模基础(经验/技巧)、流程(模型准备/模型假设/建模/求解/分析/优化/预测/评价)、论文写作(意义/摘要/关键词/问题重述和模型假设/建模/文献)之详细攻略
Algorithm:数学建模大赛之数学建模基础(经验/技巧).流程(模型准备/模型假设/建模/求解/分析/优化/预测/评价).论文写作(意义/摘要/关键词/问题重述和模型假设/建模/求解/结论/参考文 ...
- 数学建模——智能优化之粒子群模型详解Python代码
数学建模--智能优化之粒子群模型详解Python代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplo ...
- 数学建模——一维、二维插值模型详解Python代码
数学建模--一维.二维插值模型详解Python代码 一.一维插值 # -*-coding:utf-8 -*- import numpy as np from scipy import interpol ...
- 数学建模清风第一次直播:传染病模型和微分方程拟合
学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...
- Matlab数学建模(七):连续模型
一.学习目标 (1)了解连续模型及解题步骤. (2)掌握用 dsolve 求解常见的微分方程解析解. (3)掌握用 ODE 家族的求解器求解数值解. (4)掌握使用专用的求解器求解. 二.实例演练 ( ...
- HiMCM数学建模(0)---HiMCM美国高中生数学建模竞赛介绍
2022HiMCM数学建模A题---概率模型的应用 HiMCM竞赛简介 HiMCM竞赛重要性 直接意义 创作不易,麻烦各位:点赞.收藏.关注!!! 作者: 天人实验室 HiMCM竞赛简介 \quad ...
- 数学建模用python分析gdp_【志领学院】HiMCM数学建模 商业事件建模分析——活动回顾...
原标题:[志领学院]HiMCM数学建模 商业事件建模分析--活动回顾 -2021- 志领学院 · 激发无限潜能 · HiMCM, 全称HighSchool Mathematical Contest i ...
- 【数学建模】1层次分析法模型部分
目录 1 数学建模的任务分配 2 简介 3 模型介绍 3.1 评价类问题 3.2 拿到建模问题 3.3 推荐搜索网站 3.4 确定好指标 3.5 确定指标权重 (1)采用分而治之的思想 (2)分而治之 ...
- 种群内禀增长率matlab求法,数学建模讲义:第三讲微分方程模型
<数学建模讲义:第三讲微分方程模型>由会员分享,可在线阅读,更多相关<数学建模讲义:第三讲微分方程模型(74页珍藏版)>请在人人文库网上搜索. 1.第三讲 微分方程模型,动态模 ...
最新文章
- php 织梦wap源码,织梦手机静态页生成插件 DEDE WAP静态化 手机端生成静态
- 现实工程中常用到的C语言函数总结(不断更新)
- ComponentBase.createMetaData and manifest.json oRoute
- C#委托和事件(3)
- Spark将数据写入Mysql
- vector容器,容量和大小的操作
- 约瑟夫环c语言程序完整版,约瑟夫环的c语言实现(代码已实现)
- W5500EVB从网络上获取标准时间
- 【实用技巧】下载音乐到本地电脑
- 安装软件时显示无法定位程序输入点xxx于动态链接库KERNEL32.dll上
- 网站被黑提醒该站点可能受到黑客攻击,部分页面已被非法篡改...
- 系统映像恢复 进不了系统_如何从Windows系统映像中恢复特定文件
- Word2vec与LDA的聚类区别
- WIN10 官方 iso镜像文件获取
- 时间序列分析-----2---时间序列预处理
- 频数直方图的步骤_怎么用EXCEL制作频数分布表和直方图
- jQuery的css()如何修改背景图片
- 图说卡尔曼滤波(C++实现)
- OCI测试程序 : 执行SQL语句和内置的测试任务
- Delta Lake 在 Soul 的应用实践
热门文章
- 如何明晰定位与责任_找准定位 明晰责任 激发活力 发挥作用
- 夜神模拟器安卓7.1(64位)安装xposed
- App原型设计工具使用心得(下)
- 缓存服务器设计与实现(五)
- 2022年危险化学品经营单位主要负责人考试模拟100题及模拟考试
- android 11.0 去掉usb授权提示框 默认给予权限
- Structured Streaming整合kafka
- BI进入超市需要创新
- LabVIEW 通讯与罗克韦尔 AB Allen Bradley PLC通讯 EhernetIP 网口TCP标签通讯SL500实测通过
- linux mint如何升级,如何升级到Linux Mint 19