Automatic Identification of Model Using auto.arima() Function in R
Premium
auto.arima() Function
R also has a package called forecast, which contains many forecasting functions for time series and linear models. It also contains a very useful function called auto.arima
, which returns the best ARIMA model according to either AIC, AICc or BIC value. The function conducts a search over possible models within the order constraints provided.
Let's try the auto.arima
function on our time series.
1> fb\_fit\_auto <- auto.arima(fb\_ts)
2> fb\_fit\_auto
3Series: fb\_ts
4ARIMA(1,1,4) with drift
5Coefficients:
6 ar1 ma1 ma2 ma3 ma4 drift
7 -0.8405 0.8626 -0.0123 -0.1632 -0.1768 0.0800
8s.e. 0.1080 0.1111 0.0488 0.0509 0.0381 0.0478
9sigma^2 estimated as 2.581: log likelihood=-1426.29
10AIC=2866.58 AICc=2866.73 BIC=2898.97
11>
12
The auto.arima
function suggests the best fit model as ARIMA(1,1,4) with drift.
The following code creates the forecast for the FB stock prices using the suggested model:
1fb\_fit <- arima(fb\_ts, order = c(1, 1, 4))
2fb\_forecast <- predict(fb\_fit , n.ahead = 20)
3fb\_forecast\_values <- fb\_forecast$pred
4plot.ts(fb\_ts, xlim = c(0, 900), ylim = c(50,160))
5points(fb\_forecast\_values , type = "l", col = 2)
6
