用于销售预测的最佳回归模型

数据挖掘 预测建模 回归
2021-09-26 02:02:09

我有以下变量以及几年前的销售数据:

  • date # 简单的日期,可以拆分为年、月等
  • shipping_time (0-6 周) # 0 周表示有货,更多周表示产品缺货但货物正在运往仓库的途中。更长的运输时间对销售有显着影响。
  • sales # 售出的产品数量

我需要在考虑运输时间的同时预测销售额(季节性变化)。什么是能够产生合理结果的简单回归模型?我尝试了仅使用日期和销售额的线性回归,但这并没有考虑季节性,因此预测相当弱。

编辑:作为准确性的衡量标准,我将从输入中提取随机数据样本并与结果进行比较。

如果可以在 python/scipy 中轻松完成,则加分

数据可能如下所示

--------------------------------------------------
| date           | delivery_time| sales          |
--------------------------------------------------
| 2015-01-01     | 0            |10              |
--------------------------------------------------
| 2015-01-01     | 7            |2               |
--------------------------------------------------
| 2015-01-02     | 7            |3               |
...
3个回答

这是一个非常经典的ARIMA数据集。ARIMA在 Python 的 StatsModels 包中实现,其文档可在此处获得。

具有季节性调整的ARIMA模型可能是对复杂时间序列(例如销售预测)的最简单合理成功的预测。可能(可能会)您需要将该方法与额外的模型层相结合,以检测超出销售趋势自回归函数的额外波动。

不幸的是,简单的线性回归模型在时间序列数据上的表现往往很差。

您是否尝试过时间序列建模?如果没有,那么你应该。

我尝试仅使用日期和销售额进行线性回归,但这并没有考虑到季节性

移动平均模型非常适合您的数据集

但是,正如您所说,您的模型表现出季节性,您需要调整移动平均线,以便将季节性考虑在内。

因此,您的数据集的最佳模型将是 SARIMA 模型。它只是自回归综合移动平均 (ARIMA) 模型,但具有季节性调整。

是我已经回答的问题之一,它进一步帮助您了解较小的季节性和趋势调整,以及 R 代码。

[延伸阅读]

在某些情况下,使用反向传播算法训练的神经网络显示出比时间序列模型更好的结果。反向传播算法在训练示例集上搜索最小化网络总误差的权重值。

您可以查看这些链接,这些链接更详细地描述了我所说的内容:

  1. Frank M Thiesing 和 Oliver Vornberger “使用神经网络进行销售预测”

  2. 反向传播算法