简体   繁体   中英

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

I have a bunch of series to forecast using forecast::auto.arima function. I like to save what type of model did auto.arima fit. If you run the following code:

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

the result of the last line execution shows

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

How can I capture ARIMA(1,1,2) and save results? I was hoping to do something like arima.model$ and capture what I need to but I could not figure it out.

You can try summary(arima.model) , arima.model$coef , arima.model$aic , arima.model$bic .

If you want a tidy format, you can use broom package like this:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM