2024年钉钉杯大数据竞赛A题超详细解题思路+python代码手把手保姆级运行讲解视频+问题一代码分享
初赛A:烟草营销案例数据分析
AB题综合难度不大,难度可以视作0.4个国赛,题量可以看作0.35个国赛题量。适合于国赛前队伍练手,队伍内磨合。竞赛获奖率50%,八月底出成绩,参赛人数3000队左右。本文将为大家进行A题的超详细解题思路+部分代码分享
钉钉杯赛中分享资料(问题一代码+论文+思路)链接(18点更新)
链接:https://pan.baidu.com/s/16o5y5Gxu2NDa9mGxshbnvw
提取码:sxjm
对于数据类型的题目,首先就是应该进行数据预处理,这里由于每一问题都涉及不同的数据集,因此对于该问题的数据预处理。我们应该分问进行,下面主要对问题一涉及的数据进行详细的说明,后面仅作展示处理。
- 数据预处理数据清洗-缺失值异常值处理
-
对于题目中,存在明显的极大值以及极小值。例如2013 12这个数据当月销量只有0.4箱子该数据与其他正常数据差异过大,应进行必要的数据处理。例如,应该将该异常值使用箱型图等方面进行判定,对于判定结果进行剔除处理。对于剔除后产生的空缺值使用插值的方法进行填充。
例如,我们以A1 A2为例,首先将进行正态分布的判定,对于正态分布的数据使用3西格玛原则判定异常值,对于非正态分布的数据使用箱型图判定异常值。将判定结果替换为缺失值,进行插值填充。
进行判定,得出A1的数据均不服从正态分布,A2的数据服从正太分布。因此,需要对不同的数据进行不同的处理。
数据可视
绘制时间序列图,观察数据趋势、周期性和季节性。
数据显示,销售金额在2013年和2014年出现了明显的高峰。之后的几年中,销售金额总体呈现下降趋势,直到2018年后趋于平稳。从2011年到2017年,销售金额的长期趋势呈下降态势。2017年以后,趋势有所回升,并逐渐趋于平稳。数据显示,每年某些月份的销售金额显著增加,表现出较强的季节性波动。这个季节性模式在各年间基本保持一致。残差部分显示出较大的波动性,但没有明显的系统性趋势。这些波动反映了数据中随机和不可预测的部分。【论文内容:图形文字描述】
问题一二都涉及到了选择两种不同的数学预测模型,这里我们将常见的预测模型放于文章最后,供大家参考使用。理论上所有的模型都是正确的、都是可以使用的。在数学建模是没有答案的,因此也没有对错,仅仅只有使用的适配度和精度问题。所以文末的各种模型都是可以使用的
1. 预测A1、A2品牌的销量
对未来销量进行预测:使用历史销售数据构建2个不同类型的时间序列预测模型,分别对 A1、A2香烟品牌的未来销量进行数据预测,目标为表中最后空白项。自行选择和设计模型类型 、参数、结构。
对于问题一预测模型的选择多种多样只要符合预测条件即可,这里给出其中两种的步骤
模型选择:
1. ARIMA(AutoRegressive Integrated Moving Average)模型:
- 参数选择:使用AIC/BIC准则选择最优的p, d, q参数。
- 模型训练:拟合ARIMA模型,并进行预测。
- 结果评价:使用RMSE、MAE等评价指标衡量模型性能。
2. Prophet模型:
- 数据处理: 转换数据格式以适应Prophet模型。
- 模型训练: 拟合Prophet模型,并进行预测。
- 结果评价: 使用RMSE、MAE等评价指标衡量模型性能。
模型名称 | 描述 | 优点 | 缺点 |
ARIMA | 结合自回归和移动平均,适用于非平稳时间序列数据 | 适用于平稳和非平稳数据;参数选择较灵活 | 需要手动选择参数;对数据要求较高 |
SARIMA | 在ARIMA基础上增加季节性部分,适用于季节性时间序列数据 | 能够捕捉季节性变化;适用于周期性波动的数据 | 参数较多,选择复杂;计算复杂度高 |
Prophet | 由Facebook开发,适用于具有多种季节性和假期效应的时间序列数据 | 易于使用;对异常值和缺失值鲁棒 | 适用于较长时间序列数据;短期预测效果较差 |
LSTM | 基于神经网络,能够捕捉长时间序列依赖关系,适用于复杂的非线性数据 | 能够捕捉长期依赖关系;适用于复杂非线性数据 | 需要大量数据训练;训练时间长,计算资源高 |
Exponential Smoothing | 通过对历史数据加权平均来预测未来值,包括单、双和霍尔特-温特斯季节性模型 | 简单易用;计算速度快 | 对复杂数据预测效果较差;不能捕捉长 |
2. 预测A3、A4品牌的销售金额
对销售金额进行预测:使用历史销售数据构建2个不同类型的时间序列预测模型,分别对 A3、A4香烟品牌的销售金额进行数据预测,目标为表中最后空白项。自行选择和设计模型类型 、参数、结构。
模型选择:
1. SARIMA(Seasonal ARIMA)模型:
- 参数选择: 使用AIC/BIC准则选择最优的p, d, q, P, D, Q, m参数。
- 模型训练: 拟合SARIMA模型,并进行预测。
- 结果评价: 使用RMSE、MAE等评价指标衡量模型性能。
2. LSTM(Long Short-Term Memory)模型:
- 数据处理: 标准化数据,创建适合LSTM模型的输入格式。
- 模型构建: 构建并训练LSTM神经网络模型。
- 结果评价: 使用RMSE、MAE等评价指标衡量模型性能。
3. 集成学习模型构建
集成学习:在上述分别对销量及销售金额预测模型的基础上,构建集成学习模型,实现 对A5香烟品牌的销量和销售金额的联合预测。集成学习模型不局限于上述问题中建立的模型, 可新增,以最终性能为评判标准。
目标: 对A5品牌的销量和销售金额进行联合预测。
步骤:
1、ARIMA模型选择和训练:
遍历 p、d 和 q 参数的所有可能组合(从0到2),选择AIC值最小的参数组合。
使用最佳参数组合训练ARIMA模型,并进行10步预测。
2、Prophet模型训练和预测:
将数据转换为Prophet模型所需的格式(列名分别为 ds 和 y)。使用Prophet模型进行10步预测。
3、构建集成学习模型(Stacking):
将ARIMA和Prophet模型的预测结果作为特征,实际值作为目标变量,使用线性回归模型作为元学习器进行训练。使用训练好的线性回归模型生成最终的集成学习预测结果。
4、评价模型:
计算集成学习模型的均方误差(MSE)和平均绝对误差(MAE)。
对比ARIMA模型和Prophet模型的MSE和MAE,评估各模型的性能。
绘制实际值、ARIMA预测值、Prophet预测值和集成学习预测值的时间序列图。
BZD数模社 独家制作
相关文章:

