2023 年 亚太赛 APMCM (C题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

news2024/10/2 20:22:43

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。
在这里插入图片描述

问题一

为了分析中国新能源电动汽车发展的主要因素,我们建立一个综合性的数学模型,
多元分析是一种用于研究多个自变量对因变量的联合影响的统计方法。

多元线性回归模型:

多元线性回归模型用于描述多个自变量对一个因变量的联合影响。在这里,我们用该模型来分析影响新能源电动汽车销售量的各个因素:

Y = β 0 + β 1 X 政策 + β 2 X 经济 + β 3 X 技术 + β 4 X 环保 + β 5 X 油价 + ϵ Y = \beta_0 + \beta_1X_{政策} + \beta_2X_{经济} + \beta_3X_{技术} + \beta_4X_{环保} + \beta_5X_{油价} + \epsilon Y=β0+β1X政策+β2X经济+β3X技术+β4X环保+β5X油价+ϵ

  • Y Y Y:新能源电动汽车销售量或市场份额。
  • β 0 \beta_0 β0:截距。
  • β 1 , β 2 , β 3 , β 4 , β 5 \beta_1, \beta_2, \beta_3, \beta_4, \beta_5 β1,β2,β3,β4,β5:各自变量的系数。
  • X 政策 , X 经济 , X 技术 , X 环保 , X 油价 X_{政策}, X_{经济}, X_{技术}, X_{环保}, X_{油价} X政策,X经济,X技术,X环保,X油价:官方政策、经济指标、技术创新、环保意识和油价变动。
  • ϵ \epsilon ϵ:误差项。

方差分析:

方差分析用于比较多个组之间的平均差异是否显著。在这里,我们可以使用方差分析来确定各个因素是否在统计上显著地影响新能源电动汽车销售量或市场份额。

H 0 : 各组平均值相等 H_0: \text{各组平均值相等} H0:各组平均值相等
H 1 : 至少有一个组的平均值不同 H_1: \text{至少有一个组的平均值不同} H1:至少有一个组的平均值不同

主成分分析:

主成分分析用于找到数据中的主要变量,以降低维度。对于新能源电动汽车发展的因素,可以通过主成分分析找到最重要的自变量。

Z i = α 1 X 1 i + α 2 X 2 i + … + α k X k i Z_i = \alpha_1X_{1i} + \alpha_2X_{2i} + \ldots + \alpha_kX_{ki} Zi=α1X1i+α2X2i++αkXki

其中, Z i Z_i Zi 是第 i i i 个主成分, X 1 i , X 2 i , … , X k i X_{1i}, X_{2i}, \ldots, X_{ki} X1i,X2i,,Xki 是原始变量, α 1 , α 2 , … , α k \alpha_1, \alpha_2, \ldots, \alpha_k α1,α2,,αk 是主成分系数。

判别分析:

判别分析用于确定哪些因素最能有效地区分不同水平的因变量。在这里,我们可以使用判别分析来了解哪些因素对于在市场中脱颖而出是最关键的。

$ D = \beta_0 + \beta_1X_{政策} + \beta_2X_{经济} + \beta_3X_{技术} + \beta_4X_{环保} + \beta_5X_{油价} $

其中, D D D 是判别分数。

路径分析:

路径分析用于理解各个因素之间的直接和间接关系。在这里,我们可以使用路径分析来揭示影响新能源电动汽车销售量的路径。

Y = γ 0 + γ 1 X 政策 + γ 2 X 经济 + γ 3 X 技术 + γ 4 X 环保 + γ 5 X 油价 + ϵ Y = \gamma_0 + \gamma_1X_{政策} + \gamma_2X_{经济} + \gamma_3X_{技术} + \gamma_4X_{环保} + \gamma_5X_{油价} + \epsilon Y=γ0+γ1X政策+γ2X经济+γ3X技术+γ4X环保+γ5X油价+ϵ

X 政策 = α 0 + α 1 X 经济 + α 2 X 技术 + α 3 X 环保 + α 4 X 油价 + ϵ 1 X_{政策} = \alpha_0 + \alpha_1X_{经济} + \alpha_2X_{技术} + \alpha_3X_{环保} + \alpha_4X_{油价} + \epsilon_1 X政策=α0+α1X经济+α2X技术+α3X环保+α4X油价+ϵ1

X 经济 = β 0 + β 1 X 技术 + β 2 X 环保 + β 3 X 油价 + ϵ 2 X_{经济} = \beta_0 + \beta_1X_{技术} + \beta_2X_{环保} + \beta_3X_{油价} + \epsilon_2 X经济=β0+β1X技术+β2X环保+β3X油价+ϵ2

⋮ \vdots

其中, γ 0 , γ 1 , … , γ 5 \gamma_0, \gamma_1, \ldots, \gamma_5 γ0,γ1,,γ5 α 0 , α 1 , … , α 4 \alpha_0, \alpha_1, \ldots, \alpha_4 α0,α1,,α4 β 0 , β 1 , … , β 3 \beta_0, \beta_1, \ldots, \beta_3 β0,β1,,β3 是路径系数。

这个模型提供了一个系统的框架,能够帮助官方、产业界和研究机构更深入地理解和评估各种因素对中国新能源电动汽车发展的影响。

问题2

数据收集:

  1. 历史数据: 收集过去10年的新能源电动汽车销售量、市场份额、官方政策变化、经济指标、技术进步等数据。
  2. 行业报告: 查阅行业报告,了解当前市场趋势、技术创新和竞争格局。
  3. 官方发布的数据: 官方机构通常会发布有关新能源汽车销售和产业发展的数据。另外一些大企业也同样会提供相应的数据信息
  4. 环保和能源政策: 收集有关环保和能源政策的信息,包括可能影响新能源汽车市场的政策。

模型建立:

建立一个时间序列分析模型,以预测未来10年新能源电动汽车的发展,使用以下数学模型:

Y t = β 0 + β 1 X 1 t + β 2 X 2 t + … + β k X k t + ϵ t Y_t = \beta_0 + \beta_1X_{1t} + \beta_2X_{2t} + \ldots + \beta_kX_{kt} + \epsilon_t Yt=β0+β1X1t+β2X2t++βkXkt+ϵt

其中:

  • Y t Y_t Yt 是第 t t t 年的新能源电动汽车销售量或市场份额。
  • X 1 t , X 2 t , … , X k t X_{1t}, X_{2t}, \ldots, X_{kt} X1t,X2t,,Xkt 是影响新能源电动汽车发展的各个因素,如官方政策、经济指标、技术进步等。
  • β 0 , β 1 , … , β k \beta_0, \beta_1, \ldots, \beta_k β0,β1,,βk 是模型参数。
  • ϵ t \epsilon_t ϵt 是误差项,代表未被模型考虑的其他因素的影响。

模型参数估计:

使用历史数据,通过最小二乘法等方法估计模型参数 β \beta β

未来10年的预测:

使用模型和已知的未来数据(政策、技术创新计划等),预测未来10年的新能源电动汽车销售量或市场份额。

情景分析:

考虑不同的发展路径,例如政策变化、经济波动等对预测的可能影响。

我们搜集了行业发展数据表格为:Develop.xlsx,含有10年内行业发展的销售额,市场占有率,售卖比例等参数,相应的时间预测代码:

import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt

# 读取Excel文件
file_path = 'Develop.xlsx'
df = pd.read_excel(file_path, sheet_name='Sheet1')

# 将时间列设为索引
df.set_index('Year', inplace=True)

# 假设销售额是因变量,其他列是自变量
y = df['Sales']
X = df[['MarketShare', 'SellRatio', 'OtherFactors']]  # 自变量列

# 添加截距项
X = sm.add_constant(X)

# 拟合多元线性回归模型
model = sm.OLS(y, X).fit()

# 打印回归结果
print(model.summary())

# 预测未来10年的销售额
future_years = pd.Series(range(df.index[-1] + 1, df.index[-1] + 11))
future_X = sm.add_constant(df[['MarketShare', 'SellRatio', 'OtherFactors']])  # 使用历史数据的平均值作为未来数据
future_predictions = model.predict(future_X.append(pd.DataFrame(data={0: future_years, 'MarketShare': df['MarketShare'].mean(), 'SellRatio': df['SellRatio'].mean(), 'OtherFactors': df['OtherFactors'].mean()}).set_index(0)))

# 将预测结果添加到DataFrame
future_df = pd.DataFrame({'Sales Prediction': future_predictions}, index=future_years)

# 打印未来10年的销售额预测
print(future_df)

# 可视化历史销售额和预测销售额
plt.figure(figsize=(10, 6))
plt.plot(df.index, y, label='Actual Sales')
plt.plot(future_df.index, future_predictions, label='Sales Prediction', linestyle='dashed')
plt.title('Sales Prediction Over Time')
plt.xlabel('Year')
plt.ylabel('Sales')
plt.legend()
plt.show()

更多内容具体可以看看我的下方名片!里面包含有亚太赛一手资料与分析!
另外在赛中,我们也会陪大家一起解析亚太赛APMCM的一些方向
关注 CS数模 团队,数模不迷路~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1241223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电线电缆行业生产管理怎么数字化?

行业介绍 随着市场环境的变化和现代生产管理理念的不断更新,电缆的生产模式也在发生转变,批量小,规格多,交期短的新型制造需求逐年上升,所以企业车间管理的重要性越发凸显,作为企业良性运营的关键&#xf…

MySQL--慢查询(一)

1. 查看慢查询日志是否开启 show variables like slow_query%; show variables like slow_query_log; 参数说明: 1、slow_query_log:这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2、long_query_time:当SQL语句执行…

汇编-PUSHFD和POPFD标志寄存器值压栈和出栈

PUSHFD指令将32位EFLAGS寄存器内容压入堆栈, 而POPFD指令则将栈顶单元内容弹出到EFLAGS寄存器 格式:

【开源】基于Vue和SpringBoot的学校热点新闻推送系统

项目编号: S 047 ,文末获取源码。 \color{red}{项目编号:S047,文末获取源码。} 项目编号:S047,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 新闻类型模块2.2 新闻档案模块2.3 新…

opencv- CLAHE 有限对比适应性直方图均衡化

CLAHE(Contrast Limited Adaptive Histogram Equalization)是一种对比度有限的自适应直方图均衡化技术,它能够提高图像的对比度而又避免过度增强噪声。 在OpenCV中,cv2.createCLAHE() 函数用于创建CLAHE对象,然后可以…

MYSQL索引使用注意事项

索引使用注意事项: 1.索引列运算 不要在索引列上进行运算操作,否则索引将失效; 2.字符串不加引号 字符串类型使用时,不加引号,否则索引将失效; 3.模糊查询 如果仅仅是尾部模糊匹配,索引将不会失…

P4 C++ 条件与分支(if)

前言 今天我们来看看条件语句,换句话说,也就是 if 语句、if else 和 else if 等等这写语句。 我知道大家基本上已经非常了解 if 语句和所有 C 中的分支语句,但我还是鼓励你们继续看完这一讲,这里可能包含一些新东西。我们还会深入…

什么是搜索相关性?AI如何驱动搜索相关性?

训练数据驱动机器学习,机器学习促进丰富的人机交互体验。在快速迭代的互联网时代,我们不断被各种广告铺盖,甚至经常细思极恐,“天呐,小红书怎么知道我面膜没了。”这都是算法和机器学习的鬼斧神工洞察着用户的搜索意图…

今年嵌入式行情这么差吗?学了三年至今无面?

先不说嵌入式行情,目前来看,我感觉是整体的行情都不太好。 之前郭嘉公布的失业率,后来停止公布了,至于为什么,这里就不说了吧。 此处省略N个字,下面说说我身边的情况,可见一斑。 先说公司裁员 我…

Linux基础命令3

移动,剪切文件 普通文件的移动剪切 现在在这儿 上图中,mv y.x ./tmp的意思,就是将当前路径下的y.x文件进行剪切,然后放到路径为当前路径下的tmp目录文件夹里面 操作完成后可以cd tmp,ls看到y.x文件已经在里面了 现在…

DolphinDB 浙商银行 | 第二期现场培训圆满结束

自 DolphinDB 高级工程师计划开展以来,客户们纷纷响应,除了定期收看我们每周三开设的线上公开课外,也有部分客户报名参加了 “总部工程师培训计划” 。 上周,我们迎来了总部培训的第二期学员:来自浙商银行的4位策略研…

Cookie与Session

文章目录 Cookie的介绍Cookie的由来什么是CookieCookie原理Cookie覆盖浏览器查看Cookie 在Django中操作Cookie设置Cookie查询浏览器携带的Cookie删除Cookie Cookie校验登录session Cookie的介绍 Cookie的由来 首先我们都应该明白HTTP协议是无连接的。 无状态的意思是每次请求…

联想拯救者Lenovo Legion R9000K 2021H(82N6)原装出厂Windows10/Win11系统ISO镜像

链接:https://pan.baidu.com/s/13NkeCXNdV0Ib5eeRnZUeAQ?pwdnlr7 提取码:nlr7 拯救者笔记本电脑原厂WIN系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文…

《数据仓库入门实践》

前言: 1、问什么要写这篇博客? 随着自己在数仓岗位工作的年限增加,对数仓的理解和认知也在发生着变化 所有用这篇博客来记录工作中用到的知识点与经验 2、这篇博客主要记录了哪些内容? 在日常工作中,发现刚接触不久数仓…

故障识别:CNN-BiLSTM-SelfAttention时空特征融合多头自注意力机制的故障识别程序,数据由Excel导入,直接运行!

适用平台:Matlab2023版及以上 本程序参考中文EI期刊《基于CNN-BiLSTM 的滚动轴承变工况故障诊断方法法》,程序注释清晰,干货满满,下面对文章和程序做简要介绍。 在CNN-BiLSTM-SelfAttention故障识别模型中,结合了卷积…

Vue中的$nextTick

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue中的$nextTick 目录 🐋Vue中的$nextTick有什么作用? 🐋一、…

易点易动设备管理系统:提升企业设备维修效率的工具

在现代企业运营中,设备的正常运行和及时维修至关重要。然而,传统的设备维修管理方法往往效率低下、易出错,给企业带来了不小的困扰。为了解决这一问题,易点易动设备管理系统应运而生。作为一款先进的智能化系统,易点易…

绝地求生:PUBG全新强化比赛验证系统即将上线,外挂的末日要来了?

就在之前官博发布了一则公告 将在未来的更新中上线强化版的比赛验证系统 具体的变更内容为:从原本的SMS验证(短信验证)变成了ARS验证(语音验证码验证)。看起来好像跟原本的验证方式没有太大区别。不过很多黑号他们是没…

3分钟使用 WebSocket 搭建属于自己的聊天室(WebSocket 原理、应用解析)

文章目录 WebSocket 的由来WebSocket 是什么WebSocket 优缺点优点缺点 WebSocket 适用场景主流浏览器对 WebSocket 的兼容性WebSocket 通信过程以及原理建立连接具体过程示例Sec-WebSocket-KeySec-WebSocket-Extensions 数据通信数据帧帧头(Frame Header&#xff09…

Zynq-7000系列FPGA使用 Video Processing Subsystem 实现图像缩放,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案自己写的HLS图像缩放方案 3、设计思路详解Video Processing Subsystem 介绍 4、工程代码详解PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项…