【问题标题】:R - Forecast multiple time-series (15K Products)R - 预测多个时间序列(15K 产品)
【发布时间】:2020-12-23 04:20:41
【问题描述】:

Hi Stack Overflow 社区。​​p>

我有超过 15K 种产品(5*15K**52 条记录)的 5 年每周价格数据。每个产品都是一个单变量时间序列。目标是预测每种产品的价格。

我熟悉单变量时间序列分析,我们可以在其中可视化每个 ts 序列,绘制其 ACF、PACF 并预测该序列。但是,在这种情况下,当我有 15K 个不同的时间序列时,单变量时间序列分析是不可能的,无法分别可视化每个时间序列,每个产品的 ACF、PACF 和预测,并制作一个调整/决定。

我正在寻找一些建议和方向来使用 R 解决这个多系列预测问题(最好)。任何帮助和支持将不胜感激。

提前致谢。

【问题讨论】:

    标签: r time-series prediction forecast


    【解决方案1】:

    我建议你使用forecast 包中的auto.arima。

    这样您就不必搜索正确的 ARIMA 模型。

    auto.arima:根据 AIC、AICc 或 BIC 值返回最佳 ARIMA 模型。该函数在提供的顺序约束内搜索可能的模型。

    fit <- auto.arima(WWWusage)
    plot(forecast(fit,h=20))
    

    代替 WWWusage,您可以放置​​您的时间序列之一,以适应 ARIMA 模型。 然后使用forecast 执行预测 - 在这种情况下提前 20 个时间步长 (h=20)。

    auto.arima 基本上会为您选择 ARIMA 参数(根据 AIC - Akaike 信息标准)。

    如果它对您来说计算成本太高,您将不得不尝试。但总的来说,预测这么多时间序列并不少见。

    要记住的另一件事可能是,在时间序列中存在一些互相关,毕竟这不太可能。因此,从预测精度的角度来看,不将其视为单变量预测问题是有意义的。

    这个设置听起来很像最近在 Kaggle 上的m5 forecasting competition。目标是预测沃尔玛在美国销售的各种产品的单位销售额。

    因此需要预测大量时间序列的销售数据。在这种情况下,获胜者没有进行单变量预测。这里是获奖solution 描述的链接。由于设置看起来与您的设置非常相似,因此在这个挑战的 kaggle 论坛中阅读一点可能是有意义的 - 甚至可能有有用的笔记本(代码示例)可用。

    【讨论】:

    • 谢谢@Steffen。我在其他一些解决方案中使用了 auto.arima 并考虑了它,但正在寻找更多的想法。我认为,它最适合单变量时间序列
    • 不客气。抱歉,我以某种方式理解您正在明确搜索单变量方法。正如我所写的,是的,您可能是对的 - 多元方法可能更适合。对于多元时间序列,我实际上并没有一个方法可以解决。根据经验(当然也有一点取决于数据集)特征工程(创建时间特征)+ 然后使用 ML 方法通常会给出最好的结果。对于 m5 比赛的获胜者来说也很有效......但是那里的很多工作都涉及到特征工程......和模型选择......
    猜你喜欢
    • 2012-01-16
    • 2020-02-08
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 2015-05-19
    • 2019-09-06
    • 2021-12-09
    相关资源
    最近更新 更多