2022年全国大学生数学建模竞赛E题目-小批量物料生产安排详解+思路+Python代码时序预测模型(三)

简介: 2022年全国大学生数学建模竞赛E题目-小批量物料生产安排详解+思路+Python代码时序预测模型(三)

前言


千呼万唤始出来啊家人们,真的是累死我了兄弟们,我昨天上了一天的班,晚上还整这个国赛敲代码敲到晚上2点才睡觉,搞得我也像是在比赛一样,麻了。不过一直写到现在也答应了很多小伙伴今天上午一定要写完E题第一问的思路和解析的,现在终于是把全部第一问的问题都梳理清楚,思路也理明白了。周预测模型其实小伙伴们不用限制的那么死,无非就是时序预测模型,周数简化甚至一般的机器学习模型都能直接预测,只不过效果不会有时序预测模型做的那么好,会产生数据波动。不懂什么时序预测模型的小伙伴可以去看我的个人专栏哈:


e7dd40dd9a024ee798be109d0f2baf7c.png

基于大多数模都是小白新手上路我采用了一种可以说得上是十分亲民的时序预测方法也能很好的达到时序预测模型的效果。粉丝内部可以得到更多的思路和代码,期待各位的关注。好了废话不多说我们开始继续解答吧!


博主会长期维护博文,有错误或者疑惑可以在评论区指出,感谢大家的支持。


一、六种物料挑选


六种物料挑选我在上篇文章:


2022年全国大学生数学建模竞赛E题目-小批量物料生产安排详解+思路+Python代码时序预测模型(二)_fanstuck的博客-CSDN博客


可以说的上是很明确了,大家只要按照这个思路走肯定是不会有问题挑选出明确的六种物料的。


但是还是有很多小伙伴不是很明白这里我再多嘴几句话:


秩和比的值能够包含所有评价指标的信息,显示出这些评价指标的综合水平,RSR值越大表明综合评价越优。


但有时还需实事求是地加以限定.例如病床利用率、平均病床周转次数一般可作高优指标理解,但过高也不见得是好事。


除区分高优指标与低优指标外,有时还要运用不分高优与低优及其种种组合形式,例如在疗效评价中,微效率可视为偏高优(高优与不分的均数),不变率可视为稍低优(偏低优与“不分”的均数)。总之,编秩的技巧问题要从业务出发来合理地解决。综合评价的方法一般是主客观结合的,方法的选择需基于实际指标数据情况选定,最为关键的是指标的选取,以及指标权重的设置,这些需要基于广泛的调研和扎实的业务知识,不能说单纯的从数学上解决的。


主要的是权重问题。


二、周数处理


第一问的难点可以说有三个:


  • 数据处理获取特征数据集,挑选出六种最高权重的物料
  • 周数处理获得时序数据集
  • 建立周预测模型评价数据集


目前我的文章思路一和二已经完美解答了第一个难点,现在这篇文章来处理接下来这两个难点。


我们根据挑选的六种物料的数据可以发现,每个物料的周数都不是连续的,

9b4c1150b6d94b47b7934995bfab4c20.png


每个物料需求都是有时间断层的,这里我们需要拥有一定的时序数据处理能力,我这里全部都是使用的Pandas处理,对Pandas时间序列数据处理不是很熟练的小伙伴可以去追更我的Pandas专栏,里面有非常详细的处理Pandas时间序列数据的文章,对付这个问题十分够用了。但是得到了周数还是会存在一些小问题:


  • 如相同周数的需求量如何处理?
  • 2020、2021、2022的年份周数又得如何计算呢?
  • 年度首周和尾周应该如何得到正确周数呢?


这些都是需要考虑的点。我们需要将周数和年份一起结合起来判断,得到正确每年周数,从而获得真实周数。这里给大家展示一下我的处理结果:

d4974046b39b4410a52de3f6f7da7955.png


我们可以根据Pandas的强大功能提取出周数和年份结合判断得到真实周数。


这里还需要处理一下真实周数相同的问题,大家一直对这个处理完全没有头绪,昨天晚上微信都被打爆了就是这个问题。Pandas如何处理两列的关系呢?这里我直接给出源码好吧:

pre_1=df_get_re1[['需求量','真实周数']]
def get_pre(df):
    list_q=[]
    m=1
    for i in range(pre_1.shape[0]):
        sum=df['需求量'][i]
        for j in range(i+m,pre_1.shape[0]):
            if df['真实周数'][i]==df['真实周数'][j]:
                sum=sum+df['需求量'][j]
        list_q.append(sum)
    return list_q

当然这是我早期测试代码,现在已经优化不需要这么复杂,大家可以参考这个思路。得到最终的时序预测数据集了:


7880b68143db47418e5ad6fbfab973ea.png


我已经写到这么细化的份上了,求个大家的关注和点赞不过分吧!以后的数模比赛只要我还有时间肯定会第一时间写出免费开源思路,你们的关注和点赞就是我写作的动力!!!


三、时序预测模型


既然得到了最终预测数据,那么时间预测模型也是呼之欲出了。

这里有相当多的时序预测模型可以供给大家选择:

fecbae11cbf541d1bd661932c2544f0b.png

简单套用一下即可,但是选择模型之前我们仍然需要观测一下数据集,是否符合我们使用时序预测模型的类型,可以绘制散点图来更加直观的观看:


379b39a19495414cb7b46b7181e643d1.png


deeb031fc6a342c39414ca3a2f3fb9ab.png


我们会发现这些数据都十分的离散,随着周数波动的十分跳跃,这里我们要根据实际情况选择更加贴切实际的时序预测模型,数据决定了模型的好坏。


模型预测结果


模型挑选这里需要考虑的点比较多,一般都是由经验和数据集主导,这里直接跳过了,直接呈上结果:

c88186e46430493387e0b38e134f79d0.png



d743fbc5eb6b43e39d49fe6500169979.png


效果还是十分不错的。


这里有很多评价模型效果的指标,比如残差值和残差率都可以考虑。


好了第一问已经完全结束了,马上开始大家万众期待的第二问解析!!!


目录
相关文章
|
5月前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1792 17
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
5月前
|
机器学习/深度学习 监控 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析、数学模型及Python代码
2024年中国研究生数学建模竞赛E题要求建立高速公路应急车道紧急启用模型,以缓解特定路段的拥堵问题。题目提供了四个视频观测点的数据,需分析交通流参数随时间的变化规律,建立拥堵预警模型,并验证模型有效性。此外,还需设计合理的应急车道启用规则和算法,优化视频监控点布局,以提升决策科学性和成本效益。涉及视频数据处理、非线性动态系统建模和机器学习等技术。适合交通工程、数学、计算机科学等多个专业学生参与。需利用Python等工具进行数据处理和建模。具体问题包括统计参数变化、建立拥堵模型、验证模型有效性、设计启用规则和优化监控点布局。
1075 12
【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析、数学模型及Python代码
|
5月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的大学竞赛报名管理系统
基于Python+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
59 3
基于Python+Vue开发的大学竞赛报名管理系统
|
5月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的大学竞赛报名管理系统
该项目是基于Python+Vue开发的大学竞赛报名管理系统,旨在帮助大学生掌握Python编程技能及项目开发经验。主要功能包括赛事管理、类型管理、用户管理、统计分析等。项目采用前后端分离设计,前端技术栈为Vue,后端使用Python与Django框架,并基于MySQL数据库。通过实践,学生可提升编程技能,为职业发展奠定基础。项目已部署在线演示,并提供源码下载。
74 2
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!

热门文章

最新文章

推荐镜像

更多