估计多个时间序列的单个 ARIMA

机器算法验证 r 时间序列 有马
2022-04-11 09:59:34

我有两组时间序列,每组代表一种数据。然而,在每个组中,每个时间序列可能会拟合与同一组中其他时间序列不同的 ARIMA(p,d,q)。

Model_group1我需要为每个组( ,Model_group2创建一个模型。我尝试了 Rob Hyndman 在: Estimating same model over multiple time series中提到的方法

我需要使用这两个模型将任何时间序列分类为这两组之一。对于每个时间序列,我计算了Model_group1和的 AIC,AICModel_group2较小的模型将意味着该时间序列属于其对应的组。

我有三个问题:

  1. 我收到一条警告信息

    Series: ts 
    ARIMA(3,0,2) with non-zero mean 
    
    Coefficients:
             ar1     ar2     ar3     ma1      ma2  intercept
          0.0714  0.1417  0.0000  0.0893  -0.0871     0.1169
    s.e.     NaN  0.1381  0.0127     NaN   0.1436     0.0026
    
    sigma^2 estimated as 0.2202:  log likelihood=-33822.63
    AIC=67659.26   AICc=67659.26   BIC=67725.99
    Warning message:
    In sqrt(diag(x$var.coef)) : NaNs produced
    

    此消息仅由其中一个组模型返回。这是否意味着拟合模型不正确?

  2. 我得到了两个不同的结果

    auto.arima(ts, allowdrift=FALSE, stepwise=FALSE)
    auto.arima(ts, allowdrift=FALSE, stepwise=TRUE)
    
  3. 当我测试生成的模型时,大多数时间序列都被归类为group_1,即使我测试了用于构建长时间序列的时间序列之一group_2这里需要提一下, 的组合时间序列比 .group_1的时间序列要短得多group_2有什么预期的原因吗?

1个回答
  1. 当模型不适合数据时,就会发生这种情况。

  2. stepwise=FALSE使auto.arima工作更难找到最佳模型。因此,当然,有时它会找到与 when 不同的模型stepwise=TRUE

  3. 无法根据提供的信息说。您应该知道将 AIC 值与不同的值进行比较是不合适的。AIC 只能用于比较具有相同的模型。dd