数学建模常用模型(五):多元回归模型

这篇具有很好参考价值的文章主要介绍了数学建模常用模型(五):多元回归模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数学建模常用模型(五):多元回归模型

由于客观事物内部规律的复杂性及人们认识程度的限制,无法分析实际对象内在的因果关系,建立合乎机理规律的数学模型。所以在遇到有些无法用机理分析建立数学模型的时候,通常采取搜集大量数据的办法,基于对数据的统计分析去建立模型,其中用途最为广泛的一类随即模型就是统计回归模型。
回归模型确定的变量之间是相关关系,在大量的观察下,会表现出一定的规律性,可以借助函数关系式来表达,这种函数就称为回归函数或回归方程。
这是我自己总结的一些代码和资料(本文中的代码以及参考书籍等),放在github上供大家参考:https://github.com/HuaandQi/Mathematical-modeling.git

1.用回归模型解题的步骤

一:确定回归模型属于那种基本类型,然后通过计算得到回归方程的表达式;
①根据试验数据画出散点图;
②确定经验公式的函数类型;
③通过最小二乘法得到正规方程组;
④求解方程组,得到回归方程的表达式。

二:是对回归模型进行显著性检验。yunx
①相关系数检验,检验线性相关程度的大小;
②F检验法(这两种检验方法可以任意选);
③残差分析;
④对于多元回归分析还要进行因素的主次排序;
如果检验结果表示此模型的显著性很差,那么应当另选回归模型了。

2.模型的转化

非线性的回归模型可以通过线性变换转变为线性的方程来进行求解;
函数关系式:可以通过线性变换:转化为一元线性方程组来求解,对于多元的也可以进行类似的转换。

3. 程序实例

3.1多元线性回归模型

一元线性回归是一个主要影响因素作为自变量来解释因变量的变化,但是在现实问题研究中,因变量的变化往往受几个重要因素的影响,此时就需要用两个或两个以上的影响因素作为自变量来解释因变量的变化,这就是多元回归亦称多重回归。当多个自变量与因变量之间是线性关系时,所进行的回归分析就是多元线性回归。

import pandas as pd
import numpy as np
import statsmodels.api as sm# 实现了类似于二元中的统计模型,比如ols普通最小二乘法
import statsmodels.stats.api as sms#实现了统计工具,比如t检验、F检验...
import statsmodels.formula.api as smf
import scipy

np.random.seed(991)# 随机数种子

# np.random.normal(loc=0.0, scale=1.0, size=None)
# loc:float  此概率分布的均值(对应着整个分布的中心),loc=0说明这一个以Y轴为对称轴的正态分布,
# scale:float 此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
# size:int or tuple of ints  输出的shape,默认为None,只输出一个值
# 数据生成
x1 = np.random.normal(0,0.4,100)# 生成符合正态分布的随机数(均值为0,标准差0.4,所生成随机数的个数为100)
x2 = np.random.normal(0,0.6,100)
x3 = np.random.normal(0,0.2,100)
eps = np.random.normal(0,0.05,100)# 生成噪声数据,保证后面模拟所生成的因变量的数据比较接近实际的环境

X = np.c_[x1,x2,x3]# 调用c_函数来生成自变量的数据的矩阵,按照列进行生成的;100×3的矩阵
beta = [0.1,0.2,0.7]# 生成模拟数据时候的系数的值
y = np.dot(X,beta) + eps# 点积+噪声(dot是表示乘)
X_model = sm.add_constant(X)# add_constant给矩阵加上一列常量1,便于估计多元线性回归模型的截距,也是便于后面进行参数估计时的计算
model = sm.OLS(y,X_model)# 调用OLS普通最小二乘法来求解
# 下面是进行参数估计,参数估计的主要目的是估计出回归系数,根据参数估计结果来计算统计量,
# 这些统计量主要的目的就是对我们模型的有效性或是显著性水平来进行验证。
results = model.fit()# fit拟合
results.summary()# summary方法主要是为了显示拟合的结果

3.2非线性回归模型

非线性回归是线性回归的延伸,线性就是每个变量的指数都是 1,而非线性就是至少有一个变量的指数不是 1。生活中,很多现象之间的关系往往不是线性关系。选择合适的曲线类型不是一件轻而易举的工作,主要依靠专业知识和经验。

import numpy as np
import matplotlib.pyplot as plt
from tensorflow import keras

#建立随机数作为数据集
x_data = np.linspace(-0.5,0.5,200)  #从-0.5到0.5取均匀的200个数
noise = np.random.normal(0,0.02,x_data.shape)
y_data = np.square(x_data)+noise

#使用keras的Sequential函数建立一个顺序模型
model = keras.Sequential()
#在模型中添加全连接层和激活函数
model.add(keras.layers.Dense(units=10,input_dim=1))
model.add(keras.layers.Activation('tanh'))
model.add(keras.layers.Dense(units=1))
model.add(keras.layers.Activation('tanh'))
 
#定义优化算法
sgd = keras.optimizers.SGD(learning_rate=0.3)
#优化方法:sgd(随机梯度下降算法)
#损失函数:mse(均方误差)
model.compile(optimizer=sgd,loss='mse')

