销量预测

实验基础信息

  • 实验名称:销量预测

  • 实验英文名:SalesForecast

  • 所属类目:新零售

  • 实验描述:利用公司旗下连锁零售店的销售数据和各个店铺特征,预测各个店铺未来N天的销售额。

  • 主要应用算法:Sarima、GBDT回归

数据说明

  • 数据来源:Rossmann公司旗下200家零售店从2013-01-01到2015-07-31的销售额数据,数据包含所有店铺的销售额数据以及店铺的一些特征,来自Kaggle比赛数据。

  • 数据属性:结构化数据,回归预测销售额。

  • 数据详情:数据集包含店铺ID、销售额、当天是否关门、当天是否为假期、店铺类型、店铺周围有无竞争的店铺、以及与竞争店铺的距离等16个字段,共有181040行。

实验搭建

实验整体流程如下:

2020 12 11 19 34 10
  • 读数据表:读入店铺销量数据

2020 12 11 19 37 21
  • Python脚本:选择出店铺ID为1的零售店其两年多的销售额。

2020 12 11 19 36 38
  • 缺失值填充:填充销售额缺失值,以门店销售额均值填充;

2020 12 11 19 38 02
  • 异常处理组件:采用z_score_3方法对销售额超出3-sigma的异常数据处理;

  • Sarima:预测店铺1随时间的未来5天销售额;

2020 12 11 19 41 12
  • label编码: 对string的分类特征进行标签编码;

2020 12 11 19 43 12
  • 缺失值填充:对数值类型的数据进行均值填充;

  • 列拆分:去掉日期和店铺ID列;

  • 拆分:将训练数据和测试数据按8:2的比例进行行的拆分;

2020 12 11 19 45 45
  • GBDT回归:用训练数据训练GBDT回归模型;

2020 12 11 19 46 30

以上是店铺各个特征的特征重要性。

  • 预测:用训练好的模型预测测试数据;

2020 12 11 19 47 33
  • 列合并:合并真实值、预测值;

2020 12 11 19 48 46
  • 回归模型评估:评估模型结果,R方值为0.97,效果较好。

2020 12 11 19 50 13
2020 12 11 19 53 26

残差值在0附近的比例最高,预测结果较好。