Jesse Arzate & Megan Lavender
This project is a comprehensive, cross-domain comparison of time series forecasting methodologies β spanning classical statistics, ensemble machine learning, and deep learning. We applied 15+ model variants across four real-world domains to answer a central question:
When does a complex model actually outperform a simpler one β and by how much?
Each domain was strategically selected to push our models to their limits across four distinct temporal challenges: rigid seasonality, high-frequency volatility, external intervention shocks, and irregular human performance. For the high-density datasetsβBike and Household Powerβwe enforced a rigorous validation framework using expanding-window cross-validation (EWCV) and paired statistical significance testing. For the Airport and Tennis domains, we utilized dedicated test holdouts to allow for a more qualitative analysis of specific time series behaviors.
| Domain | Granularity | Observations | Key Challenge | Source |
|---|---|---|---|---|
| π² Bike Sharing | Hourly | ~17,000 | Multi-seasonal demand with weather covariates | UCI ML Repository |
| β‘ Household Power | 15-minute | ~70,000 | High-frequency volatility & heteroscedasticity | UCI ML Repository |
| Monthly | ~50 | COVID-19 structural break & exogenous regressors | Custom-compiled AI & search trend data | |
| πΎ Tennis Performance | Weekly | ~52/player | Irregular, sparse human performance dynamics | Jeff Sackmann ATP Dataset |
The full model library spans three paradigms, tailored to each domain's structure:
- ARIMA / SARIMA / SARIMAX β Box-Jenkins family with seasonal differencing, exogenous regressors, and AIC-based grid search
- ARIMAX-GARCH β Hybrid combining mean (ARIMAX) and variance (GARCH) equations to explicitly model heteroscedasticity
- VAR β Vector Autoregression for multivariate interaction modeling (Tennis)
- Random Forest β Bagged ensemble with lag-engineered features and cyclical time encodings
- XGBoost β Gradient-boosted trees with quantile regression for prediction intervals
- Prophet β Meta's additive regression model with automatic seasonality decomposition
- LSTM β Long Short-Term Memory network with sequence-to-one architecture for non-linear temporal dependencies
- Transformer-GARCH β Multi-head self-attention encoder with positional encoding, paired with a GARCH(1,1) residual volatility layer for dynamic confidence intervals
- NNAR β Neural Network Autoregression (Tennis)
| Model | Test MAE | Test RΒ² | CV Avg MAE | CV Avg RΒ² |
|---|---|---|---|---|
| ARIMAX | 51.90 | 0.786 | 55.85 | 0.798 |
| SARIMAX | 38.67 | 0.881 | 39.76 | 0.894 |
| Random Forest | 21.02 | 0.958 | 32.30 | 0.907 |
| XGBoost | 20.89 | 0.960 | 30.23 | 0.922 |
| Prophet | 44.46 | 0.834 | 49.94 | 0.834 |
Finding: XGBoost dominated this domain with a test RΒ² of 0.96, beating SARIMAX by a significant margin. A paired t-test confirmed XGBoost's superiority over Random Forest was statistically significant at Ξ± = 0.10 (p = 0.074). The gradient boosting approach effectively captured non-linear interactions between weather covariates, lag features, and cyclical time encodings that linear models fundamentally cannot represent.
| Model | Test MAE (kW) | Test RΒ² | CV Avg MAE | CV Avg RΒ² |
|---|---|---|---|---|
| SARIMAX | 0.324 | β | 0.306 | 0.780 |
| ARIMAX-GARCH | 0.316 | 0.760 | 0.306 | 0.780 |
| LSTM | 0.328 | 0.683 | 0.347 | 0.661 |
| Transformer-GARCH | 0.292 | 0.712 | 0.314 | 0.701 |
Finding: Despite deploying attention-based deep learning, the ARIMAX-GARCH hybrid remained competitive β and a paired t-test returned p = 0.68, meaning the Transformer-GARCH's apparent advantage was not statistically significant. The explicit seasonal harmonics in the statistical model provided a stronger linear foundation than the Transformer could learn implicitly. The ARIMAX-GARCH also trained ~5Γ faster, making it the clear production recommendation for this 15-minute interval use case.
Models: ARIMA β SARIMA β SARIMAX β XGBoost
Finding: The Airport domain tested model robustness to an extreme structural break β the COVID-19 pandemic β which rendered pure autoregressive models unreliable. Incorporating exogenous regressors (Google search trends, COVID indicators) via SARIMAX significantly improved forecasts. XGBoost captured the non-linear recovery dynamics that the linear SARIMAX formulation could not.
Players: Carlos Alcaraz, Novak Djokovic, Jannik Sinner Models: ARIMA β VAR β NNAR
Finding: This domain exposed a fundamental challenge: human athletic performance is inherently low signal-to-noise. All models struggled with the volatile week-to-week swings in game win percentage. ARIMA captured general trend levels but overestimated consistency. VAR introduced cross-player dynamics (does Djokovic's form predict Sinner's?) but added complexity without proportional accuracy gains. The NNAR showed marginal improvement but could not fully model the erratic volatility.
Beyond point-forecast accuracy, we applied a formal residual diagnostic battery to every fitted model. A well-specified model should produce residuals that resemble white noise β no leftover serial correlation, no conditional heteroscedasticity, and ideally approximate normality. Three hypothesis tests were applied systematically:
| Test | Null Hypothesis (Hβ) | Reject Meansβ¦ |
|---|---|---|
| Ljung-Box (Lag 20) | No serial correlation in residuals | Model has unexplained temporal structure |
| ARCH-LM | No ARCH effects (constant variance) | Volatility clusters remain β GARCH warranted |
| Shapiro-Wilk | Residuals are normally distributed | Heavy tails or skew present |
| Model | Ljung-Box p | ARCH-LM p | Shapiro-Wilk p | Interpretation |
|---|---|---|---|---|
| ARIMAX | 0.0000 | 0.0000 | 0.0000 | All three nulls rejected β significant serial correlation, ARCH effects, and non-normality remain |
| SARIMAX | 0.0000 | 0.0000 | 0.0000 | Seasonal differencing reduces error but cannot eliminate non-linear structure |
| Random Forest | 0.0000 | 0.0000 | 0.0000 | Tree ensembles capture non-linear mean well, but residuals still exhibit volatility clustering |
| XGBoost | 0.0000 | 0.0000 | 0.0000 | Same pattern β excellent point forecasts, but the variance process is unmodeled |
| Prophet | 0.0000 | 0.0000 | 0.0000 | Additive decomposition leaves structured noise; most autocorrelation among all models |
Takeaway: Every Bike model rejected all three nulls at any conventional significance level. This is not unusual for high-frequency hourly data with ~17,000 observations β the sheer sample size gives the tests enormous power to detect even minor departures. The key insight is that while all models leave some structure in the residuals, the magnitude of that structure varies dramatically: XGBoost's residual ACF decays far faster than ARIMAX's, indicating that its "leftover" autocorrelation is economically negligible even if statistically detectable.
| Model | Ljung-Box p | ARCH-LM p | Interpretation |
|---|---|---|---|
| SARIMAX | 0.0000 | 0.0000 | Strong serial correlation and ARCH effects β motivates the GARCH extension |
| ARIMAX-GARCH | 0.0000 | 0.0000 | GARCH absorbs some volatility, but 70,000 15-min observations still detect residual structure |
| LSTM | 0.0000 | 0.0000 | Neural network captures non-linear trends effectively, but does not inherently "whiten" residuals |
| Transformer (pre-GARCH) | 0.0000 | 0.0000 | ARCH-LM p = 0.0000 on raw Transformer residuals explicitly justified the GARCH add-on |
| Transformer-GARCH | 0.0000 | 0.0000 | Even after GARCH layering, the ultra-high-frequency data retains detectable structure |
Takeaway: The ARCH-LM test was the diagnostic workhorse in this domain. After fitting the SARIMAX mean model, the ARCH-LM p-value of 0.0000 provided the formal statistical mandate to layer a GARCH(1,1) variance model on top β producing the ARIMAX-GARCH hybrid. The same logic applied to the Transformer: raw Transformer residuals showed p = 0.0000 on the ARCH-LM test, justifying the two-stage Transformer-GARCH architecture. A BIC-based grid search over GARCH(p,q) orders consistently selected GARCH(1,1) as optimal across all cross-validation folds.
| Model | Ljung-Box p | Interpretation |
|---|---|---|
| ARIMA | 1.39 Γ 10β»βΆ | Significant autocorrelation β unmodeled seasonal cycle leaking into residuals |
| SARIMA | < 2.2 Γ 10β»ΒΉβΆ | Seasonal terms improve forecasts but residuals still reject white noise |
| SARIMAX | < 2.2 Γ 10β»ΒΉβΆ | Exogenous regressors reduce error magnitude; serial structure persists |
| XGBoost | 0.1562 | Fail to reject Hβ β residuals consistent with white noise at Ξ± = 0.05 |
Takeaway: XGBoost was the only Airport model whose residuals passed the Ljung-Box test (p = 0.156), meaning it was the only model that adequately captured the full temporal structure β including the non-linear COVID-19 recovery dynamics that the Box-Jenkins family fundamentally could not represent. This is a strong result: not only did XGBoost produce the lowest error metrics (MAE = 0.062, RMSE = 0.076), it was also the only model to produce formally adequate residuals.
VAR Residuals (Ljung-Box per player):
| Player | Ljung-Box p | Interpretation |
|---|---|---|
| Carlos Alcaraz | 0.9869 | Fail to reject β residuals consistent with white noise |
| Novak Djokovic | 0.7322 | Fail to reject β no remaining serial correlation |
| Jannik Sinner | 0.9671 | Fail to reject β residuals well-behaved |
NNAR Residuals (Ljung-Box per player):
| Player | Ljung-Box p | Interpretation |
|---|---|---|
| Carlos Alcaraz | 1.09 Γ 10β»βΆ | Reject Hβ β significant autocorrelation remains |
| Novak Djokovic | 1.31 Γ 10β»βΈ | Reject Hβ β neural net fails to capture temporal dependencies |
| Jannik Sinner | 4.35 Γ 10β»ΒΉβ° | Reject Hβ β strongest autocorrelation signal |
Takeaway: A surprising reversal β the VAR model produced the cleanest residuals of any model in any domain (all p > 0.73), meaning it fully captured the linear temporal dependencies between players. The NNAR, despite being the more "flexible" model, left significant autocorrelation in all three players' residuals. This suggests that for this sparse, weekly dataset, the VAR's explicit multivariate structure was more appropriate than the neural network's implicit feature learning. The VAR's high diagnostic adequacy, however, did not translate to superior forecast accuracy β a reminder that white-noise residuals are necessary but not sufficient for good out-of-sample performance.
All models were evaluated using a consistent, rigorous protocol:
- Expanding-Window Cross-Validation (EWCV) β 5-fold rolling splits where the training window grows with each fold, preserving temporal ordering
- Standardized Metrics β MAE (error magnitude), RΒ² (predictive power), Fit Time (computational efficiency)
- Statistical Significance Testing β Paired t-tests on CV fold MAEs between top candidate models to distinguish real performance gains from noise
- Residual Diagnostics β Ljung-Box (serial correlation), ARCH-LM (heteroscedasticity), and Shapiro-Wilk (normality) tests applied to every model's residuals
- Prediction Interval Calibration β 95% interval coverage evaluated for all probabilistic models
- Cyclical Encodings: Hour-of-day and day-of-week encoded as sin/cos pairs to preserve circular continuity
- Multi-Period Lags: Features at t-1 through t-24 (hourly) and t-1 through t-96 (15-min) to capture both short and long memory
- Seasonal Harmonics: Fourier terms for ARIMAX/SARIMAX to model complex seasonal patterns without excessive differencing
- Exogenous Variables: Weather (temperature, humidity, windspeed), Google Trends, COVID indicators β domain-specific
βββ BikeMain.ipynb # π² Complete Bike Sharing pipeline (Python)
βββ PowerMain.ipynb # β‘ Complete Household Power pipeline (Python)
βββ AirportMain.ipynb # βοΈ Complete Airport Passenger pipeline (R/Python)
βββ TennisMain.ipynb # πΎ Complete Tennis Performance pipeline (R)
β
βββ Jesse/
β βββ Code/
β β βββ Bike/ # Individual model notebooks (ARIMAX β XGBoost β Prophet)
β β βββ Power/ # Individual model notebooks (SARIMAX β Transformer-GARCH)
β βββ EDACode/ # Exploratory data analysis notebooks
β
βββ Megan/
βββ Tennis/
βββ EDA.Rmd # Tennis exploratory analysis
βββ ARIMA.Rmd # ARIMA grid search & diagnostics
βββ VAR.Rmd # Vector Autoregression modeling
βββ NNAR.Rmd # Neural Network Autoregression
Each *Main.ipynb notebook is fully self-contained β all models are trained from scratch within the notebook with no external file dependencies. These are the primary deliverables.
The Jesse/Code/ and Megan/Tennis/ directories contain the individual development notebooks where each model was built, tuned, and validated independently before consolidation.
| Component | Tools |
|---|---|
| Statistical Modeling | statsmodels, pmdarima, arch, R forecast, R vars |
| Machine Learning | scikit-learn, xgboost, prophet |
| Deep Learning | PyTorch (LSTM, Transformer) |
| Visualization | matplotlib, seaborn, R base graphics |
| Data Processing | pandas, numpy, R dplyr, tidyr, lubridate |
-
Complexity β accuracy. In two of four domains, well-specified statistical hybrids matched or beat deep learning architectures β at a fraction of the computational cost.
-
GARCH matters. Modeling the variance alongside the mean (via GARCH residual layers) consistently produced better-calibrated prediction intervals, regardless of whether the mean model was statistical or neural.
-
Ensemble ML excels with rich features. When abundant exogenous covariates and engineered lag features were available (Bike), tree-based ensembles dominated. When the feature space was thin (Tennis), they offered no advantage.
-
Statistical testing is non-negotiable. Without paired t-tests on CV folds, we would have incorrectly declared the Transformer-GARCH the "winner" in the Power domain β a conclusion that p = 0.68 firmly rejects.
-
Domain structure dictates model choice. There is no universal best model. The optimal approach depends on data frequency, seasonal complexity, feature availability, and whether the application demands point forecasts or calibrated uncertainty bands.
- Jesus Arzate β Bike Sharing & Household Power domains (Python: ARIMAX, SARIMAX, ARIMAX-GARCH, Random Forest, XGBoost, Prophet, LSTM, Transformer-GARCH)
- Megan Lavender β Airport Passengers & Tennis Performance domains (R/Python: ARIMA, SARIMA, SARIMAX, XGBoost, VAR, NNAR)
Georgia Institute of Technology β ISYE 6402: Time Series Analysis β Spring 2026