商品的销售预测

数据挖掘 机器学习 预测建模 回归 线性回归 预言
2022-01-29 09:49:35

所以,我一直在尝试实现我的第一个算法来预测单个产品的(销售额/月),我一直在使用线性回归,因为这是向我推荐的。我使用过去 42 个月的数据,前 34 个月作为训练集,其余 8 个月作为验证。

我一直在尝试使用 4 个功能来开始:

  • 月数(1~12)
  • 该产品在该月的平均销售价格
  • 上个月的下放次数
  • 上个月售出的单位数量

以下是比较真实数据 x 预测数据和错误 x 元素数量图表的图像:

真实数据 x 训练数据 错误 x 训练元素的数量

到目前为止结果一点都不好(如上图所示),算法甚至无法正确地得到训练集。我尝试使用更高次的多项式和正则化参数,这似乎使情况变得更糟。

然后,我想知道是否有更好的方法来解决这个问题,或者我可以做些什么来提高性能。

提前非常感谢!

2个回答

根据您提供的信息。我假设您已经执行了多重线性回归,即要预测的多个特征和一个响应特征。

首先,将 PCA 应用于除您要预测的响应变量之外的所有特征。在您的情况下,您提到的四个功能。然后使用 PCA 将其转换为 2 分量矩阵。完成该图后,您形成的新矩阵将响应特征作为散点图。因此有效地形成了 3D 散点图。

当您生成此散点图时,您将能够更好地可视化您必须使用的回归。你可以自己决定它是否是线性的。取决于您对多少异常值感到满意。

根据我在您的图表中看到的数据,这是一个时间序列建模问题,像 ARIMA(自回归综合移动模型平均值)这样的模型会更合适。

既然你提到你正在开始(你现在可能已经做了很多),这里有一个 Jason Brownlee 博士关于在 Python 上实现 ARIMA 的教程: ARIMA for time series forecasting with Python这适用于样本预测,您想要预测已经必须测试模型的值。

对于样本外预测,请参阅:使用 Python 进行预测的时间序列 ARIMA 模型