Beyond the Graph: An Adaptive Meta-Learner Fuses Explainability, Weather, and Dynamics for Robust Bus ETA Prediction
Organizations: SQC and OR division, Indian Statistical Unit, BT Road, Kolkata, 700108, West Bengal, India. · SQC and OR unit, Indian Statistical Unit, 8th Mile, Mysore Road, Bangalore, 560059, Karnataka, India.
Abstract
Accurate bus Estimated Time of Arrival (ETA) prediction is vital for urban mobility, passenger satisfaction, and transit efficiency, yet existing models falter against nonlinear spatiotemporal dynamics, data sparsity, and factors such as weather. This paper proposes HYB(nm), an adaptive hybrid ensemble framework that dynamically fuses five complementary models - a historical baseline (MST-AV), periodical temporal pattern analysis (GDRN-DFT), Koopman Neural Operators for nonlinear dynamics (KOOP-NET), weather-integrated feature-engineered neural networks (FENN), and real-time graph convolutional networks (MGCN) - via a meta-learner attuned to real-time context. Evaluated on GPS and weather data from three Kolkata bus routes comprising more than 4,000 trips, the framework leverages the individual strengths of its components (for example, the low-latency explainability of MST-AV, the weather resilience of FENN, and the network-dynamics capture of MGCN) to deliver the superior robustness of HYB(2), state-of-the-art accuracy rivalling leading graph neural networks, and balanced trade-offs in stability and efficiency across prediction horizons and operating conditions. The extensible HYB(k) architecture equips transit agencies with flexible tools, ranging from economical single models to tailored high-fidelity hybrids, advancing predictive, equitable urban transport.
Figures & tables
| Limitations / Gaps | Methods Used | Addressing the Limitation |
| Lack of spatial discretisation | MST-AV with grid approximation | Continuous GPS trajectories are discretised using grids with median referencing, enabling graph-based modelling and noise reduction. |
| Absence of non-linear temporal modelling | Koopman-based KNN | Non-linear bus-speed dynamics are captured via linear evolution in a lifted latent space using the Koopman operator. |
| No incorporation of weather effects | FENN with feature engineering | Real-time weather variables from OpenWeatherMap are encoded to improve contextual forecasting. |
| Inadequate modeling of spatio-temporal periodicity | GDRN-DFT | Graph diffusion combined with DFT captures daily and weekly traffic cycles effectively. |
| Poor handling of missing data | GDRN with Bi-LSTM | Spatial diffusion and bidirectional temporal modeling enable effective imputation of missing speeds. |
| Lack of real-time message passing | Masked GCN | Observed speeds are propagated across the graph in real time to complete network-wide estimates. |
| Routes | |||
| Metric | Route 1 | Route 2 | Route 3 |
| (DN2/1: Shapoorji–Dakshineswar) | (KB22: Shapoorji–Kolkata Station) | (KB16: Shapoorji–Bangoor) | |
| Total Sessions | 1,251 | 1,829 | 953 |
| Total GPS Points | 45,321 | 62,553 | 35,268 |
| Distance (km) | |||
| Number of Stops | |||
| Month | % of Total Sessions | % of Total GPS Points |
| Aug 2024 | 16% | 15% |
| Sep 2024 | 17% | 18% |
| Oct 2024 | 15% | 16% |
| Nov 2024 | 13% | 13% |
| Dec 2024 | 12% | 12% |
| Jan 2025 | 11% | 11% |
| Normal Conditions | Bus Stop Groups | Extreme Weather | |||||||||||||
| (Actual ETA ranges(min)) | (Actual ETA ranges(min)) | ||||||||||||||
| Model | Metric | 0-10 | 10-25 | 25-45 | 45+ | Overall | 1-2 | 3-4 | 5-6 | 7+ | 0-10 | 10-25 | 25-45 | 45+ | Overall |
| MST-AV | MAE | 4.2 | 5.9 | 8.2 | 10.3 | 8.0 | 4.7 | 6.8 | 8.9 | 11.1 | 6.0 | 7.2 | 8.9 | 11.4 | 8.8 |
| MAPE | 60.9 | 35.7 | 25.6 | 17.4 | 21.1 | 44.8 | 28.9 | 20.4 | 18.2 | 75.9 | 40.1 | 28.7 | 20.4 | 25.1 | |
| RMSE | 5.4 | 7.2 | 9.8 | 12.7 | 9.6 | 6.0 | 8.4 | 10.7 | 13.6 | 7.1 | 8.6 | 10.4 | 13.1 | 10.2 | |
| GDRN-DFT | MAE | 3.4 | 5.6 | 6.1 | 7.2 | 5.9 | 4.1 | 6.9 | 7.3 | 8.6 | 5.4 | 7.0 | 7.9 | 8.8 | 8.0 |
| Model | Metric | Route 1 | Route 2 | Route 3 | ||||||||||||
| 0–10 | 10–25 | 25–45 | 45+ | Overall | 0–10 | 10–25 | 25–45 | 45+ | Overall | 0–10 | 10–25 | 25–45 | 45+ | Overall | ||
| HYB(1) | MAE | 1.4 | 4.1 | 6.2 | 7.4 | 4.3 | 1.6 | 5.0 | 8.0 | 9.1 | 5.4 | 1.5 | 4.6 | 7.2 | 8.4 | 5.0 |
| MAPE | 20.5 | 24.2 | 18.8 | 10.9 | 13.2 | 24.4 | 31.3 | 22.4 | 13.0 | 15.9 | 22.9 | 29.0 | 20.5 | 12.3 | 14.7 | |
| RMSE | 1.8 | 5.3 | 7.6 | 8.5 | 5.6 | 2.2 | 6.5 | 9.5 | 10.6 | 7.1 | 2.0 | 6.0 | 8.7 | 9.7 | 6.1 | |
| HYB(2) | ||||||||||||||||
| Proposed Model | MAE | 1.3 | 4.3 | 6.5 | 7.3 | 4.5 | 1.7 | 5.3 | 8.1 | 9.0 | 5.7 | 1.6 | 4.8 | 7.4 | 8.3 | 4.8 |
| Model | Pros | Cons |
| DCRNN Li et al. (2017) | Captures directed flows; principled diffusion modeling | RNN backbone; slow training, limited parallelism |
| STGCN Yu et al. (2018) | Simple, efficient baseline | Weak long-range temporal modeling |
| GWNet (fixed A) Wu et al. (2019) | Dilated convs capture long history; strong benchmark | Complex; tuning dilations is tricky |
| T-GCN Zhao et al. (2020) | Simple GCN+GRU hybrid; effective on small data | RNN bottleneck; weak long-horizon |
| ASTGCN Zhu et al. (2020) | Temporal+spatial attention; good for periodic patterns | Computationally heavy; hard to tune |
| STGAT (fixed A) Huang et al. (2019) | Flexible neighbor weighting | Overfits small datasets |
| Model | Metric | Route 1 | Route 2 | Route 3 | ||||||||||||
| 0–10 | 10–25 | 25–45 | 45+ | Overall | 0–10 | 10–25 | 25–45 | 45+ | Overall | 0–10 | 10–25 | 25–45 | 45+ | Overall | ||
| HYB(2) (Proposed) | MAE | 1.3 | 4.3 | 6.5 | 7.3 | 4.5 | 1.7 | 5.3 | 8.1 | 9.0 | 5.7 | 1.6 | 4.8 | 7.4 | 8.3 | 4.8 |
| MAPE | 19.4 | 23.5 | 17.8 | 11.2 | 12.3 | 23.1 | 28.0 | 21.2 | 13.3 | 14.9 | 21.7 | 25.9 | 19.6 | 12.6 | 13.8 | |
| RMSE | 1.7 | 5.0 | 7.3 | 8.4 | 5.4 | 2.0 | 6.1 | 9.1 | 10.7 | 6.9 | 2.1 | 5.7 | 8.4 | 9.8 | 6.4 | |
| DCRNN | MAE | 1.2 | 4.0 | 6.8 | 8.2 | 5.1 | 1.4 | 5.9 | 8.7 | 9.9 | 6.3 | 1.9 | 5.1 | 6.8 | 9.2 | 5.7 |
| MAPE | 22.1 | 22.6 | 19.9 | 12.1 | 14.1 | 25.2 | 27.2 | 22.4 | 14.2 | 16.4 | 21.1 | 26.8 | 21.4 | 12.0 | 16.8 | |
| Model:Win rate % | MAE | MAPE | RMSE | Overall (%) | ||||||
| R1 | R2 | R3 | R1 | R2 | R3 | R1 | R2 | R3 | ||
| HYB(2) (Proposed) | 40.0 | 40.0 | 60.0 | 60.0 | 60.0 | 40.0 | 60.0 | 60.0 | 20.0 | 48.9 |
| DCRNN | 40.0 | 20.0 | 20.0 | 20.0 | 20.0 | 20.0 | 40.0 | 0.0 | 0.0 | 20.0 |
| STGCN | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 2.2 |
| GWNet (fixed A) | 0.0 | 40.0 | 0.0 | 20.0 | 0.0 | 60.0 | 0.0 | 40.0 | 40.0 | 22.2 |
| T-GCN | 0.0 | 0.0 | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 20.0 | 4.4 |
| Model | Optimal Configuration | Performance | Rationale | Not Studied |
| MST-AV | Grid size = 50 mtr 50 mtr | MAE 8.0–8.4 min, Time 85.6–59.2 ms | Finer grids (50 50) capture localised traffic variations in dense urban areas, improving path accuracy, but scaling to 100 100 reduces MAE variance across routes by averaging over more historical traces per cell. This range avoids the computational explosion of sub-50 m bins while outperforming coarser ones (e.g., 1000 1000) that lose route-specific details, prioritising low latency for battery-constrained apps. | Only average speed is taken for each grid. No other central tendency study (e.g., mode, median) is done. |
| GDRN-DFT | days, min, , | MAE = 5.936 min, Time = 1.149 s | This configuration strikes an optimal balance by capturing weekly traffic cycles ( days) without excessive historical data overhead, while a moderate sampling interval ( min) aligns with typical GPS update rates to reduce noise. The diffusion lag enables effective spatial smoothing of sparse signals, and provides sufficient Fourier detail for periodic patterns without amplifying high-frequency artifacts, minimising both error and computation. | km/hr, taken as the same for forward and backward diffusion. |
| KNN | min, , | MAE = 8.842 min, Time = 1.7 s | A finer sampling ( min) preserves short-term dynamics in urban bus routes, where rapid changes occur, while embedding dimension captures essential nonlinearities in speed profiles without overparameterisation. Lifting to in the Koopman space linearises dynamics efficiently, avoiding the quadratic time scaling of higher values, thus optimizing for real-time inference on edge devices. | Number of intermediate layers for encoder = decoder = 2; , (encoder) and , (decoder) nodes optimized via Ray Tune (not manually studied); (regularization studied between prediction and reconstruction loss components). Activation function used: Swish.Swish provides the smooth differentiability required by Koopman theory while avoiding the gradient saturation of Tanh, enabling better propagation through the encoder-decoder architecture. |
| FENN | min, , , | MAE = 8.271 min, Time = 0.791 s | The 10-min interval balances temporal granularity with feature stability, incorporating weather and location without aliasing. A compact sinusoidal basis ( ) encodes diurnal cycles succinctly, reducing dimensionality, while 3 layers ( ) provide depth for feature interactions without vanishing gradients. Sequence length aligns with hourly patterns, ensuring predictive power while keeping the model lightweight for mobile deployment. | Number of hidden layers studied in a shallow range, but number of nodes in hidden layers not studied manually; it was optimised via Ray Tune.Swish (Activation for hidden layers) offers a good balance between non-saturation and smooth gradients, enhancing feature interaction learning while maintaining computational efficiency. |
| MGCN | days, min, | MAE = 7.39 min, Time = 1.039 s | Weekly history ( days) encompasses recurring patterns like rush hours, enhancing imputation accuracy for masked graph nodes. Graph sampling at min maintains resolution for spatial dependencies, and 3 layers ( ) propagate information across the MST-augmented graph sufficiently to leverage neighbors without over-smoothing, which occurs at and degrades performance on sparse bus networks. | No regularisation between L1 and L2, so (no smoothness enforced for DFT estimates). |
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
| Normal Conditions | Bus Stop Groups | Extreme Weather | |||||||||||||
| Model | Metric | 0-10 | 10-25 | 25-45 | 45+ | Overall | 1-2 | 3-4 | 5-6 | 7+ | 0-10 | 10-25 | 25-45 | 45+ | Overall |
| MST-AV | MAE | 5.0 | 7.0 | 10.2 | 13.4 | 9.8 | 5.6 | 8.8 | 11.4 | 14.1 | 7.4 | 9.4 | 10.2 | 14.6 | 11.1 |
| MAPE | 67.0 | 38.9 | 28.8 | 20.0 | 23.4 | 49.1 | 33.2 | 23.3 | 20.7 | 85.0 | 46.3 | 30.9 | 23.3 | 28.4 | |
| RMSE | 6.6 | 8.6 | 12.5 | 16.9 | 11.9 | 7.3 | 11.2 | 14.0 | 17.6 | 9.0 | 11.5 | 12.1 | 17.1 | 13.1 | |
| GDRN-DFT | MAE | 3.9 | 6.8 | 7.1 | 9.3 | 7.0 | 5.5 | 8.5 | 9.5 | 10.3 | 6.8 | 8.3 | 9.6 | 11.2 | 9.2 |
| MAPE | 45.9 | 34.4 | 19.2 | 13.1 | 15.9 | 43.0 | 30.8 | 19.2 | 15.6 | 71.4 | 36.5 | 25.1 | 16.7 | 22.9 | |
| Normal Conditions | Bus Stop Groups | Extreme Weather | |||||||||||||
| Model | Metric | 0-10 | 10-25 | 25-45 | 45+ | Overall | 1-2 | 3-4 | 5-6 | 7+ | 0-10 | 10-25 | 25-45 | 45+ | Overall |
| MST-AV | MAE | 4.70 | 6.64 | 9.26 | 11.68 | 9.11 | 5.37 | 7.80 | 10.26 | 12.84 | 6.97 | 8.40 | 10.42 | 13.40 | 10.38 |
| MAPE | 68.2 | 40.2 | 28.9 | 19.7 | 24.0 | 51.2 | 33.2 | 23.5 | 21.1 | 88.2 | 46.8 | 33.6 | 24.0 | 29.6 | |
| RMSE | 6.04 | 8.10 | 11.07 | 14.40 | 10.93 | 6.86 | 9.64 | 12.34 | 15.73 | 8.25 | 10.03 | 12.18 | 15.40 | 12.03 | |
| GDRN-DFT | MAE | 3.81 | 6.30 | 6.89 | 8.16 | 6.72 | 4.69 | 7.92 | 8.41 | 9.95 | 6.27 | 8.16 | 9.25 | 10.34 | 9.44 |
| MAPE | 47.6 | 35.0 | 20.0 | 12.9 | 16.6 | 41.9 | 31.7 | 19.2 | 16.4 | 73.7 | 38.8 | 26.5 | 17.3 | 25.1 | |
| (days) | ||||||||||||||||
| 5 min | 10 min | 15 min | 20 min | 5 min | 10 min | 15 min | 20 min | 5 min | 10 min | 15 min | 20 min | 5 min | 10 min | 15 min | 20 min | |
| 1 | 11.5 0.271 | 11.83 0.9 | 12.234 1.8 | 12.65 2.808 | 10.769 0.305 | 10.96 0.908 | 11.41 1.78 | 11.75 2.77 | 10.332 0.295 | 10.58 1.009 | 10.978 1.93 | 11.39 2.937 | 10.665 0.406 | 10.863 1.059 | 11.34 1.98 | 11.75 2.99 |
| 5 | 9.195 0.271 | 8.893 0.94 | 9.473 1.78 | 9.949 2.76 | 8.633 0.33 | 8.257 0.88 | 8.93 1.792 | 9.276 2.839 | 8.144 0.33 | 7.787 0.988 | 8.53 1.943 | 8.89 2.91 | 8.308 0.37 | 8.02 1.101 | 8.74 1.963 | 9.1 2.97 |
| 7 | 8.2 0.292 | 8.98 0.85 | 9.188 1.76 | 9.558 2.824 | 7.86 0.29 | 8.13 0.91 | 8.632 1.81 | 8.991 2.83 | 7.83 0.28 | 7.39 1.039 | 8.537 1.861 | 8.65 2.86 | 8.02 0.361 | 8.002 1.1 | 8.74 1.971 | 8.92 3.011 |
| 10 | 9.03 0.31 | 8.75 0.889 | 9.59 1.766 | 10.03 2.79 | 8.456 0.33 | 8.334 0.86 | 8.978 1.845 | 9.38 2.75 | 8.22 0.253 | 8.184 0.979 | 8.89 1.92 | 9.22 2.936 | 8.4 0.431 | 8.52 1.06 | 9.1 2.05 | 9.464 3.004 |
| Metric | Unit(mtr x mtr) | 25x25 | 50x50 | 100x100 | 250x250 | 500x500 | 1000x1000 |
| MAE | (minutes) | 8.3 | 8.0 | 8.4 | 10.8 | 15.0 | 18.8 |
| Avg. Computation Time | (ms) | 120.4 | 85.6 | 59.2 | 57.8 | 51.4 | 48.2 |
Intelligent Transportation Systems
Intelligent Transportation Systems apply sensing, communication, AI, and optimization to make transport networks safer and more efficient.
See all 301 papers