Searches through the vector of lag orders to find the best VAR model which has lowest AIC, AICc or BIC value. It is implemented using OLS per equation.
VAR(formula, ic = c("aicc", "aic", "bic"), ...)
formula | Model specification (see "Specials" section). |
---|---|
ic | The information criterion used in selecting the model. |
... | Further arguments for arima |
A model specification.
Exogenous regressors and common_xregs
can be specified in the model
formula.
The AR
special is used to specify the lag order for the auto-regression.
AR(p = 0:5)
p | The order of the auto-regressive (AR) terms. If multiple values are provided, the one which minimises ic will be chosen. |
Exogenous regressors can be included in an ARIMA model without explicitly using the xreg()
special. Common exogenous regressor specials as specified in common_xregs
can also be used. These regressors are handled using stats::model.frame()
, and so interactions and other functionality behaves similarly to stats::lm()
.
The inclusion of a constant in the model follows the similar rules to stats::lm()
, where including 1
will add a constant and 0
or -1
will remove the constant. If left out, the inclusion of a constant will be determined by minimising ic
.
xreg(...)
... | Bare expressions for the exogenous regressors (such as log(x) ) |
lung_deaths <- cbind(mdeaths, fdeaths) %>% as_tsibble(pivot_longer = FALSE) fit <- lung_deaths %>% model(VAR(vars(mdeaths, fdeaths) ~ AR(3))) report(fit)#> Series: mdeaths, fdeaths #> Model: VAR(3) w/ mean #> #> Coefficients for mdeaths: #> lag(mdeaths,1) lag(fdeaths,1) lag(mdeaths,2) lag(fdeaths,2) #> 0.6675 0.8074 0.3677 -1.4540 #> s.e. 0.3550 0.8347 0.3525 0.8088 #> lag(mdeaths,3) lag(fdeaths,3) constant #> 0.2606 -1.1214 538.7817 #> s.e. 0.3424 0.8143 137.1047 #> #> Coefficients for fdeaths: #> lag(mdeaths,1) lag(fdeaths,1) lag(mdeaths,2) lag(fdeaths,2) #> 0.2138 0.4563 0.0937 -0.3984 #> s.e. 0.1460 0.3434 0.1450 0.3328 #> lag(mdeaths,3) lag(fdeaths,3) constant #> 0.0250 -0.315 202.0027 #> s.e. 0.1409 0.335 56.4065 #> #> Residual covariance matrix: #> mdeaths fdeaths #> mdeaths 58985.95 22747.94 #> fdeaths 22747.94 9983.95 #> #> log likelihood = -812.35 #> AIC = 1660.69 AICc = 1674.37 BIC = 1700.9fit %>% forecast() %>% autoplot(lung_deaths)