2024年钉钉杯大数据竞赛A题超详细解题思路+python代码手把手保姆级运行讲解视频+问题一代码分享
初赛A:烟草营销案例数据分析 AB题综合难度不大,难度可以视作0.4个国赛,题量可以看作0.35个国赛题量。适合于国赛前队伍练手,队伍内磨合。竞赛获奖率50%,八月底出成绩,参赛人数3000队左右。本文将为大家进行…...

unity2D游戏开发01项目搭建
1新建项目 选择2d模板,设置项目名称和存储位置 在Hierarchy面板右击,create Empty 添加组件 在Project视图中右键新建文件夹 将图片资源拖进来(图片资源在我的下载里面) 点击Player 修改属性,修好如下 点击Sprite Editor 选择第二…...

删除的视频怎样才能恢复?详尽指南
在日常生活中,我们有时会不小心删除一些重要的视频文件,或者在整理存储空间时不慎丢失了珍贵的记忆片段。这时候,我们可以通过一些数据恢复工具和技巧,找回这些被删除的视频。本文将详细介绍几种常见且有效的视频恢复方法…...
LeetCode160 相交链表
前言 题目: 160. 相交链表 文档: 代码随想录——链表相交 编程语言: C 解题状态: 没思路… 思路 依旧是双指针法,很巧妙的方法,有点想不出来。 代码 先将两个链表末端对齐,然后两个指针齐头并…...
高性能响应式UI部件DevExtreme v24.1.4全新发布
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,…...
Python实现Java mybatis-plus 产生的SQL自动化测试SQL速度和判断SQL是否走索引
Python实现Java mybatis-plus 产生的SQL自动化测试SQL速度和判断SQL是否走索引 文件目录如下 │ sql_speed_test.py │ ├─input │ data-report_in_visit_20240704.log │ resource_in_sso_20240704.log │ └─outputdata-report_in_visit_20240704.cs…...

