What I Built
Built calibrated 90% prediction intervals for 48-hour German electricity spot price forecasts using Expanded Interval Minimization (EIM). Designed a dual-branch LSTM-Autoencoder that encodes context history and solar/wind forecasts as independent temporal streams with weather embeddings. Evaluated across 16 difficult days (public holidays & weekends) comparing TCN and LSTMAE backbones.
What I Learned
Coverage vs sharpness is the fundamental trade-off. EIM with mini-batch percentile scaling jointly minimizes interval width while enforcing coverage constraints — achieving PICP ≥ 0.93 on test data. Adding weather embeddings to the LSTMAE backbone improved difficult-day coverage by +16.5% (63.8% → 76.3%), proving that solar/wind forecasts carry critical signal for price uncertainty on atypical days. LSTMAE produced ~46% narrower intervals than TCN on difficult days, but this exposed a sharpness-coverage trade-off.
Key Results
| Metric | LSTMAE | TCN |
|---|---|---|
| Test PICP (90% target) | ≥ 0.93 | ≥ 0.93 |
| Difficult-day coverage (w/ weather) | 76.3% (+16.5%) | +23.9% vs baseline |
| Difficult-day MPIW | 67.71 | 125.08 |
| Interval width reduction | ~46% narrower | baseline |
Achievement
📊 Grade: 1.3 — Case Study, TU Dortmund
Project
Tech Stack: PyTorch, LSTM-Autoencoder, TCN, Neptune (experiment tracking), Plotly | Method: Expanded Interval Minimization (EIM) with weather-augmented dual-branch architecture
Citation
@online{prasanna_koppolu,
author = {Prasanna Koppolu, Bhanu},
title = {Day-Ahead {Electricity} {Price} {Forecasting}},
url = {https://bhanuprasanna2001.github.io/projects/electricity_forecasting.html},
langid = {en}
}