2023年第四届MathorCup高校数学建模挑战赛——大数据竞赛B题解题思路

比赛时长为期7天的妈杯大数据挑战赛如期开赛,为了帮助对B题有更深的理解,这里为大家带来B题的初步解题思路。

赛道B:电商零售商家需求预测及库存优化问题

由于妈杯竞赛分为初赛复赛,因此,对于B题大家仅仅看到了预测相关的问题,没有优化相关的问题。包括题干中所说的库存优化,对于本次比赛而言完全没有必要看了。这也大大降低了本次的比赛的难度。下面对本次比赛的B题进行详细的解题思路分析。

数据!!!!(数据清洗+数据可视化)

切记,数据问题,第一步绝对不是做题,而是数据预处理。对于这个题目,如此庞大的数据集一定是存在异常值的,甚至于还有缺失值。因此,基于七天的比赛时长,大家完全可以拿出一两天的,专门找异常值。

这里对于数据,我提供来两种思路,也是课程中一直强调的两种方向,一,对于边缘值问题。二,逻辑异常。边缘值,主要就是对于给出的数据中需求量,存在很大的数值以及0的情况,对于这俩种极端值应该如何处理?我的初步想法就是对于这两个极大值,进行讨论,对于结果予以删除。然后利用线性插值进行填充处理。

对于数值0的情况,分析数据可以大致看出存在很多这样的极小值,进行必要的文字说明。说明这种数据是虽然是异常数据,但是符合实际情况,即可。

对于逻辑异常,例如,一个电脑、办公的商家售卖了宠物 。毫无疑问,这也是属于异常数据了,需要进行处理。但是,这种逻辑异常的难点在于无法直接看出具体是,需要大家仔细查找,或者设置find函数的约束,进行查找,较为复杂。

对于数据预处理的数据清洗大致就这些。还有一部分为数据编码处理,即对于商家编码为例,我们需要对这些变为数据进行后续处理,这里就需要大家设置数据标码方式,通常默认的方式,就是依次进行标码,如下所示。大家这里可以使用SPSSPRO快速生成。稍后视频也会有解释说明的

问题初步思路

数据处理差不多后,才是问题的求解。下面带来问题一二三的初步思路

对于问题一,使用附件 1-4 中的数据, 预测出各商家在各仓库的商品2023-05-16 至 2023-05-30 的需求量并对你们模型的预测性能进行评价。

根据数据分析及建模过程,这些由商家、仓库、商品形成的时间序列如何分类,使同一类别在需求上的特征最为相似?

问题一可以理解为两问,也可以按着一种方式进行求解。问题一要求我们进行预测,并对于由商家、仓库、商品形成的时间序列如何进行分类。通过分析数据大家可以看出每天都是1996种商品组合的需求量。对于1996种,不同的组合我们不可能对于每一种都进行预测,即建立的预测模型需要for循环1996,这样的安排即使七天的时间代码也很难跑完。因此,我们必须根据一些相似的特征进行分类,将同一类的组合进行,使同一类别在需求上的特征最为相似。根据不同的类别进行预测。这样可以大大降低预测的工作量。

我认为可以使用关联分析模型,这一模型在课程第五课时有过讲解,大家可以选择直接免费版课程、或者进阶版课程亦或者在网上自行学习都是可以的。这里,我的建议就是可以直接使用person相关性分析,选择和需求量相关系数进行分类,进行分类建模。(注:也可以选择高级的分类模型,再给大家的资料中也有很多的分类判别法的高级方法,大家可以使用那些高级方法进行分类)

选择合适的指标后,即可对商家编码、商品编码、仓库编码、日期、出货量(可看做需求量)进行,这里在预测之前必须记性一定的机理分析。众所周知,对于要得出结果的这四个数据并不是独立的,而知相互之间存在一定联系的。因此,可以对这四个指标进行相关性分析,得出具体的函数表达式后,在进行预测即可。

对于机理的分析,可以通过绘制散点图,相关性分析,线性或者分线性拟合

通过绘制这样的图形进行分析机理,构造几个预测值之间的关系等式。

对于预测模型的选取,大家可以根据自己掌握能力选择合适的预测模型即可,可以参考下表,

也可以选择,我一直以来最为推荐的基于优化模型的加权预测模型即可。

根据机理分析得出的关系等式进行预测。

问题二,请讨论这些新出现的预测维度如何通过历史附件 1 中的数据进行参考,找

到相似序列并完成这些维度在 2023-05-16 至 2023-05-30 的预测值。请把预测结果填写在结果表 2,并上传至竞赛平台。

利用问题一建立的分类模型,引入问题二附件五的数据进行重新分类判定,采用尽量采用问题一相同的预测模型,进行预测即可。

问题三:每年 6 月会出现规律性的大型促销,为需求量的精准预测以及履约带来了很大的挑战。附件 6 给出了附件 1 对应的商家+仓库+商品维度在去年双十一期间的需求量数据,请参考这些数据,给出 2023-06-01 至2023-06-20 的预测值。请把预测结果填写在结果表 3,并上传至竞赛平台。

