255. SARIMAX
Seasonal ARIMA with exogenous regressors
- = endogenous (target) series
- = exogenous regressors,
- = regression coefficients on exogenous variables
- The adds linear regression on external predictors to SARIMA.
Parameters: , , , , , ,
Orders: , , , , , , , (regressors)
Example:
Given
- Orders: , , , , , , ,
- Parameters: , , ,
- Endogenous data :
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
| 12 | 10 | 8 | 11 | 14 | 12 | 9 | 13 | 16 | 14 | 11 | 15 | 18 | 16 | 13 | 17 |
- Exogenous regressor :
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Step 1 — formula
Substitute orders into the SARIMAX recursion. With and :
Expand the operator product (same as SARIMA, plus the exogenous term):
Forecast (set ):
Innovation:
Pre-compute the cross term: .
Step 2 — apply at (first usable step: needs )
Plug in , , , , , , :
Step 3 — iterate
Each row adds the exogenous contribution on top of the SARIMA forecast.
| SARIMA part: | |||||
| 6 | 12 | ||||
| 7 | 9 | ||||
| 8 | 13 | ||||
| 9 | 16 | ||||
| 10 | 14 | ||||
| 11 | 11 | ||||
| 12 | 15 | ||||
| 13 | 18 | ||||
| 14 | 16 | ||||
| 15 | 13 | ||||
| 16 | 17 | ||||
| 17 | — | — |
Here is collinear with ‘s linear trend, so adds an extra drift on top of the AR/seasonal structure — forecasts now overshoot. With a less collinear regressor, would correct part of that AR/seasonal lags miss.