预测具有膨胀零的多个(数百)单变量时间序列

数据挖掘 时间序列 回归 lstm rnn 预测
2021-09-28 13:09:37

我是一名新手,寻求帮助以获取数据科学方面的经验。

让我们假设一家大公司想要预测其在不同地理位置的不同商店的销售额(特定产品)。作为一名分析师,任务是预测未来 3 个月的数百个系列(销售额)。由于我们正在预测不同地理位置的销售,因此该系列的性质对于所有这些都不会相同。将有数百个模型可供检查。根据您在该领域的经验,对于这种情况有哪些建议的方法?此外,在这种情况下了解每个系列的性质有多重要?

2个回答
  1. 我可以预测库中建议auto.arima函数,如果您是 R 用户,如果您是 Python 用户,请点击链接。您所需要的只是编写简单的 for 循环,它允许您在不同的地理位置构建最佳 ARIMA 模型:

       for (my_time_series in set_of_all_time_series){
            model=auto.arima(my_time_series )
             }
    
  2. 您可以通过相关性对时间序列进行聚类(确保您的时间序列是固定的,以避免虚假相关)。如果这减少了时间序列的数量(这将取决于相关性的阈值),您可以从每个类中获取任何 1 个成员,构建任何模型(不仅是 ARIMA)并将模型结果应用于该类的每个成员。

  3. 合约VAR模型

对于这种情况,您有什么建议的方法?
在这个领域的经验?

另一种非常流行的方法(除了@user112358 的建议)是使用神经网络,尤其是LSTM - RNN,因为它们具有固有的“记忆”能力。在处理时间序列(例如预测产品销售)时,循环神经网络是一个非常好的候选者,因为它们是唯一可以模拟系统动态的神经网络变体。

可以在此处找到有关如何快速制作此类​​算法原型的内容丰富的教程,该教程针对使用 Python 的 Keras API。我强烈建议您检查它,因为它对我个人帮助很大。它也适用于洗发水销售数据集,这正是您正在寻找的案例研究。