引入,大型促销下的商家+仓库+商品维度相关数据,与问题二思路相似,根据引入的数据利用分类模型,得出新的分类结果。对于这一新的分类结果,采用与问题一相同的预测模型即可。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计选题推荐-社区志愿者服务微信小程序/安卓APP-项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

UE4 HLSL学习笔记

在Custom配置对应ush文件路径 在HLSL中写入对应代码 Custom里面增加两个Input,名字必须和ush文件内的未知变量名字一样 然后就对应输出对应效果的颜色 这就是简单的加法运算 减法同理: 乘法除法同理 HLSL取最小值 HLSL取最大值 绝对值: 取余…

设计模式(全23种)

1.前言 1.CUML类图 面向对象设计主要就是使用UML的类图,类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。下面基于C这门语…

【AOP进阶】实现重试机制

📚目录 ⚙️简介:✨注解定义:⛳RetryMechanism ⌛编写AOP代码:⚓RetryMechanismAspect 切面 ⛵演示:⛴如何使用RetryMechanism:⚡️正常请求如下:☘️测试异常并且重试:☄️测试异常…

Ubuntu系统HUSTOJ 用 vim 修改php.ini 重启PHP服务

cd / sudo find -name php.ini 输出: ./etc/php/7.4/cli/php.ini ./etc/php/7.4/fpm/php.ini sudo vim /etc/php/7.4/cli/php.ini sudo vim /etc/php/7.4/fpm/php.ini 知识准备: vim的搜索与替换 在正常模式下键入 / ,即可进入搜索模式…

大彩串口屏读写文件问题

分区 本文使用的是大彩串口屏M系列的: 串口屏内部有三个分区,分别为A、B、C三个区: A区:系统区,存储组态工程文件 B区:数据区,存储配置信息,记录数据、历史曲线等 C区:备…

机器学习(python)笔记整理

目录 一、数据预处理: 1. 缺失值处理: 2. 重复值处理: 3. 数据类型: 二、特征工程: 1. 规范化: 2. 归一化: 3. 标准化(方差): 三、训练模型: 如何计算精确度,召…

数据结构——双向链表的实现

一、双向链表的结构 注意:双向链表又称带头双向循环链表 这⾥的“带头”跟前⾯我们说的“头节点”是两个概念,实际前⾯的在单链表阶段称呼不严 谨,但是为了同学们更好的理解就直接称为单链表的头节点。 带头链表⾥的头节点,实际…

轻量封装WebGPU渲染系统示例<8>- 渲染器基本场景管理(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/main/src/voxgpu/sample/RSceneTest.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 5. 用户操作和渲…

浅谈js代码的封装方法(2023.10.30)

常见的js代码封装方法 2023.10.30 需求1、js代码封装的优缺点2、js代码封装方式2.1 方式一:function function declarations2.1.1 示例 2.2 方式二:class2.2.1 class declarations2.2.2 Class expressions 2.3 变量函数2.4 变量闭包匿名函数2.5 闭包函数…

随机链表的复制(C++解法)

题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节…

基于SpringBoot的垃圾分类管理系统

基于SpringBootVue的垃圾分类管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven主要功能:包括前台和后台两部分、首页列表展示、垃圾分类、垃圾图谱、查看详…

【详细教程】关于如何使用GitGitHub的基本操作汇总GitHub的密钥配置 ->(个人学习记录笔记)

文章目录 1. Git使用篇1.1 下载安装Git1.2 使用Git 2. GitHub使用篇2.1 如何git与GitHub建立联系呢?2.2 配置公钥 1. Git使用篇 1.1 下载安装Git 点击 官网链接 后,进入Git官网,下载安装包 然后根据系统类型进行下载,一般为wind…

Linux 音频驱动实验

目录 音频接口简介为何需要音频编解码芯片?WM8960 简介I2S 总线接口I.MX6ULL SAI 简介 硬件原理图分析音频驱动使能修改设备树使能内核的WM8960 驱动alsa-lib 移植alsa-utils 移植 声卡设置与测试amixer 使用方法音乐播放测试MIC 录音测试LINE IN 录音测试 开机自动…

第16期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…

Ceph入门到精通-bluestore IO流程及导入导出

bluestore 直接管理裸设备,实现在用户态下使用linux aio直接对裸设备进行I/O操作 写IO流程: 一个I/O在bluestore里经历了多个线程和队列才最终完成,对于非WAL的写,比如对齐写、写到新的blob里等,I/O先写到块设备上&am…

【操作系统】考研真题攻克与重点知识点剖析 - 第 1 篇:操作系统概述

前言 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术…

总结之数据分析工具cube.js通过Docker部署

cube.js介绍 官网地址:https://cube.dev/ Cube.js是一个开源的模块化框架,用于构建分析web应用程序。它主要用于构建内部业务智能工具或向现有应用程序添加面向客户的分析。 Cube.js设计用于无服务器查询引擎,如AWS Athena和谷歌BigQuery。…

《HelloGitHub》第 91 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

BI是什么?想要了解BI需要从哪些方面入手?

企业为了执行数字化战略,实行数字化转型,实现数据价值,除了需要相关数字化技术及理念、人才等,还需要借助数字化相关应用,例如商业世界中广受企业欢迎的ERP、OA、CRM等业务信息系统,以及上升势头非常迅猛的…