文章目录
题目背景明确,本题是烟草营销。直接来看题目
一、问题一
1.1 问题
对未来销量进行预测:使用历史销售数据构建2个不同类型的时间序列预测模型,分别对A1、A2香烟品牌的未来销量进行数据预测,目标为表中最后空白项。自行选择和设计模型类型、参数、结构。
1.2 模型
时序预测模型LSTM、ARIMA等;传统预测模型:随机森林、支持向量机等。
1.3 目标
对A1和A2数据集中销量数据进行预测。
1.4 思路
①对样本进行缺失值、异常值探究
②进行特征工程:从原有特征生成新交互特征
③构建模型:LSTM、ARIMA、随机森林、支持向量机等模型
④调参:贝叶斯搜索、随机搜索、网格搜索等
⑤训练集划分:留出法、K折交叉验证、K折随机交叉验证等。
下面给出一个简易版可完全实现的思路:
1.4.1 样本探究
- 对A1:共137个样本,已知标签的有117个,未知标签的有20个。表面上是117预测20的问题。数据集大小为中等,可尝试采用长期预测。
- 对A2:共108个样本,已知标签的有98个,未知标签的有10个。表面上是98预测10的问题。数据集大小为中等。可尝试采用长期预测。
1.4.2 数据集特性探究:
- 数据特性:时间序列数据。每一年12个样本,即为月份数据,比如201101-201112。
- 样品代码,名称为冗余信息,销量为预测目标。既可以单列预测,也可以考虑金额,生成新特征如价格。
1.4.3 数据预处理
-
缺失值:观察A1数据集,销量那一列,没有缺失值。观察A2数据集,销量一列表面上没有缺失值,但实际上存在部分月份数据确实的情况,需要认为补齐,可采用均值预测、灰色预测、马尔可夫预测等,填补缺失值。
-
异常值:这里采用箱型图剔除异常值的方法,对异常数据进行剔除。
-
特征工程:还可采用特征工程,提取日期特征(如月份、季度等)、进行时间序列分解(如趋势、季节性和残差)等。
1.4.4 数据趋势可视化
为确保异常值剔除有效,及对后续数据进行预测。可展示折线图进行观察。
发现异常值剔除有效,且数据蕴含周期性。
1.4.5 ARIMA和LSTM两种预测模型
由于题目要求两种类型的预测模型,这里采用ARIMA时间序列分析和LSTM(长短期记忆网络)销量预测。
1.4.6 参数调整
ARIMA模型有三个主要参数:p(自回归阶数)、d(差分阶数)、q(移动平均阶数)。参数可使用网格搜索、随机搜索、贝叶斯搜索等方法调整。建议先用贝叶斯搜索试试,网格搜索可以得到非常好的结果,但消耗时间太大。随机搜索方法最后。
LSTM模型有多个超参数需要调整,如隐藏层数、隐藏单元数、批次大小、学习率、训练轮数等。参数可使用网格搜索、随机搜索、贝叶斯搜索等调整。建议先用贝叶斯搜索试试,网格搜索可以得到非常好的结果,但消耗时间太大。随机搜索方法最后。
二、问题二
2.1 问题
对销售金额进行预测:使用历史销售数据构建2个不同类型的时间序列预测模型,分别对A3、A4香烟品牌的销售金额进行数据预测,目标为表中最后空白项。自行选择和设计模型类型、参数、结构
2.2 模型
时序预测模型LSTM、ARIMA等;传统预测模型:随机森林、支持向量机等。
2.3 目标
对A1和A2数据集中销量数据进行预测。
2.4 思路
①对样本进行缺失值、异常值探究
②进行特征工程:从原有特征生成新交互特征
③构建模型:LSTM、ARIMA、随机森林、支持向量机等模型
④调参:贝叶斯搜索、随机搜索、网格搜索等
⑤训练集划分:留出法、K折交叉验证、K折随机交叉验证等。
下面给出一个简易版可完全实现的思路:
2.4.1 样本探究
- 对A3:共109个样本,已知标签的有99个,未知标签的有10个。表面上是99预测10的问题。数据集大小为中等,可考虑长期预测。
- 对A4:共135个样本,已知标签的有123个,未知标签的有12个。表面上是123预测12的问题。数据集大小为中等,可考虑长期预测。
2.4.2 数据集特性探究
- 数据特性:时间序列数据。每一年12个样本,即为月份数据,比如201101-201112。
- 样品代码,名称为冗余信息,金额为预测目标,可考虑融合销量,生成新特征如价格。
2.4.3 数据预处理
-
缺失值:观察A3数据集,月份那一列,表面上没有缺失值。但实际上存在一年中部分金额数据缺失的情况,例如2020年12月就没有数据,需要人为补齐。可采用均值填充或者灰色预测、马尔科夫预测等短期预测方法。对A4也可以进行同样操作。
-
异常值:这里采用箱型图剔除异常值的方法,对异常数据进行剔除。
特征工程:还可采用特征工程,提取日期特征(如月份、季度等)、进行时间序列分解(如趋势、季节性和残差)等。
2.4.4 数据趋势可视化
为确保异常值剔除有效,及对后续数据进行预测。可绘制折线图进行观察。
发现异常值剔除有效,且数据蕴含周期性。
2.4.5 两种预测模型
由于题目要求两种类型的预测模型,这里还可以采用ARIMA时间序列分析和LSTM(长短期记忆网络)销量预测。也可以采用一些传统机器学习的模型,如随机森林、梯度提升树、支持向量机等进行预测。
2.4.6 参数调整
这里我们可以复用第一问的模型,也可以采用新的方法。这里我采用的是第一问的模型,因为时序数据后续趋势依赖时间。
ARIMA模型有三个主要参数:p(自回归阶数)、d(差分阶数)、q(移动平均阶数)。参数可使用网格搜索、随机搜索、贝叶斯搜索等方法调整。建议先用贝叶斯搜索试试,网格搜索可以得到非常好的结果,但消耗时间太大。随机搜索方法最后。
LSTM模型有多个超参数需要调整,如隐藏层数、隐藏单元数、批次大小、学习率、训练轮数等。参数可使用网格搜索、随机搜索、贝叶斯搜索等调整。建议先用贝叶斯搜索试试,网格搜索可以得到非常好的结果,但消耗时间太大。随机搜索方法最后。
三、采用集成模型对A5进行预测
3.1 问题
集成学习:分别对销量及销售金额预测模型的基础上,构建集成学习模型,实现对A5香烟品牌的销量和销售金额的联合预测。集成学习模型不局限于上述问题中建立的模型,可新增,以最终性能为评判标准。
3.2 模型
使用前述预测模型的结果作为输入,Bagging、Boosting、Stacking模型
3.3 目标
实现对A5品牌的销量和销售金额的联合预测。
3.4 思路
使用前述预测模型的结果作为输入,比如LSTM和ARIMA,构建集成学习模型,采用多种集成方法(如Bagging、Boosting、Stacking)提升预测性能。
四、一点想说的
4.1 数据集的划分
一般采用留出法。如想出彩,可采用k折交叉验证、随机k折交叉验证等方法。
4.2 准确性的衡量
因为是定量的预测,因此可采用准确率MSE,RMSE等进行评价。
4.3 特征选择
除了题目给出的数据,最好生成新特征,比如价格(金额/销量)预测。这样才能最大程度的融合信息,预测准确。
4.4 模型选择
ARIMA、LSTM、随机森林、支持向量机等是最基础的模型。考虑更新的模型,如季节性分解模型(如SARIMA)。