烟草营销案例数据分析
摘要
烟草在中国经济中占据重要地位,作为主要的税收和财政收入来源,卷烟销售收入持续增长,反映了市场的稳定需求。中国实施的烟草专卖制度通过集中管理和严格控制生产、销售及流通环节,确保市场秩序和国家利益。烟草产业链涵盖了从烟叶种植到卷烟制造和销售的多个环节,其中烟叶采购由中国烟草总公司负责,卷烟生产和销售则由省级烟草公司管理。本研究利用某地区的烟草销售数据,通过时间序列预测模型分析未来销量和销售金额,以优化销售策略。
针对问题一和问题二,通过构建两种不同类型的时间序列预测模型——ARIMA模型和LSTM模型,分别预测A1和A2两个香烟品牌的未来销量以及预测A3和A4两个香烟品牌的未来销售金额。 ARIMA模型通过自动参数选择方法优化参数,捕捉历史数据中的季节性和趋势性特征,适用于展示明显周期性波动的销量数据。而LSTM模型则通过其在处理长时间依赖性和非线性关系方面的优势,提供了对销量趋势的平稳且保守的预测,适合历史数据波动大且趋势不稳定的情况。通过比较两种模型的预测结果,本文不仅揭示了各模型的优势和适用场景,还提供了具体的销量预测。
在问题三中,针对A5品牌香烟的销量和销售金额进行了联合预测,通过集成学习方法提升预测准确性和稳定性。我们采用ARIMA、Prophet和XGBoost三种模型进行单独预测,并将这些模型的预测结果作为特征输入到线性回归模型中。基础模型的预测结果显示,ARIMA模型对平稳部分表现良好,但对异常波动捕捉能力有限;Prophet模型在捕捉长期趋势方面效果突出,但在异常波动期表现欠佳;XGBoost模型在整体趋势和细节变化方面表现优异,但在异常波动时期仍有改进空间。通过将这些模型的预测结果集成到线性回归模型中,我们进一步提高了预测性能。最终,集成模型在销量和销售金额预测中的均方误差(MSE)分别为3982.05和3801567174805.10,决定系数(R²)分别为0.818和0.816。结果表明,集成学习方法有效地综合了各个基础模型的优点,提升了对A5品牌香烟销量和销售金额的预测精度。
关键词:相关性分析、线性回归、随机森林、PSO、XGBoost、lightGBM
目录
摘要
一、问题重述
1.1问题背景
1.2要解决的问题
二、问题分析
2.1任务一的分析
2.2任务二的分析
2.3任务三的分析
三、问题假设
四、模型原理
4.1ARIMA模型
4.2LSTM
4.3 XGboost
4.4 Prophet
4.5线性神经网络模型
五、模型建立与求解
5.1问题一建模与求解
5.2问题二建模与求解
5.3问题三建模与求解
六、模型评价与推广
6.1模型的评价
6.1.1模型缺点
6.1.2模型缺点
6.2模型推广
七、参考文献
附录【自行删减】
5.1 问题一建模与求解
问题一的目标是对A1和A2两个香烟品牌的未来销量进行预测。利用历史销售数据,分别构建两个不同类型的时间序列预测模型,以填补数据表中的空白项。选择并设计适合的模型类型、参数和结构,通过比较不同模型的预测效果,得出最优的预测方案。
首先,读取A1和A2品牌的历史销售数据,这些数据包括每月的销售数量、销售金额、产品名称等字段。确保数据的完整性和一致性是数据预处理的核心目标。在数据预处理中,需执行以下步骤:
xxxx
为提高预测的准确性,选择两种不同类型的时间序列预测模型:ARIMA模型和LSTM模型。每种模型的选择和训练过程如下:
ARIMA模型
ARIMA模型是一种经典的时间序列分析方法,适用于平稳的时间序列数据。其建模过程包括以下步骤:
1.参数选择:使用AIC(赤池信息准则)选择最优的自回归阶数(p)、差分阶数(d)和移动平均阶数(q)。通过自动参数选择方法(如auto_arima)进行模型调参,确保选择最优模型参数。
2.模型拟合:使用选定的参数,在历史销量数据上训练ARIMA模型。模型拟合过程通过最小化预测误差来优化参数。
3.预测:应用训练好的ARIMA模型,对未来的销量进行预测。预测结果包括未来一段时间内的销量值,便于进一步分析和决策。
LSTM模型
LSTM(长短期记忆网络)是一种递归神经网络(RNN),能够捕捉时间序列数据中的长时间依赖性。其建模过程包括以下步骤:
1.数据归一化:为了加速训练过程并提高模型性能,将销量数据进行归一化处理。归一化有助于减少不同量纲之间的影响,使模型训练更加稳定。
2.数据准备:创建LSTM模型的输入输出对。使用固定长度的历史数据窗口(如12个月)作为输入,预测下一个月的销量。通过滑动窗口方法生成训练数据集。
3.模型结构设计:构建包含LSTM层和全连接层的神经网络模型。网络结构包括一个或多个LSTM层和Dropout层,以防止过拟合,最后通过全连接层输出预测结果。
4.模型训练:使用训练数据训练LSTM模型,通过迭代优化模型参数,最小化预测误差。训练过程中使用验证数据集进行模型评估和参数调优。
5.预测:使用训练好的LSTM模型,对未来的销量进行预测。通过反归一化过程将预测结果转换回原始数据尺度,以便进行进一步分析和决策。
为了直观展示模型的预测效果,对历史销量数据和模型预测结果进行可视化,结果展示在下图中。两个图中分别展示了对A1品牌香烟从2020年10月到2022年7月的销量预测情况以及A2品牌香烟从2019年7月到2020年5月的销量预测情况。绘制包含以下内容的图表:
1.历史销量数据:展示实际销售数据,帮助识别历史趋势和季节性模式。通过蓝色实线显示历史销量。
2.ARIMA预测结果:以红色虚线形式展示ARIMA模型的预测结果,便于与历史数据进行对比。预测结果显示未来一段时间内的销量趋势。
3.LSTM预测结果:以绿色虚线形式展示LSTM模型的预测结果,便于与历史数据和ARIMA预测结果进行对比。预测结果显示未来一段时间内的销量趋势和波动。
从两个预测结果图中,我们可以看到:
1.历史销量:
²从图一可以看出,A1品牌的销量具有明显的波动性和季节性。尤其是在2012年至2014年期间,销量波动较大,随后趋于稳定。
²从图二可以看出,xxxx
2.ARIMA模型预测:
²图一显示出对未来销量的较高预测值,且预测值呈现一定的周期性波动。该模型捕捉到了历史数据中的季节性和趋势性,并在未来预测中延续了这种波动模式。然而,ARIMA模型的预测在未来的波动幅度较大,这可能是由于模型对历史数据中波动性的延续。
²图二显xxxx
3.LSTM模型预测:
²图一显示出较为平稳的下降趋势,与历史数据中的季节性波动有所不同。LSTM模型在处理复杂的非线性关系方面表现较好,因此其预测结果相对平滑,且对未来销量的预测较低。这种平滑的下降趋势可能是LSTM模型对长期依赖性的一种反应,但在实际业务中需要结合更多的业务知识进行验证。
²图二xxx
根据上述分析,结合A1和A2品牌的具体销售特点和业务需求,可以选择xxxx
5.3问题三建模与求解
问题三的目标是对A5品牌香烟的销量和销售金额进行联合预测。为了实现这一目标,我们采用集成学习的方法,结合多种预测模型,以提高预测的准确性和稳定性。具体来说,我们将使用ARIMA、Prophet和XGBoost模型进行单独预测,并将这些模型的预测结果作为特征输入到线性回归模型中进行最终预测。
首先,我们从Excel文件中读取包含A5品牌香烟销售数据的数据集。数据集包括月份、样品代码、产品名称、销量(箱)和金额(元)五个变量。我们对数据进行清洗,去除缺失值,并将月份变量转换为日期格式以便后续处理。数据清洗完成后,我们按照月份对数据进行排序,确保时间序列的正确性。
在特征工程阶段,我们从月份变量中提取出年份和月份两个特征。这两个特征将作为我们后续建模的输入特征之一。此外,我们将销量(箱)和金额(元)作为目标变量进行预测。
下面具体介绍基础模型的构建与预测:
1.ARIMA模型
ARIMA模型是一种常用于时间序列预测的统计模型。我们分别对销量和销售金额构建ARIMA模型。对于每个目标变量,我们在训练集上拟合ARIMA模型,并使用拟合后的模型对测试集进行预测。
2.Prophet模型
Prophet模型由Facebook开发,特别适用于具有季节性和节假日效应的时间序列数据。我们同样分别对销量和销售金额构建Prophet模型。为了适应Prophet模型的输入格式,我们将日期和目标变量转换为Prophet要求的DataFrame格式。在训练集上拟合Prophet模型后,我们对测试集进行预测。
3.XGBoost模型
XGBoost模型是一种强大的梯度提升决策树模型,适用于各种回归和分类问题。我们使用年份和月份特征,分别对销量和销售金额构建XGBoost回归模型。在训练集上训练模型后,我们对测试集进行预测。
在构建好基础模型之后,我们通过交叉验证的技术,得到了三种模型的预测结果,具体结果展示在下图之中。图1是对销量的预测情况,从图1中可以看出:
1.实际销量(黑色线)显示出较大的波动,尤其是在2018年初和2023年初有明显的异常值。
2.ARIMA模型(蓝色线)相对稳定,对大多数时间段的预测值保持在一个较平稳的水平。然而,ARIMA模型未能很好地捕捉到实际销量的显著波动,特别是在2018年和2023年的异常波动。
3.Prophet模型(绿色线)较好地捕捉了数据的上升趋势,但对于异常波动的捕捉能力较弱。在一些时间段内,Prophet模型的预测值与实际值有一定的偏差,但整体趋势符合实际数据的变化。
4.XGBoost模型(红色线)同样较好地捕捉了数据的整体上升趋势,但在异常波动时期,XGBoost模型的预测值偏离实际值较大。尽管如此,XGBoost模型在某些时期的预测表现优于ARIMA和Prophet模型。
下面我们采用集成学习的方法。具体来说,我们将ARIMA、Prophet和XGBoost模型的预测结果作为新的特征,与原始特征(年份和月份)一起输入到线性回归模型中进行最终预测。线性回归模型作为我们的元学习器(Meta-Learner),能够综合利用各个基础模型的预测结果,进一步提升预测性能。
在集成模型的训练阶段,我们将各基础模型在训练集上的预测结果与原始特征组合,作为线性回归模型的训练输入。同样地,在预测阶段,我们将各基础模型在测试集上的预测结果与原始特征组合,作为线性回归模型的预测输入。
版权归原作者 xb459149247 所有, 如有侵权,请联系我们删除。