首页 > 解决方案 > 使用多元时间序列预测的需求预测

问题描述

我有一个多元时间序列数据,其中包含 Order_date、store_id、region、product_ID、Unit_sold、discount、holiday(yes/no) 等字段 。唯一产品的数量是 50。 我需要对每个产品进行需求预测。我想在这个数据集上应用 SARIMAX 模型。

我是否需要分别为每个产品建立单独的预测模型,或者有一些解决方法可以同时处理多个产品的预测?

另一方面:我应该如何检查多元时间序列的平稳性。我遇到了适用于单变量数据的 adf 测试和可以处理多达 12 个独立变量的 Johansen 测试。约翰森检验是检验多元时间序列平稳性的最佳方法吗?

我是时间序列的初学者。请指导我完成这些步骤。

标签: pythontime-seriesarima

解决方案


让我们用一个例子来解决这个问题。假设您销售毛衣、宜家家具和冰淇淋。从逻辑上讲,毛衣在冬天之前和冬天卖得最好,宜家家具在周末卖得最好,但全年都相当均匀,冰淇淋在夏天卖得最好,但主要是在炎热的时候。如果您同时为所有这些拟合一个时间序列模型,即使产品可能都显示具有相同周期性的趋势,它们的影响将完全相反!

当然,更多的人在周末购买冰淇淋、毛衣和家具,但作为周末的影响,对最后一个的影响会比其他人大得多。毛衣和冰淇淋可能都显示出年度趋势,但方向相反。

我建议你为一个产品建立一个模型,然后研究自动化过程,对于其余产品,只需查看自动化过程的结果。


尽管我们中的一些人有数学背景,但询问哪种(统计)测试是最好的肯定会得到主观、复杂的答案,因为这真的取决于具体情况。假设您正在为一家企业工作-根据我的经验,获得足够好的答案而不是完美的答案通常就足够了。例如, Yang 和 Shahabi使用 Johansen 的检验,如果他们失败了,他们会讨论如何使非平稳多元时间序列平稳化。

最后,你会发现一种方法是否有效的主要方法是通过反复试验。如果您使用 Johansen 的检验,则该序列通过了它,但您在结果中看到预测随着时间的推移变得更糟,那么时间序列显然不是平稳的。如果您想要一个数学上更正确的答案,或者您不在商业环境中工作,我会在 CrossValidated 提出第二个问题,它有类似的查询。


推荐阅读