【问题标题】:How to interpret ARMA subsets in R (for more complex timeseries models)?如何解释 R 中的 ARMA 子集(对于更复杂的时间序列模型)?
【发布时间】:2017-09-18 21:53:00
【问题描述】:

我正在使用 R 中的时间序列数据集。我必须提出几个模型,其中一个必须来自使用 armasubsets(我知道有诸如 auto.arima() 之类的函数,但我仍然必须利用它阴谋)。您如何解释 R 中的这个 arma 子集图?

我特别考虑的是第五行,因为它的 BIC 值仅高出 10 个,虽然我们想最小化 BIC,但我认为这个微小的差异是合理的,因为从顶部算起的第五行要简单得多比该图指定的其他潜在模型。因此,我将如何解释包含滞后 5、11 和 12 的 AR 组件以及滞后 1 的 MA 组件的东西。

对于类似这样的情节,这种解释如何改变: 我也在考虑第 5 行的 BIC 值为 -220。

【问题讨论】:

    标签: r time-series subset moving-average autoregressive-models


    【解决方案1】:

    您可以使用 arima 函数使用 order 和seasonal 指定滞后。 p 是 AR,d 是差分,q 是 MA。

    arima(x, order = c(p, d, q),
          seasonal = list(order = c(p, d, q)
    

    您还可以使用预测包中的auto.arima() 让 R 为您找出组件。

    【讨论】:

    • 是的,我也在考虑使用该功能。但是,我不确定,我将如何指定我在问题中提供的参数?回顾一下,AR 组件中的滞后 10、11 和 12 很重要,那么即使我设置 p = 3,我如何具体确保考虑这些滞后?此外,5 和 12 在模型的 MA 部分都很重要,那么我如何具体确保考虑这些滞后而其他滞后不考虑?您也没有包括我认为有必要为模型的季节性部分指定的期间输入。
    • @JaneSully 我认为您不能跳过 AR 术语。另外,我没有用过有马,我只用过预测的函数,但我相信它可以从 ts 对象中获取周期。
    • @JaneSully 因为您想使用 BIC 选择组件,只需运行 auto.arima 并将 ic = "BIC" 添加到函数中。这将为您提供所需的内容。
    • @JaneSully 你的季节是 5 吗?这将为您提供 5 个位置的 AR 参数,而不会包含任何中间滞后。
    • 感谢您指出 auto.arima() 函数。我认为这是一个有用的工具,但绝对不符合预期的数据(因为仍然存在某种趋势)。将不得不玩更多!
    【解决方案2】:

    您提到“这种微小的差异是合理的,因为从顶部算起的第五行比该图指定的其他潜在模型要简单得多。”

    BIC 已经通过惩罚复杂模型来考虑简单性,因此选择具有较低 BIC 的更简单模型实际上是对简单性的两次加权。

    表格表明AR(1),AR(2),AR(3),AR(4),AR(8)和MA(3),MA(8)和MA(12)都是可能的模型.

    您的可能模型集是以下 ARMA 值的组合: {ARMA(1,3),ARMA(1,8),ARMA(1,12),ARMA(2,3),ARMA(2,8),ARMA(2,12),ARMA(3,3), ARMA(3,8),ARMA(3,12),ARMA(4,3),ARMA(4,8),ARMA(4,12),ARMA(8,3),ARMA(8,8),ARMA (8,12)}

    其中大部分都不适合,因为这仅表示可能的模型。测试每个模型的系数,并排除并非所有系数都显着的任何模型。然后,您可以在其余模型上运行残差测试等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-01
      • 2016-08-10
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多