【2023MathorCup大数据竞赛】B题完整解答过程(思路+模型文档+代码+结果)

news2024/12/24 8:52:22

B题完整解答过程

  • 写在最后
  • 技术文档(部分)
    • 问题分析
    • 假设
    • 符号说明
    • 1 基于自适应ARIMA-LR模型的需求量预测(问题一第一小问)
      • 1.1 ARIMA模型的建立
      • 1.2 LR模型的建立
      • 1.3 自适应混合ARIMA-LR模型的建立
      • 1.4 ARIMA模型的求解
      • 1.5 LR模型的求解
  • 代码(部分)
    • 第一问
      • Q1_1.m
      • Q1_2.m
      • Q1_3_main.m
      • Q1_4.m
      • Q1_5.m
      • repair.m
      • selection.m
  • 结果
    • 完整
    • Q1
    • Q2
    • Q3

写在最后

经过整整一天半的时间,B题全部解答过程已经完成啦,包括完整的代码与运行结果,还有分析目文档,欢迎大家交流讨论~

技术文档(部分)

问题分析

对于问题一,首先题目要求预测出各商家在各仓库的商品2023-05-16至2023-05-30的需求量。在大框架下,该问题属于一个时间序列预测问题。可以采用AR、MA、ARIMA等模型进行预测。但是序列中存在一定的突发性波动或是非线性规律,故考虑采用混合模型对需求量进行预测。可以根据某一段时期的预测准确度评价所设计的算法的优越性。同时,也可以根据在测试集中的预测准确度计算混合模型的混合权重,达到自适应的目的。
在对序列进行预测后,题目要求对时间序列进行分类,其实是需要确定分类的依据指标。对于该问可以先确立一系列候选指标,然后采用智能优化算法以最大化组内相似度为目的对分类指标的选取进行优化。
对于问题二,题目要求对新出现的商家+仓库+商品维度的预测维度进行预测。求解该问题时,应先提取该序列的特征,通过与已有序列进行两阶段匹配。在第一阶段,通过第一问所选取的分类指标确定较为接近的序列组;在第二阶段,通过具体的相似度选取最为相似的序列。此时,可以对选取的序列进行调整后与新序列进行拼接,再通过第一问所设计的算法对新序列进行预测。
对于问题三,题目要求对大型促销期间(2023-06-01至2023-06-20)的需求量数据进行预测。对于该问题,可以先提取出去趋势波动,其中趋势可用一次回归进行表征。然后用回归模型对待预测序列进行预测,再在预测值的基础上叠加波动项,形成最后大型促销期间的最终预测值

假设

1、假设市场价格完全由供需关系决定,不受政策管控影响。
2、假设不出现突发不可抗灾害导致的销售量爆发等情况的发生。
3、假设供应链关系大体稳定不变。

符号说明

在这里插入图片描述

1 基于自适应ARIMA-LR模型的需求量预测(问题一第一小问)

1.1 ARIMA模型的建立

在这里插入图片描述

1.2 LR模型的建立

在这里插入图片描述

1.3 自适应混合ARIMA-LR模型的建立

对于每一预测算法,均通过部分序列作为测试集。本文所设计的混合算法的混合思想主要为:在往期的预测中性能越好则在未来的预测中的权重就越高,对预测值的贡献度就越高。
在这里插入图片描述

1.4 ARIMA模型的求解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上图中可以看出,ARIMA模型大致描述出了出货量的趋势走向及部分波动。但是仍有许多波动没有在预测中被反应出来,仍需进一步改进。

1.5 LR模型的求解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码(部分)

第一问

Q1_1.m

在这里插入图片描述

Q1_2.m

在这里插入图片描述

Q1_3_main.m

在这里插入图片描述

Q1_4.m

在这里插入图片描述

Q1_5.m

在这里插入图片描述

repair.m

在这里插入图片描述

selection.m

在这里插入图片描述

结果

完整

在这里插入图片描述

Q1

在这里插入图片描述

Q2

在这里插入图片描述

Q3

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像分类任务ViT与CNN谁更胜一筹?DeepMind用实验证明

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 今天跟大家分享DeepMind发表的一篇技术报告,通过实验得出,CNN与ViT的架构之间虽然存在差异,但同等计算资源的预…

力扣刷题 day59:10-29

1.子集 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 方法一:二进制枚举 #方法一:二进制枚举 def subsets(nums)…

C# “依赖注入” 中的 “三种生命周期”

🚀简介 依赖注入(Dependency Injection,简称DI)是一种实现控制反转(IoC)的技术,用于减少代码之间的耦合度。通过依赖注入,一个类可以从外部获取其依赖的对象,而不是自己…

MyBatis-Plus 与 Druid 结合 Dynamic-datasource 实现多数据源操作数据库

MyBatis-Plus 官网:https://baomidou.com/ MyBatis-Plus 官方文档:https://baomidou.com/pages/24112f/ dynamic-datasource 文档(付费):https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611 创建数据库…

EM算法解析+代码

