【问题标题】:Python ARIMA model, predicted values are shiftedPython ARIMA 模型,预测值被移动
【发布时间】:2016-06-06 05:56:19
【问题描述】:

我是 Python ARIMA 实现的新手。我有几个月的 15 分钟频率的数据。在我尝试遵循 Box-Jenkins 方法来拟合时间序列模型时。我在最后遇到了一个问题。给出了时间序列 (ts) 和差异序列 (ts_diff) 的 ACF-PACF graph。我使用了 ARIMA (5,1,2),最后绘制了拟合值(绿色)和原始值(蓝色)。正如您可以从figure 看到的那样,值有一个明显的变化(一个)。我做错了什么?

预测不好?任何见解都会有所帮助。

【问题讨论】:

    标签: python statsmodels


    【解决方案1】:

    这是一步超前预测或预测的标准属性。

    用于预测的信息是截至并包括上一时期的历史。例如,某个时期的峰值会影响下一个时期的预测,但不会影响峰值时期的预测。这使得预测在图中看起来发生了变化。

    提前两步的预测会给人两个时期的变化印象。

    【讨论】:

      【解决方案2】:

      只是为了确认一下,我这样做对吗?这是我使用的代码。

      from statsmodels.tsa.arima_model import ARIMA
      model = sm.tsa.ARIMA(ts, order=(5, 1, 2))
      model = model.fit()
      results_ARIMA=model.predict(typ='levels')
      concatenated = pd.concat([ts, results_ARIMA], axis=1, keys=['original', 'predicted'])
      concatenated.head(10)
          original    predicted
      login_time      
      1970-01-01 20:00:00 2   NaN
      1970-01-01 20:15:00 6   2.000186
      1970-01-01 20:30:00 9   4.552971
      1970-01-01 20:45:00 7   7.118973
      1970-01-01 21:00:00 1   7.099769
      1970-01-01 21:15:00 4   3.624975
      1970-01-01 21:30:00 0   3.867454
      1970-01-01 21:45:00 4   1.618120
      1970-01-01 22:00:00 9   2.997275
      1970-01-01 22:15:00 8   6.300015
      

      【讨论】:

        【解决方案3】:

        在您指定的模型 (5, 1, 2) 中,您设置了 d = 1。这意味着您将数据差 1,或者换句话说,执行整个时间相关观察范围的转变以最小化拟合模型的残差。

        有时,将 d 设置为 1 会导致 ACF / PACF 图的峰值更少和/或更少(即极端残差更少)。在这种情况下,如果您使用已拟合的模型来预测未来值,那么如果您应用差分,您的预测与您所拥有的观察结果的偏差将不会那么显着。

        差分是通过 Y(differenced) = Y(t) - Y(t-d) 完成的,其中 Y(t) 是指在时间索引 t 处的观测值 Y,而 d 是指您应用的差分顺序。当您使用差分时,您的整个观察范围基本上会向右移动。这意味着您会在时间序列的左侧丢失一些数据。您损失多少时间点取决于您使用的差分顺序d。这就是您观察到的转变的来源。

        This page 可能会提供更详细的解释(如果您想了解拟合 ARIMA 模型的整个过程,请确保单击并浏览那里的其他页面)。

        希望这会有所帮助(或者至少让您对转变感到放心)!

        最佳,

        永远

        【讨论】:

        • 您认为在创建具有预测值的最终数据集之后,将预测数据移回 1 以与原始数据保持一致会(或不会)明智吗?你觉得这有什么问题吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        • 2020-11-18
        • 2020-09-09
        • 2016-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多