在 R 中,如何从 auto.arima 结果中捕获 ARIMA 元素

in R, how to capture ARIMA elements from auto.arima results

我有一堆系列要使用 forecast::auto.arima 函数进行预测。我喜欢保存 auto.arima 适合的模型类型。如果您 运行 以下代码:

library(forecast)

set.seed(123)

y <- sin(seq(-pi,pi,0.05))+(rnorm(length(seq(-pi,pi,0.05)))/4)

arima.model <- auto.arima(y)

arima.model

最后一行执行结果显示

Series: y 

**ARIMA(1,1,2)** 

Coefficients:
         ar1      ma1     ma2

      0.9594  -1.7285  0.7740

s.e.  0.0380   0.0745  0.0658

sigma^2 estimated as 0.06534:  log likelihood=-6.1

AIC=20.2   AICc=20.53   BIC=31.51

如何获取 ARIMA(1,1,2) 并保存结果?我希望做类似 arima.model$ 的事情并捕捉我需要的东西,但我无法弄清楚。

您可以尝试 summary(arima.model)arima.model$coefarima.model$aicarima.model$bic

如果你想要一个整洁的格式,你可以像这样使用扫帚包:

library(broom) 
tidy(arima.model) #ar/ma terms
glance(arima.model) #information criteria

tidy(arima.model)
# A tibble: 3 x 3
  term  estimate std.error
  <fct>    <dbl>     <dbl>
1 ar1      0.959    0.0380
2 ma1     -1.73     0.0745
3 ma2      0.774    0.0658

glance(arima.model)
# A tibble: 1 x 4
  sigma logLik   AIC   BIC
  <dbl>  <dbl> <dbl> <dbl>
1 0.256  -6.10  20.2  31.5