arma_model: ARMA model with fixed order

Description Usage Arguments Details Value Note Examples

View source: R/arma.R

Description

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 fixed as specified.

Usage

1
arma_model(p, q, intercept = TRUE, ...)

Arguments

p

Order of auto-regressive (AR) terms.

q

Order of moving-average (MA) terms.

intercept

Boolean value whether to include an intercept term (default: TRUE).

...

Further arguments used when fitting ARMA model.

Details

Variable importance metrics return the absolute value of the coefficients for the exogenous variables (if any).

Value

Model definition that can then be insered into train.

Note

If one desires an auto-tuning of the best order, then one needs to switch to auto_arma_model.

Examples

 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
35
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)

arma <- train(y ~ 1, data = df, method = arma_model(1, 1), trControl = trainDirectFit())
summary(arma)

predict(arma, df)
RMSE(predict(arma, df), df)

# with exogenous variables

library(vars)
data(Canada)

arma <- train(x = Canada[, -2], y = Canada[, 2], 
               method = arma_model(2, 0), 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)

sfeuerriegel/caret.ts documentation built on May 29, 2019, 8:01 p.m.