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


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

目录
相关文章
|
3天前
|
设计模式 缓存 开发者
探索Python中的装饰器:提升代码复用性的利器
本文深入探讨了Python中强大的装饰器功能,揭示了其如何通过元编程和闭包等技术手段,优雅地实现代码的复用与扩展。从基本概念到高级应用,我们将一步步揭开装饰器背后的奥秘,并通过实例展示其在实际项目开发中的巨大价值。无论是想要简化函数调用流程、增强函数功能,还是实现AOP(面向切面编程),掌握装饰器都是每位Python开发者必备的技能。
|
2天前
|
缓存 监控 测试技术
探索Python中的装饰器:提升代码的灵活性和可维护性
本文深入探讨Python装饰器的概念、用法及优势。通过实例讲解如何利用装饰器增强函数功能、日志记录及性能测试,旨在帮助读者掌握这一强大的工具,提升编程效率与代码质量。
|
5天前
|
人工智能 数据挖掘 数据处理
揭秘Python编程之美:从基础到进阶的代码实践之旅
【9月更文挑战第14天】本文将带领读者深入探索Python编程语言的魅力所在。通过简明扼要的示例,我们将揭示Python如何简化复杂问题,提升编程效率。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编码世界的大门。让我们开始这段充满智慧和乐趣的Python编程之旅吧!
|
4月前
|
算法 编译器 开发者
如何提高Python代码的性能:优化技巧与实践
本文探讨了如何提高Python代码的性能,重点介绍了一些优化技巧与实践方法。通过使用适当的数据结构、算法和编程范式,以及利用Python内置的性能优化工具,可以有效地提升Python程序的执行效率,从而提升整体应用性能。本文将针对不同场景和需求,分享一些实用的优化技巧,并通过示例代码和性能测试结果加以说明。
|
24天前
|
机器学习/深度学习 Python
时间序列特征提取:从理论到Python代码实践
时间序列是一种特殊的存在。这意味着你对表格数据或图像进行的许多转换/操作/处理技术对于时间序列来说可能根本不起作用。
40 1
时间序列特征提取:从理论到Python代码实践
|
13天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的基本原理与Python代码实践
【9月更文挑战第6天】本文深入探讨了人工智能领域中的机器学习技术,旨在通过简明的语言和实际的编码示例,为初学者提供一条清晰的学习路径。文章不仅阐述了机器学习的基本概念、主要算法及其应用场景,还通过Python语言展示了如何实现一个简单的线性回归模型。此外,本文还讨论了机器学习面临的挑战和未来发展趋势,以期激发读者对这一前沿技术的兴趣和思考。
|
21天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析的新手指南深入浅出操作系统:从理论到代码实践
【8月更文挑战第30天】在数据驱动的世界中,掌握数据分析技能变得越来越重要。本文将引导你通过Python这门强大的编程语言来探索数据分析的世界。我们将从安装必要的软件包开始,逐步学习如何导入和清洗数据,以及如何使用Pandas库进行数据操作。文章最后会介绍如何使用Matplotlib和Seaborn库来绘制数据图表,帮助你以视觉方式理解数据。无论你是编程新手还是有经验的开发者,这篇文章都将为你打开数据分析的大门。
|
23天前
|
存储 中间件 PHP
Python编程入门:从零到一的代码实践深入理解 PHP 中的中间件模式
【8月更文挑战第28天】本文旨在通过浅显易懂的方式,向初学者介绍Python编程的基础知识,并结合具体代码示例,带领读者一步步实现从零基础到能够独立编写简单程序的转变。文章将围绕Python语言的核心概念进行讲解,并通过实例展示如何应用这些概念解决实际问题。无论你是编程新手还是希望扩展技能的专业人士,这篇文章都将为你打开编程世界的大门。 【8月更文挑战第28天】在PHP的世界中,设计模式是构建可维护和可扩展软件的重要工具。本文将通过浅显易懂的语言和生动的比喻,带领读者深入理解中间件模式如何在PHP应用中发挥魔力,实现请求处理的高效管理。我们将一步步揭开中间件的神秘面纱,从它的定义、工作原理到
|
2月前
|
缓存 算法 大数据
优化Python代码执行效率的技巧与实践
在Python编程中,优化代码的执行效率是提升应用性能和用户体验的关键。本文探讨了几种有效的技巧和实践方法,帮助开发者们更好地理解和应用Python语言的优化策略,从而提升程序的运行效率和响应速度。
|
3月前
|
算法 搜索推荐 开发者
解锁Python代码的速度之谜:性能瓶颈分析与优化实践
探索Python性能优化,关注解释器开销、GIL、数据结构选择及I/O操作。使用cProfile和line_profiler定位瓶颈,通过Cython减少解释器影响,多进程避开GIL,优化算法与数据结构,以及借助asyncio提升I/O效率。通过精准优化,Python可应对高性能计算挑战。【6月更文挑战第15天】
481 1