| # SARIMAX Model for M5 Demand Forecasting |
|
|
| ## Overview |
| Seasonal ARIMA with eXogenous variables trained on aggregated daily M5 sales data. |
|
|
| ## Model Details |
| - **Architecture**: SARIMAX(2,1,1)(1,1,1,7) |
| - **Training Data**: 1,913 days with 6 exogenous features |
| - **Test Period**: 28 days (2016-04-25 to 2016-05-22) |
| - **Exogenous Variables**: wday, month, snap_CA, snap_TX, snap_WI, has_event |
|
|
| ## Performance |
| | Metric | Value | |
| |--------|-------| |
| | RMSE | 2,759.70 | |
| | MAE | 2,260.25 | |
| | MAPE | 4.98% | |
| | AIC | 35869.68 | |
|
|
| ## Key Features |
| - Captures autocorrelation and seasonal patterns |
| - Exogenous variables provide additional signal |
| - Weekly seasonality (s=7) for day-of-week effects |
| - Event indicators (holidays, SNAP days) improve accuracy |
|
|
| ## Usage |
| ```python |
| import pickle |
| import pandas as pd |
| |
| with open('model.pkl', 'rb') as f: |
| model = pickle.load(f) |
| |
| forecast = model.forecast(steps=28, exog=exog_future) |
| ``` |
|
|
| ## Notes |
| - Best performance among the three statistical models |
| - Exogenous variables (especially SNAP indicators) significantly improve predictions |
| - Larger model size (85MB) due to seasonal components |
|
|