SARIMA extends ARIMA by adding seasonal components. It is written as:

Non-Seasonal ARIMA Part

These are the standard ARIMA components:

  • – autoregressive (AR) order: The number of lagged observations included in the model. AR terms capture how past values influence current values. Example: If , the model uses the previous 2 time points to predict the current one.

  • – differencing order: Number of times the data is differenced to make it stationary (remove trends). Example: means we model the difference: .

  • – moving average (MA) order: Number of lagged forecast errors in the prediction equation. MA terms capture short-term shocks or noise in the series. Example: means the model uses the previous time step’s error to adjust the prediction.

Seasonal Part

These extend ARIMA to handle repeating seasonal patterns. Here, is the seasonal period (how often the pattern repeats, e.g., 12 for monthly yearly seasonality).

  • – seasonal autoregressive order: Similar to , but at the seasonal lag. Example: If and , the model uses (value from one year ago) to predict .

  • – seasonal differencing order: Number of times seasonal differencing is applied. Removes seasonal trends. Example: with : .

  • – seasonal moving average order: Similar to , but considers past seasonal forecast errors. Example: and uses the error from 12 months ago.

How SARIMA Works (Step by Step)

  1. Seasonal differencing first (if ): Remove repeating seasonal trends to stabilize the mean.

  2. Non-seasonal differencing (if ): Remove overall trend to make the series stationary.

  3. Apply ARMA on transformed series:

    • Non-seasonal AR () and MA () model short-term dependencies.
    • Seasonal AR () and MA () model dependencies at seasonal lags.
  4. Combine predictions: The model combines seasonal and non-seasonal components to forecast the next time step.

Example

  • : depends on previous value
  • : difference once to remove trend
  • : uses previous forecast error
  • : depends on value 12 months ago
  • : seasonal difference to remove annual seasonality
  • : adjusts using error from 12 months ago
  • : yearly seasonality

This model is good for monthly data with annual seasonal cycles.