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

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

前言


依旧是紧接着上篇文章内容哈,这次我们将更加精细化的将第一问的时间序列模型给全部做出来:


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


这篇文章主要是弥补了上篇文章遗留下来的数据趋势和销售单价的问题,并且将时序预测模型给完全做出来,可以说是任务量满满啊,那么现在我们就开始着手一步一步建模。


一、趋势精化


首先我们根据实际数据来思考,能够反应物料需求波动趋势的可以不用做的那么复杂,毕竟物料种类有283个,如果每个物料都去做一遍趋势分析的话,难免浪费太多时间,而且很多物料需求的发生频次只有一次或者两次,这极大的影响了判断。所以我们这里使用综合统计指标来评测。


方法


这里既然是趋势,那么我们完全可以使用sigmoid函数来实现一次归一化操作,将数据归一化后直接算出均值即可作为趋势指标。

866e6a9b50ab4d4ab3e58acd6c565aaf.png

早在一开始我就像将他们化为无量纲数据来分析趋势了,归一化数据之后融合了数据离散性,再根据均值比较仅得到他们的趋势即可,这样的话避免了需求量的数值影响从而得到更加精准的趋势标量。我们只需要选择标量趋于更大即可,这说明了我们需求量在逐渐增大,更加符合重要物料的性质。

900e201e1df2481387219c66d4f045df.png

这样一来我们就解决了趋势问题,那么下一个就是销售单价了。


二、销售单价细化分析


这里可能有很多同学朋友想到销售单价那不肯定就是取个最低或者最高就好了嘛,你想想难道单价不是根据需求量来变化的?你单纯拿一个销售单价来分析,而不看需求量,就比如一个物料卖10,一个卖20就选取卖10块的,但是10块的物料只要20个,而卖20的需要30个呢?


我们来看看这个数据:

7c8cb47cc4c54a0883cb53be7023972c.png

这一下就差了快2000了,但是如果你取他们的平均价格会损失相当多的信息。

而且根据数据观测我们也发现销售单价也是根据时间在波动所以我们完全可以根据上一个需求量的策略来进行分析,先将销售单价和需求量融合成成本指标:

1141e2a0444a42a99ec522407d1ec3de.png

之后再根据聚合后的数据求一次平均从而得到平均每天需求额度,那么这个指标就融合和销售单价,当该指标越大时,说明该物料越值得关注


f9da44349f1240639f4b03af8672dd58.png


这样以来我们就凑齐了所有的参考要素,再组合一遍,得到最终建模数据集:

de58408699ae4012a662c0ea9a2ad161.png

现在我们就可以根据最终数据来确定最后六种应当重点关注的物料了。


三、算法筛选


决策算法我已经写过很多模型的文章了,包括:


层次分析法(AHP)原理以及应用_fanstuck的博客-CSDN博客_层次分析法原理


一文速学-熵权法实战确定评价指标权重_fanstuck的博客-CSDN博客_熵权法确定权重


秩和比综合评价法(RSR)详解及Python实现和应用_fanstuck的博客-CSDN博客_rsr方法


这里我选择综合性更强的RSR秩和比综合评价法:


一般过程是将效益型指标从小到大排序进行排名、成本型指标从大到小排序进行排名,再计算秩和比,最后统计回归、分档排序。通过秩转换,获得无量纲统计量RSR;在此基础上,运用参数统计分析的概念与方法,研究RSR的分布;以RSR值对评价对象的优劣直接排序或分档排序,从而对评价对象做出综合评价。


1.指标权重计算


进行结果评定时我们知道影响因素的权重大小都是不一致的,我们需要先计算出各个指标的权重再进行加权秩和比,不然各个指标之间的信息差就没有意义。


计算指标权重的方法有AHP、熵权法或是自定义权重,笔者均写过AHP和熵权法.

这里我们用熵权法得到权重:


16c8ddb3cd684949af9d96ccdc6ce52a.png


df1fd91907bb4b8eba65676a1fd2950e.png


从而得到相应的权重,之后进行


2.编秩


采用整秩法:


一个行gif.gifgif.gif的矩阵中,其对应的RSR计算公式为:

gif.gif


其中gif.gifgif.gif表示为第i行第j列元素的秩。

当个评价指标的权重不同时,计算加权秩和比为


gif.gif


gif.gif表示第第gif.gif指标的权重。RSR值无量纲,最小值为gif.gif,最大值为1.

3c494e24b2db4388abc2e105735fc629.png


3.计算秩和比RSR值


be1f159eab9e4780aa12fe8c99586650.png



75214ca37a16452dbb566ec88aa64e61.png


4.分档.


按照回归方程推算所对应的RSR估计值对评价对象进行分档排序,分档数由研究者根据实际情况决定。  

● 通过RSR拟合值,以及上一表格中的RSR临界(拟合值)进行区间比较,进而得到分档等级水平;

● 分档等级Level数字越大表示等级水平越高,即效应越好。

688745a403e64bf48e23786f4abdb1f3.png


得到最终六个最重要的物料编码。

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