预测每周销售数据的最佳方法是什么?

数据挖掘 时间序列 回归 预测建模 xgboost
2022-03-12 11:16:54

我正在尝试创建一个模型来预测下周将要出售的不同杂货商品的单位。

我以三步程序构建问题。

  1. 将来自宏观类别的销售数据组合在一起(例如,如果我想预测“蛋盒 XYZ​​”,我将考虑“鸡蛋”类别中的所有项目),将每天该类别所有项目的销售数据相加。然后我用先知来预测整个品类下周的销售数据。我正在执行此步骤,因为“整个类别”数据具有更多历史记录,并且与单项数据相比应该更强大。
  2. 在特定项目上实施先知模型。我预计误差会更高,因为数据不太一致。
  3. 使用特定日期的输入变量对单个项目实施回归器(可能是 GradientBoost、RandomForest 等):该项目的前一周销售数据、整个类别的预测销售单位、预测单位(再次使用先知) ) 对于特定项目,我们是否在一年中的特定时间(例如节礼日),促销活动等。这个回归器背后的想法是抑制第二步的错误。但是我不能降低第二步的错误。

我该如何解决这个问题?

1个回答

目前 Kaggle 上正在进行一场关于销售预测的竞争。 https://www.kaggle.com/c/m5-forecasting-accuracy/notebooks

用户 kyakovlev 创建了一系列笔记本,他在其中创建了特征并创建了 lgbm 模型:

https://www.kaggle.com/kyakovlev/m5-three-shades-of-dark-darker-magic

链接的笔记本是该系列的最后一本。我已经成功地将非常相似的策略应用于客户的真实项目。

您可能想要设计更多功能并添加更多滞后变量。

如果数据中的模式不明确,先知模型可能会成为问题。我有完全属于的例子。这可能是由于趋势。由于缺乏数据,Prophet 模型在假期也很容易过拟合。这是由于模型的性质。您绝对应该检查模型正在学习什么。

XGBoost 或 LightGBM 等模型非常适合此类问题!