【问题标题】:ARIMAX With Multiple Lags具有多个滞后的 ARIMAX
【发布时间】:2022-01-21 02:52:50
【问题描述】:

我正在使用 statsmodels ARIMA 包来创建一些 ARIMAX 模型。我在预测中使用了一些不同的外生变量。从documentation 看来,该模型似乎只使用外生变量的当前值来预测我的内生变量。有没有一种好方法可以在我的预测中包含滞后到某个点(旧值)的外生变量,而无需手动将滞后的外生序列添加到模型中?

需要明确的是,here 的解决方案正是我想要避免的。

【问题讨论】:

    标签: python statsmodels arima


    【解决方案1】:

    我明白你的意思,但这不起作用。您可以将 ARIMA 视为单个函数,例如时间序列 f(t) 上的 ARIMA(2, 0, 1) 类似于:

    ar.L1 * f(t-1) + ar.L2 * f(t-2) + ma.L1 * e(t-1)

    ar.L1 和 ar.L2 是用于第一和第二滞后自回归的系数。 ma.L1是用于移动平均模型的系数(以前的预测误差通常命名为e(t)。可以在ARIMA模型的.summary()看到:

    现在,当您向 ARIMA 模型添加外生变量时,您只需向该函数添加另一个项:

    ar.L1 * f(t-1) + ar.L2 * f(t-2) + ma.L1 * e(t-1) + coef_exog * exog(t)

    statsmodels 的 ARIMA 实现只允许每个外生变量有一个值,因为只有一个系数。也许他们将来会改变这一点,但现在将外生滞后作为单独的值传递是唯一的可能性。

    您可以使用 pandas .diff() 方法创建滞后版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      相关资源
      最近更新 更多