使用 Box-Jenkins 预测未来 12 个月的预测

机器算法验证 时间序列 预测 有马 盒子詹金斯
2022-04-06 18:49:53

我正在使用求解器在 Excel 中构建 Box-Jenkins 模型。模型为 AR(2)。我拥有的数据包含趋势和季节性。

我知道如何使用季节性指数去除季节性并将其添加回预测。但是,我如何处理趋势?如果我从数据中删除趋势,我应该如何将其添加回预测?

另外,excel求解器是找到AR参数的最佳方法吗?

4个回答

如果您完全熟悉R(如果您正在构建时间序列模型,那么您应该熟悉),请查看预测包。它旨在为 Arima 和指数平滑模型选择参数,并使用可靠的方法来做到这一点。它可能会让你比你在 excel 中构建的东西走得更远,特别是因为它还允许你探索指数平滑模型。您感兴趣的两个函数是“auto.arima”和“ets”。

/Edit:auto.arima 也可用于拟合 ARMAX 模型,这(如果指定正确)可以解决 IrishStat 确定的许多问题。

时间序列通常被分解为 3 个部分,趋势、季节性和不规则。(该链接给出了 4 个部分,但周期性和季节性通常混为一谈)。严格来说,ARIMA 类型的模型仅用于不规则部分,并且根据它们的设计,这些模型不包含任何趋势(我假设趋势是一些随时间变化的函数)。因此,如果您只是想估计 AR(2) 模型,没有软件会为您估计趋势,因为如果这样做了,它将不适合 AR(2) 模型。

要预测趋势,您首先需要创建某种模型并对其进行测试,并且只有在您确信您的模型真正估计了趋势之后,您才能使用它来预测趋势。没有这样的模型,任何预测都是不可能的。可悲的是,大多数时间序列教科书在谈论预测时都没有强调这一点。

您的方法建议最初以确定性的方式调整季节性的影响。这种方法可能适用也可能不适用,因为季节性的影响在形式上可能是自动投射的。回答这个问题的最佳方法是评估替代最终模型在将观察到的观察结果与信号和噪声分离方面的充分性。有许多可能的陷阱在等着你。其中之一是“该系列是否具有一种或多种趋势和/或一种或多种水平变化”?另一个可能的问题是“该系列是否有一组固定的月度指标,或者是否有几个月的影响在统计上有显着变化?就季节性 ARIMA 模型而言,这个问题转化为“模型参数是否随时间变化”?

如前所述,使用 R,而不是 excel。

我对你所要求的这个过程的理解。

假设您有一个具有线性趋势的数据集。假设趋势为 Y = 3t+1,同时假设您有 15 个数据点。

使用该模型并从中找到残差。使您的时间序列模型适合这些残差。要进行预测,请使用 R 中的“预测”函数。获取下一个点。假设模型告诉您下一个错误将是 -2。

(如果您想预测下一个点,这将是第 16 个数据点。)取 Y= 3*16+1 = 49,,,现在添加时间序列预测中的 -2。您的预测现在是:49+(-2) = 47。