Description Usage Arguments Details Value Note Examples
Creates an ARMA model that is then fitted to the data as a univariate time series. If further variables are specified in the model, it also includess exogenous variables. The order (p, q) is tuned by choosing the one with best fit.
1 | auto_arma_model(p = 5, q = 5, intercept = TRUE, ...)
|
p |
Maximum order of auto-regressive (AR) terms that is tested to find the best fit (default: 5). |
q |
Maximum order of moving-average (MA) term that is tested to find the best fit (default: 5). |
intercept |
Boolean value whether to include an intercept term (default:
|
... |
Further arguments used when fitting ARMA model. |
Variable importance metrics return the absolute value of the coefficients for the exogenous variables (if any).
Model definition that can then be insered into train.
If one desires an ARMA model of fixed, pre-defined order, then one needs to
switch to auto_arma_model.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | library(caret)
# without exogenous variables
library(forecast)
data(WWWusage) # from package "forecast"
df <- data.frame(y = as.numeric(WWWusage))
lm <- train(y ~ 1, data = df, method = "lm", trControl = trainDirectFit())
summary(lm)
RMSE(predict(lm, df), df)
arma <- train(y ~ 1, data = df, method = auto_arma_model(), trControl = trainDirectFit())
summary(arma)
RMSE(predict(arma, df), df)
# with exogenous variables
library(vars)
data(Canada)
arma <- train(x = Canada[, -2], y = Canada[, 2],
method = auto_arma_model(), trControl = trainDirectFit())
summary(arma)
arimaorder(arma$finalModel) # order of best model
predict(arma, Canada[, -2]) # in-sample predictions
RMSE(predict(arma, Canada[, -2]), Canada[, 2]) # in-sample RMSE
absCoef <- varImp(arma, scale = FALSE) # variable importance (= absolute value of coefficient)
absCoef
plot(absCoef)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.