UDP的报文结构及其注意事项
1. 概述 UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了一种简单的数据传输服务,不保证数据的可靠传输。在网络通信中,UDP通常用于一些对实时性要求较高、数据量较小、传输延迟较低的应用,…...
MySQL深度分页问题深度解析与解决方案
文章目录 引言深度分页问题的原因解决方案方案一:使用主键索引优化方案二:使用子查询优化方案三:使用INNER JOIN优化方案四:使用搜索引擎 最佳实践结论 引言 在处理包含数百万条记录的大型数据表时,使用MySQL的LIMIT进…...
C#类型基础Part1-值类型与引用类型
C#类型基础Part1-值类型与引用类型 参考资料前言值类型引用类型装箱和拆箱 参考资料 《.NET之美–.NET关键技术深入与解析》 前言 C#中的类型一共分为两类,一类是值类型(Value Type),一类是引用类型(Reference Type)…...
被上市公司预判的EPS增速分析
EPS增速对二级市场投资和估值有着很显著的影响,上市公司显然也知道这一点。对于想要做市值管理的上市公司来说,调节EPS增速比调节EPS更加有效。因此《穿透财报:读懂财报中的逻辑与陷阱》中的作者在第四章正式提出了二级市场财务分析中的额动态…...

快速入门了解Ajax
博客主页:音符犹如代码系列专栏:JavaWeb关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Ajax的初识 意义:AJAX(Asynchronous JavaScript and…...

FPGA开发——呼吸灯的设计
一、原理 呼吸灯的原理主要基于PWM(脉冲宽度调制)技术,通过控制LED灯的占空比来实现亮度的逐渐变化。这种技术通过调整PWM信号的占空比,即高电平在一个周期内所占的比例,来控制LED灯的亮度。当占空比从0%逐渐变化到1…...

【数据结构】二叉树链式结构——感受递归的暴力美学
前言: 在上篇文章【数据结构】二叉树——顺序结构——堆及其实现中,实现了二叉树的顺序结构,使用堆来实现了二叉树这样一个数据结构;现在就来实现而二叉树的链式结构。 一、链式结构 链式结构,使用链表来表示一颗二叉树…...

开始尝试从0写一个项目--后端(三)
器材管理 和员工管理基本一致,就不赘述,展示代码为主 新增器材 表设计: 字段名 数据类型 说明 备注 id bigint 主键 自增 name varchar(32) 器材名字 img varchar(255) 图片 number BIGINT 器材数量 comment VARC…...
2024年7月解决Docker拉取镜像失败的实用方案,亲测有效
在Ubuntu 16.04、Debian 8、CentOS 7系统中,若遇到Docker拉取镜像失败的问题,以下是一些亲测有效的解决方案: 配置加速地址 首先,创建Docker配置目录:sudo mkdir -p /etc/docker然后,编辑daemon.json文件…...

基于内容的音乐推荐网站/基于ssm的音乐推荐系统/基于协同过滤推荐的音乐网站/基于vue的音乐平台
获取源码联系方式请查看文末🍅 摘 要 随着信息化时代的到来,系统管理都趋向于智能化、系统化,音乐推荐网站也不例外,但目前国内的有些公司仍然都使用人工管理,公司规模越来越大,同时信息量也越来越庞大&…...

STM32智能工业监控系统教程
目录 引言环境准备智能工业监控系统基础代码实现:实现智能工业监控系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:工业监控与优化问题解决方案与优化收尾与总结 1. 引言 智能工业监控系统通…...
WEB渗透Web突破篇-SQL注入(MYSQL)
注释符 # -- 注意这里有个空格 /* hello */ /*! hello */ /*!32302 10*/ MYSQL version 3.23.02联合查询 得到列数 order by或group by 不断增加数字,直到得到报错响应 1 ORDER BY 1-- #True 1 ORDER BY 2-- #True 1 ORDER BY 3-- #True 1 ORDER BY 4-- #Fal…...

PDF解锁网站
https://smallpdf.com/cn/unlock-pdfhttps://smallpdf.com/cn/unlock-pdfhttps://www.freemypdf.comhttps://www.freemypdf.com...

【Redis】主从复制分析-基础
1 主从节点运行数据的存储 在主从复制中, 对于主节点, 从节点就是自身的一个客户端, 所以和普通的客户端一样, 会被组织为一个 client 的结构体。 typedef struct client {// 省略 } client;同时无论是从节点, 还是主节点, 在运行中的数据都存放在一个 redisServer 的结构体中…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...