for step in range(3001):
    #每次训练一个批次
    cost = model.train_on_batch(x_data,y_data)
    #每500个batch打印一次cost
    if step % 500 == 0:
        print('cost:',cost)

#x_data输入到网络中,得到预测值y_pred
y_pred = model.predict(x_data)
 
#显示随机点的结果
plt.scatter(x_data,y_data)
 
#显示预测点的结果
plt.plot(x_data,y_pred,'r-',lw=3)
plt.show()

4.运行结果

4.1多元线性回归模型运行结果

数学建模常用模型(五):多元回归模型,数学建模,数学建模

4.2非线性回归模型运行结果

数学建模常用模型(五):多元回归模型,数学建模,数学建模文章来源地址https://www.toymoban.com/news/detail-536549.html

到了这里,关于数学建模常用模型(五):多元回归模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模matlab实现多元线性回归

            多元线性回归是统计学中一种常用的回归分析方法,用于研究多个自变量对一个连续因变量的关系。它基于线性假设,假设因变量与自变量之间存在线性关系。         在多元线性回归中,我们考虑多个自变量的影响,并试图找到一条最佳拟合直线(或超平面

    2024年02月02日
    浏览(44)
  • 数学建模—多元线性回归分析(+lasso回归的操作)

    定义:回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的人数就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。 常见的回归分析有五类:线性回归

    2024年02月13日
    浏览(33)
  • 数学建模常用模型(九) :偏最小二乘回归分析

    偏最小二乘回归(Partial Least Squares Regression,PLS Regression)是一种常用的统计建模方法,用于解决多元线性回归中自变量间高度相关的问题。在偏最小二乘回归中,通过将原始自变量转换为一组新的综合变量(称为主成分或潜在变量),然后再使用这些主成分进行回归分析,从

    2024年02月16日
    浏览(45)
  • 数学建模学习笔记(9)多元线性回归分析(非常详细)

    回归分析的地位 :数据分析中最基础也是最重要的分析工作,绝大多数的数据分析问题都可以使用回归的思想来解决。 回归分析的任务 :通过研究自变量和因变量的相关关系,尝试用自变量来解释因变量的形成机制,从而达到通过自变量去预测因变量的目的。具体如下:

    2024年02月03日
    浏览(43)
  • 【数学建模】多元线性回归(Python&Matlab代码实现)

    目录 1 概述 2 算例1 2.1 算例 2.2 Python代码实现  2.3 结果 3 算例2  3.1 算例 3.2 Python代码 3.3 结果 4 算例3 4.1 算例 4.2 Python代码 4.3 结果 5 算例4——Matlab代码实现 5.1 算例 5.2 Matlab代码实现 5.3 结果  6 写在最后 一元线性回归模型研究的是一个因变量与一个自变量之间呈直线趋势的

    2023年04月15日
    浏览(46)
  • 数学建模【基于清风】:相关系数法与多元线性回归

    个人理解为:如果当X增加时,Y趋向于减少,斯皮尔曼,皮尔逊相关系数则为负。斯皮尔曼,皮尔逊相关系数为零表明当X增加时Y没有任何趋向性。当X和Y越来越接近完全的单调相关时,斯皮尔曼相关系数会在绝对值上增加。 如 但是,对于相关系数来说,相关系数的大小与其

    2024年02月08日
    浏览(55)
  • 【数学建模笔记】【第七讲】多元线性回归分析(二):虚拟变量的设置以及交互项的解释,以及基于Stata的普通回归与标准化回归分析实例

    温馨提示: 本文共有9683字,阅读并理解全文需要半小时左右 书接上文,上文谈到内生性的解决之后,我们对回归问题的探究还没有完。 比如下面这个问题: 我们说线性回归他的表达式可以是广义的,可以含有二次项,可以含有对数项,那么含有对数项的模型中的β怎么解释

    2023年04月25日
    浏览(51)
  • 数学建模常用算法之Logistic回归

    一元线性回归 最小二乘法 设: 即可求得 其他方法 linearModel.fit函数 regress函数 变量解释 一元非线性回归 主要是解决回归方程中的参数估计问题,即fitnlm函数的使用 参考资料:传送门 对数形式估计 指数形式估计 根据xxx.Coefficients.Estimate得到参数 观察是否具有线性关系,使用

    2024年02月13日
    浏览(39)
  • 数学建模之统计回归模型详解

    码字总结不易,老铁们来个三连: 点赞、关注、评论 作者:[左手の明天]   原创不易,转载请联系作者并注明出处 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 由于客观事物内部规律的复杂及人们认识程度的限制,无法分

    2024年02月09日
    浏览(47)
  • 数学建模常用模型

    作为数学建模的编程手还掌握一些 各类模型常用算法,数学建模评价类模型、分类模型、预测类模型比较常用的方法总结如下: 接下来对这些比较典型的模型进行详细进行介绍说明。 一、评价模型 在数学建模中,评价模型是比较基础的模型之一,通常根据问题的特点和需求

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包