The goal of this project is to forecast the carbon intensity of the electricity grid for the next 24 hours in 30-minute intervals (48 predictions). The model uses previous energy demand and generation forecasts to predict future carbon intensity, contributing to better grid management, reduced carbon emissions, and greater use of renewable energy sources.
- EDA and Modelling Notebooks: Available in the
notebooks
directory for clarity in presenting code and results. Once finalized, the code will be moved to.py
scripts for production. - Download Script: The script for downloading generation mix data can be found in
download_generation_mix.py
.
- A conda environment can be created by running
bash setup.sh
.
- Energy demand
- Renewable energy production
- Date-time features (hour and minute)
- Lag features
- Energy Generation Mix Forecasts: Data from the UK grid, including renewables, nuclear, and fossil fuels, sourced from carbonintensity.org.uk.
- Stationarity and Seasonality: The data exhibits daily and monthly patterns that affect model performance.
- Model Generalization: Implemented time-based cross-validation to ensure that the model generalizes well.
-
Baseline Model (XGBoost):
- RMSE: 28.8 gCO₂/kWh
- MAPE: 17.1%
-
Improved Model (with generation mix forecasts):
- RMSE: 10.6 gCO₂/kWh
- MAPE: 5.7%
- Scale Limitation: We trained the model with only 10 months of data. More data could lead to improved lag features, better testing, and generalization.
-
Model Exploration: I considered using autoregressive models but was cautious about error propagation. After reviewing literature, LSTM models and large ensemble approaches are often used for such sequential data, showing better results for long-term predictions.
Reference: Ramesh Group Paper
- Statistical Models: I attempted statistical models like SARIMA, but poor results were likely due to stationarity constraints and seasonal fluctuations.
- Additional Features: Future plans include adding weather forecasts to incorporate external factors, which could provide valuable insights for next-day predictions.