在 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$coef
、arima.model$aic
、arima.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
我有一堆系列要使用 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$coef
、arima.model$aic
、arima.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