2024Mathorcup(妈妈杯)数学建模C题python代码+数据教学

2024-04-12 14:12

本文主要是介绍2024Mathorcup(妈妈杯)数学建模C题python代码+数据教学,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2024Mathorcup数学建模挑战赛(妈妈杯)C题保姆级分析完整思路+代码+数据教学

C题题目:物流网络分拣中心货量预测及人员排班

因为一些不可抗力,下面仅展示部分代码(很少部分部分)和部分分析过程,其余代码看文末

数据处理:

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.tsa.stattools import adfuller
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
import pmdarima as pm
from itertools import product
from sklearn.preprocessing import MinMaxScaler
import torch
import torch.nn as nn
import torch.optim as optim
import numpy as nptry:# 尝试使用UTF-8编码读取文件day_df = pd.read_csv('./附件/附件1.csv', encoding='utf-8')
except UnicodeDecodeError:# 如果出现编码错误,则尝试使用GBK编码读取day_df = pd.read_csv('./附件/附件1.csv', encoding='gbk')
day_df# 将'日期'转换为datetime类型以便正确排序
day_df['日期'] = pd.to_datetime(day_df['日期'])# 按'日期'升序排列DataFrame 
sorted_day_df = day_df.sort_values(by=['分拣中心', '日期'])sorted_day_df

可视化:

# Set the font to support Chinese characters
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = Falseplt.figure(figsize=(10, 6))
for center in sorted_day_df['分拣中心'].unique():center_df = sorted_day_df[sorted_day_df['分拣中心'] == center]plt.plot(center_df['日期'], center_df['货量'], marker='o', label=center)plt.title('日期随货量变化的折线图')
plt.xlabel('日期')
plt.ylabel('货量')
# plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()

# 绘制ACF和PACF图
fig, ax = plt.subplots(1, 2, figsize=(12, 4))
plot_acf(center_df['货量'], ax=ax[0])
plot_pacf(center_df['货量'], ax=ax[1])
plt.tight_layout()
plt.show()

for center in centers:center_df = sorted_day_df[sorted_day_df['分拣中心'] == center]center_df.set_index('日期', inplace=True)# 使用SARIMAX而不是ARIMA来考虑外生变量model = SARIMAX(center_df['货量'], exog=center_df['活动'], order=(1, 1, 1))model_fit = model.fit()# 预测时也需要包括外生变量# 假设我们已经有了未来时间段的活动标记数据future_dates = pd.date_range(center_df.index[-1] + pd.Timedelta(days=1), periods=30, freq='D')future_exog = pd.DataFrame(0, index=future_dates, columns=['活动'])  # 假设未来5天内没有活动forecast = model_fit.forecast(steps=30, exog=future_exog)print(f"{center} 的未来 30 天预测货量为:")print(forecast)# 将预测结果转换为DataFrameforecast_df = pd.DataFrame({'分拣中心': center,'日期': future_dates,'货量': forecast.values})all_forecasts.append(forecast_df)# 合并所有分拣中心的预测结果
final_forecast_df = pd.concat(all_forecasts)

预测结果:

其中更详细的思路,各题目思路、代码、讲解视频、成品论文及其他相关内容,可以点击下方群名片哦!

这篇关于2024Mathorcup(妈妈杯)数学建模C题python代码+数据教学的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897355

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal