Predicting atmospheric emission levels using spatiotemporal feature engineering, ensemble gradient boosting, and seasonal calibration.
This repository contains my solution for the IndabaX Nigeria 2026 Emission Forecasting competition.
The objective of the competition was to predict emission levels from spatial and temporal environmental data. The challenge involved a difficult temporal distribution shift:
- Training data covered January–September
- Test data covered September–December
This created a major seasonal extrapolation problem, especially for regions with strong winter emission patterns such as East Asia and South Asia.
The final solution combines:
- Ensemble gradient boosting models
- Extensive spatiotemporal feature engineering
- Region-aware seasonal calibration
The final pipeline consists of two stages:
An ensemble of:
- LightGBM
- XGBoost
trained using:
- 5-fold cross-validation
- log1p-transformed target variable
- extensive feature engineering
This stage generates the raw model predictions:
P_RAW
Because the model never observed full winter months during training, it systematically under-predicted emissions for October–December.
To correct this:
- region-specific mirror months were used
- Jan–Feb statistics were mapped to Oct–Dec
- predictions were calibrated upward for winter-heavy regions
This stage generates:
P_CAL
The final submission is a weighted blend:
Final Prediction = 0.5 × P_RAW + 0.5 × P_CAL
followed by clipping to valid ranges.
The solution relies heavily on structured feature engineering(52 new features were created)
- Cyclical hour encoding
- Cyclical month encoding
- Day-of-week encoding
- Day-of-year encoding
- Weekend indicators
- Rush-hour indicators
- Hemisphere-aware winter/summer signals
- Cold-season intensity
- Seasonal interaction terms
- Latitude and longitude transformations
- Absolute coordinate features
- Latitude × longitude interactions
Custom geographic regions were defined using latitude and longitude rules:
- East Asia
- South Asia
- Europe
- North America
- Southern Hemisphere
- Other
The most important features were region-season interaction terms such as:
- East Asia × winter
- South Asia × winter
- Latitude × cold season
These features helped the model capture geographically-specific seasonal emission behavior.
- 5-Fold KFold Cross Validation
- Fixed random seeds
- Out-of-fold evaluation
Used for:
- fast gradient boosting
- non-linear feature interactions
- robust tabular learning
Used for:
- complementary boosting behavior
- improved ensemble diversity
- stronger extrapolation robustness
The final model prediction is the average of both models.
Recommended environment:
- Python 3.10+
- NumPy
- pandas
- scikit-learn
- LightGBM
- XGBoost
Install dependencies:
pip install -r requirements.txt.
├── README.md
├── requirements.txt
├── emi_indaba.ipynb
├── submission_18.csv
└── data/
The final submission file is:
submission_v18.csv
The central insight behind this solution was recognizing that the competition was primarily a:
temporal extrapolation problem rather than a spatial memorization problem
The model needed to generalize from:
- non-winter training months to:
- winter-heavy unseen test months
This made seasonal calibration and region-aware feature engineering critical to performance.