R: Fit ARIMA model to univariate time series

Arima {forecast} | R Documentation

## Fit ARIMA model to univariate time series

### Description

Largely a wrapper for the `arima` function in the stats package. The main difference is that this function allows a drift term. It is also possible to take an ARIMA model from a previous call to `Arima` and re-apply it to the data `y`.

### Usage

    Arima(y, order = c(0, 0, 0), seasonal = c(0, 0, 0), xreg = NULL,
      include.mean = TRUE, include.drift = FALSE, include.constant,
      lambda = model$lambda, biasadj = FALSE, method = c("CSS-ML", "ML",
      "CSS"), model = NULL, x = y, ...)

### Arguments

`y` | a univariate time series of class `ts`.
`order` | A specification of the non-seasonal part of the ARIMA model: the three components (p, d, q) are the AR order, the degree of differencing, and the MA order.
`seasonal` | A specification of the seasonal part of the ARIMA model, plus the period (which defaults to frequency(y)). This should be a list with components order and period, but a specification of just a numeric vector of length 3 will be turned into a suitable list with the specification as the order.
`xreg` | Optionally, a vector or matrix of external regressors, which must have the same number of rows as y.
`include.mean` | Should the ARIMA model include a mean term? The default is `TRUE` for undifferenced series, `FALSE` for differenced ones (where a mean would not affect the fit nor predictions).
`include.drift` | Should the ARIMA model include a linear drift term? (i.e., a linear regression with ARIMA errors is fitted.) The default is `FALSE`.
`include.constant` | If `TRUE`, then `include.mean` is set to be `TRUE` for undifferenced series and `include.drift` is set to be `TRUE` for differenced series. Note that if there is more than one difference taken, no constant is included regardless of the value of this argument. This is deliberate as otherwise quadratic and higher order polynomial trends would be induced.
`lambda` | Box-Cox transformation parameter. Ignored if `NULL`. Otherwise, data transformed before model is estimated.
`biasadj` | Use adjusted back-transformed mean for Box-Cox transformations. If `TRUE`, point forecasts and fitted values are mean forecast. Otherwise, these points can be considered the median of the forecast densities.
`method` | Fitting method: maximum likelihood or minimize conditional sum-of-squares. The default (unless there are missing values) is to use conditional-sum-of-squares to find starting values, then maximum likelihood.
`model` | Output from a previous call to `Arima`. If model is passed, this same model is fitted to `y` without re-estimating any parameters.
`x` | Deprecated. Included for backwards compatibility.
`...` | Additional arguments to be passed to `arima`.

### Details

See the `arima` function in the stats package.

### Value

See the `arima` function in the stats package. The additional objects returned are

`x` | The time series data
`xreg` | The regressors used in fitting (when relevant).

### Author(s)

Rob J Hyndman

### See Also

`auto.arima`, `forecast.Arima`.

### Examples

    library(ggplot2)
    WWWusage %>%
      Arima(order=c(3,1,0)) %>%
      forecast(h=20) %>%
      autoplot

    # Fit model to first few years of AirPassengers data
    air.model <- Arima(window(AirPassengers,end=1956+11/12),order=c(0,1,1),
                       seasonal=list(order=c(0,1,1),period=12),lambda=0)
    plot(forecast(air.model,h=48))
    lines(AirPassengers)

    # Apply fitted model to later data
    air.model2 <- Arima(window(AirPassengers,start=1957),model=air.model)

    # Forecast accuracy measures on the log scale.
    # in-sample one-step forecasts.
    accuracy(air.model)
    # out-of-sample one-step forecasts.
    accuracy(air.model2)
    # out-of-sample multi-step forecasts
    accuracy(forecast(air.model,h=48,lambda=NULL),
             log(window(AirPassengers,start=1957)))

[Package forecast version 8.2 Index]