大纲 数学基础:凸凹函数,Jensen不等式,MLEEM算法公式,收敛性HMM高斯混合模型 一、数学基础 1. 凸函数 通常在实际中,最小化的函数有几个极值,所以最优化算法得出的极值不确实是否为全局的极值&#xff…

腾讯云2023年双11服务器优惠活动及价格表

腾讯云2023年双11大促活动正在火热进行中,腾讯云推出了一系列服务器优惠活动,云服务器首年1.8折起,买1年送3个月!境外云服务器15元/月起,买更多省更多!下面给大家分享腾讯云双11服务器优惠活动及价格表&…

Ps:平滑选区边缘

Ps 中某些传统的选区工具,如快速选择工具等,在进行选区后容易产生锯齿状等不规则的边界。此时,可利用“选择并遮住”来平滑选区边缘。 ◆ ◆ ◆ 操作方法与技巧 1、(可选)新建纯色填充图层,并置于原图图层…

【论文精读1】MVSNet架构各组织详解

一、训练流程 1. 特征提取 提取N个输入图像的深层特征用作深度匹配 与传统三维重建方法类似,第一步是提取图像特征(SIFT等特征子),不同点在于本文使用8层的卷积网络从图像当中提取更深层的图像特征表示,网络结构如下…

ProEssentials pro v9 历史更新列表--注册版

ProEssentials标准版和专业版之间的唯一区别是可以渲染的数据点和注释的数量。标准版与专业版一样拥有所有的功能和接口。所有版本包括WPF、WinForm、WebForm、ActiveX、VCL和DLL接口。标准版仅限于8000个数据点和800个图表注释。此限制适用于每个控件实例。你可以运行多个控件…

《数字图像处理-OpenCV/Python》连载(33)使用掩模图像控制处理区域

**本书京东优惠购书链接:https://item.jd.com/14098452.html** **本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html** 第 5 章 图像的算术运算 在OpenCV中,图像是以Numpy数组格式存储的,图像的算术运…

抓包分析DSCP字段在FTP/RSTP协议中的应用

抓包分析DSCP字段在FTP协议中的应用 简介 本文介绍DSCP字段的作用,以及抓包分析DSCP字段在FTP协议中的应用。最后通过实验证明有可能DSCP字段实际上对普通用户没啥用,原因是运营商可能会将用户设置的DSCP字段重置。 DSCP IP报文中有个TOS字段 &#…

C语言选择排序

1.选择排序(Selection sort) 选择排序是简单直观的排序算法。 基本思想:从首元素开始,首元素与它后面的所有元素进行比较,找到数列中最小的元素,与首元素值交换。然后下一个元素与它后面的元素比较,得到第二小的元素…

Zynq UltraScale+ XCZU5EV 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

C语言实现输入 n 个字符串,把其中以字母 A 打头的字符串输出

完整代码&#xff1a; // 输入 n 个字符串&#xff0c;把其中以字母 A 打头的字符串输出。 #include<stdio.h> #include<stdlib.h> //字符串的最大长度 #define N 20int main(){int n;printf("请输入字符串个数n:");scanf("%d",&n);//读取…

使用OBS Browser+访问华为云OBS存储【Windows】

背景 项目中使用华为云 S3 存储,java 代码中通过华为云 OBS 提供的esdk-obs-java 来访问文件。 但是,通过 JAVA SDK 方式不太方便运维,所以我们需要一款可视化的客户端软件。 华为云 OBS 自身也提供了一款客户端软件,名为 OBS Browser+。 OBS Browser+简介 OBS Browse…

【洛谷算法题】P5709-Apples Prologue / 苹果和虫子【入门2分支结构】

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5709-Apples Prologue / 苹果和虫子【入门2分支结构】&#x1f30f;题目描述&am…

深入理解指针3

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1. 字符指针变量 2. 数组指针变量 2.1 数组指针变量是什么&#xff1f; 2.2 数组指针变量怎么初始化 3. 二维数组传参的本质 4. 函数指针变量 4.1 函数指针变量的创…

比亚迪应届生爆料,真实的工作状态!

一位比亚迪的应届生发帖子称&#xff0c;校招入职比亚迪一个月&#xff0c;爱上了这里的工作文化&#xff0c;不怎么加班&#xff0c;工作日常就是开会对问题&#xff0c;顺便吵架扯皮&#xff0c;不用写令人头疼的代码&#xff0c;但是却拿着高工资&#xff0c;感觉现在的生活…

详解类生到死的来龙去脉

类生命周期和加载过程 一个类在 JVM 里的生命周期有 7 个阶段&#xff0c;分别是加载&#xff08;Loading&#xff09;、校验&#xff08;Verification&#xff09;、准备&#xff08;Preparation&#xff09;、解析&#xff08;Resolution&#xff09;、初始化&#xff08;Ini…

C++ 内存

内存分区模型 代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理全局区&#xff1a;存放全局变量和静态变量以及常量栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数值、局部变量等堆区&#xff1a;由程序员分配和释放&#xff0c;若…