Research

Forecasting Household Energy

What can generative models predict when household history is missing?

My contribution
Individual honours thesis · model development and evaluation
Context
UNSW Electrical Engineering honours thesis
Focus
Data & research · Software & AI
Preprocessing to Tensor Organisation
System OverviewPreprocessing to Tensor Organisation
RNN-TimeVAE_v2
Model & Workflow DiagramsRNN-TimeVAE_v2
Diffusion Block Diagram_v2
Model & Workflow DiagramsDiffusion Block Diagram_v2
Freq-Hor Relation
Model & Workflow DiagramsFreq-Hor Relation
Context Visualisation
Model & Workflow DiagramsContext Visualisation
Example Usecase of Thesis
Model & Workflow DiagramsExample Usecase of Thesis
Dummy Website
Model & Workflow DiagramsDummy Website
Aggregate profile bands: context transformer diffusion. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: context transformer diffusion. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: context rnn diffusion. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: context rnn diffusion. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: context transformer vae. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: context transformer vae. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: context rnn vae. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: context rnn vae. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: no context transformer diffusion. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: no context transformer diffusion. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: no context rnn diffusion. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: no context rnn diffusion. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: no context transformer vae. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: no context transformer vae. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: no context rnn vae. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: no context rnn vae. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: baseline itransformer. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: baseline itransformer. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: baseline nhits. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: baseline nhits. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: baseline tft. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: baseline tft. These compare real and generated profile distributions rather than a single household forecast.
Aggregate profile bands: baseline tsmixer. These compare real and generated profile distributions rather than a single household forecast.
Model Profile BandsAggregate profile bands: baseline tsmixer. These compare real and generated profile distributions rather than a single household forecast.
Attention Time Series
Supporting Research DiagramsAttention Time Series
Comparability
Supporting Research DiagramsComparability
Conditioning
Supporting Research DiagramsConditioning
Context_No_Context_Diagram
Supporting Research DiagramsContext_No_Context_Diagram
Data to Tensor Creation
Supporting Research DiagramsData to Tensor Creation
Diffusion Diagram
Supporting Research DiagramsDiffusion Diagram
GRU
Supporting Research DiagramsGRU
Horizon Visual
Supporting Research DiagramsHorizon Visual
LSTM Context Encoder
Supporting Research DiagramsLSTM Context Encoder
LSTM
Supporting Research DiagramsLSTM
No-Context Visualisation
Supporting Research DiagramsNo-Context Visualisation
Positional Encoding
Supporting Research DiagramsPositional Encoding
Self Attention
Supporting Research DiagramsSelf Attention
Seq2Seq Time Series
Supporting Research DiagramsSeq2Seq Time Series
Sliding Window.drawio
Supporting Research DiagramsSliding Window.drawio
Sliding Window
Supporting Research DiagramsSliding Window
Transformer Context Encoder
Supporting Research DiagramsTransformer Context Encoder
Transformer
Supporting Research DiagramsTransformer
Usage workflow
Supporting Research DiagramsUsage workflow
VAE Diagram
Supporting Research DiagramsVAE Diagram
Vanilla RNNs
Supporting Research DiagramsVanilla RNNs
MAE comparison heatmaps generated from the supplied results workbook.
Performance ResultsMAE comparison heatmaps generated from the supplied results workbook.

Experience In Practice

Skills Applied

View All Skills

A Forecast Needs More Than A Single Number

Household electricity demand varies with routines, weather and sudden appliance use. A useful forecast needs to describe uncertainty as well as typical demand. But many forecasting methods assume a recent history of smart-meter readings is available.

My thesis investigated whether conditional generative models could produce useful future demand scenarios from household and calendar information alone, then measured how much adding historical context improved them.

Make The Comparison Controlled

I developed four models combining two generative approaches—variational autoencoders and diffusion—with recurrent or Transformer sequence processing. I compared them against Temporal Fusion Transformer, N-HiTS, TSMixer and iTransformer.

The experiment covered 24-hour, 7-day and 28-day forecasts at four sampling intervals. With and without history, that produced 96 generative configurations and 48 baseline configurations.

  • Split households into training and validation groups so validation homes were unseen during training.
  • Fit scalers on training data and keep windows within household boundaries.
  • Limit future inputs to calendar features known at prediction time; use observed weather only in the historical branch.

Build A Common Evaluation Language

Each generative model produced 200 sampled trajectories. I extracted the median and 10th/90th percentiles so that forecasts could be compared using the same central estimate and 80% interval.

Seven metrics tested different aspects of usefulness: ordinary error, large errors, peak error, quantile accuracy, interval quality, distribution and temporal shape. The retained notebooks separate preprocessing, training, checkpoint loading and evaluation.

History Matters; The Metric Changes The Answer

The thesis found that historical context improved the generative models, with the most promising performance at the 24-hour horizon. Diffusion models were stronger than the VAE implementations on quantile and interval measures. Changing the generative objective had a clearer effect than swapping recurrent processing for Transformers.

Longer horizons exposed a different problem: a model could reproduce overall consumption levels while placing peaks at the wrong time. Without history, the output was more useful as a plausible household scenario than a precise forecast.

The comparison also identified limits worth addressing next: unequal preprocessing between some model families, one household split, and a shrinking history-to-forecast ratio at longer horizons.

The Engineering Journey

Prepare

Align smart-meter, household and calendar inputs without future-data leakage.

Compare

Run four generative models and four baselines over the same horizon/frequency grid.

Evaluate

Use point, probabilistic, distributional and temporal measures together.

What This Experience Achieved

The result

A reproducible 144-configuration comparison showing where generative forecasting helps, and where accurate timing and peak prediction remain difficult.

From the model-performance workbook

Explore The Results

Historical context reduced error in 336 of 336 selected comparisons. Explore the raw metrics alongside the context effect and the gap to the best baseline.

Colours rescale to the displayed values: green is the minimum, yellow the median and red the maximum. Raw groups scale independently. Colours rank numbers, not improvement; in the context view, a larger positive value means more improvement. Displayed values are not clipped.

Gap to the best baseline · MAE

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Mean absolute error of the median forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion-31.7%iTransformer-31.3%iTransformer-29.8%iTransformer-27.9%TSMixer-11.3%TFT-13.4%TFT-22.0%TFT-19.7%TFT-0.3%TFT-1.8%TFT-3.7%TFT-6.3%TFT
RNN VAE-26.1%iTransformer-25.4%iTransformer-25.8%iTransformer-18.9%TSMixer-3.0%TFT-7.4%TFT-15.7%TFT-12.4%TFT+6.9%TFT+1.3%TFT-1.4%TFT-4.0%TFT
Transformer diffusion-31.8%iTransformer-32.5%iTransformer-31.8%iTransformer-30.3%TSMixer-13.2%TFT-15.4%TFT-23.7%TFT-21.6%TFT-2.6%TFT-4.9%TFT-6.2%TFT-8.5%TFT
Transformer VAE-25.8%iTransformer-27.7%iTransformer-26.8%iTransformer-24.2%TSMixer-6.9%TFT-8.8%TFT-18.5%TFT-15.9%TFT+0.5%TFT+0.3%TFT-0.9%TFT-3.5%TFT
Lowest ValueMedianHighest ValueMinimum -32.48% · Median -14.4% · Maximum 6.948%
Gap to the best baseline · RMSE

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Root mean squared error of the mean forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion-20.3%TSMixer-10.6%TSMixer-13.9%TSMixer-5.4%TSMixer-7.6%TFT-5.9%TFT-5.6%TFT-7.0%TFT+4.1%TSMixer+5.2%TFT+5.1%TFT+3.1%TFT
RNN VAE-17.9%TSMixer-4.5%TSMixer-9.8%TSMixer+7.6%TSMixer-3.5%TFT-2.5%TFT+0.6%TFT-1.6%TFT+8.4%TSMixer+9.4%TFT+7.6%TFT+6.0%TFT
Transformer diffusion-19.3%TSMixer-11.4%TSMixer-17.7%TSMixer-11.1%TSMixer-8.2%TFT-6.3%TFT-6.7%TFT-9.7%TFT+8.6%TSMixer+4.4%TFT+2.5%TFT+4.9%TFT
Transformer VAE-15.2%TSMixer-6.3%TSMixer-10.5%TSMixer-1.2%TSMixer-4.7%TFT-0.5%TFT-0.7%TFT-2.0%TFT+4.3%TSMixer+6.9%TFT+8.9%TFT+6.8%TFT
Lowest ValueMedianHighest ValueMinimum -20.3% · Median -3.014% · Maximum 9.434%
Gap to the best baseline · Peak MAE

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Peak-demand mean absolute errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+6.8%TSMixer-7.0%TSMixer-9.8%TSMixer-21.9%TSMixer+14.1%TSMixer+27.5%TSMixer+37.9%TSMixer+18.3%TSMixer+9.1%TSMixer+21.8%TSMixer+30.7%TSMixer+31.3%TSMixer
RNN VAE+3.4%TSMixer-7.6%TSMixer-6.9%TSMixer-17.9%TSMixer+10.8%TSMixer+18.4%TSMixer+31.9%TSMixer+13.5%TSMixer+4.9%TSMixer+16.3%TSMixer+26.8%TSMixer+29.3%TSMixer
Transformer diffusion+3.2%TSMixer-6.5%TSMixer-14.0%TSMixer-27.3%TSMixer+18.8%TSMixer+22.6%TSMixer+28.3%TSMixer+22.6%TSMixer+16.4%TSMixer+24.0%TSMixer+22.7%TSMixer+36.3%TSMixer
Transformer VAE+5.7%TSMixer-1.8%TSMixer-1.2%TSMixer-14.6%TSMixer+7.9%TSMixer+16.2%TSMixer+32.5%TSMixer+14.2%TSMixer-10.2%TSMixer+1.2%TSMixer+13.4%TSMixer+17.9%TSMixer
Lowest ValueMedianHighest ValueMinimum -27.31% · Median 13.84% · Maximum 37.87%
Gap to the best baseline · Quantile loss

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Quantile forecast errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion-31.5%iTransformer-30.8%iTransformer-29.8%iTransformer-23.9%TSMixer-8.3%TFT-8.9%TFT-14.8%TFT-19.1%TFT+11.3%TFT+8.2%TFT+4.8%TFT-0.3%TFT
RNN VAE+3.3%iTransformer+6.7%iTransformer+4.7%iTransformer+21.5%TSMixer+37.8%TFT+36.0%TFT+29.4%TFT+24.4%TFT+55.1%TFT+46.5%TFT+45.7%TFT+41.8%TFT
Transformer diffusion-31.5%iTransformer-31.8%iTransformer-32.4%iTransformer-27.3%TSMixer-7.2%TFT-8.2%TFT-15.8%TFT-19.1%TFT+10.8%TFT+3.8%TFT+4.5%TFT+1.5%TFT
Transformer VAE+5.4%iTransformer+5.0%iTransformer+4.0%iTransformer+14.5%TSMixer+33.7%TFT+35.1%TFT+26.3%TFT+21.0%TFT+47.1%TFT+46.0%TFT+47.6%TFT+43.7%TFT
Lowest ValueMedianHighest ValueMinimum -32.43% · Median 4.904% · Maximum 55.08%
Gap to the best baseline · Winkler score

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Prediction-interval error scoreColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion-31.4%iTransformer-29.9%TSMixer-29.8%iTransformer-19.7%TSMixer-5.3%TFT-4.2%TFT-6.9%TFT-18.5%TFT+22.8%TFT+18.0%TFT+13.6%TFT+5.7%TFT
RNN VAE+30.6%iTransformer+38.8%TSMixer+33.7%iTransformer+64.7%TSMixer+76.5%TFT+79.7%TFT+79.6%TFT+59.8%TFT+102.2%TFT+90.6%TFT+93.9%TFT+88.8%TFT
Transformer diffusion-31.2%iTransformer-30.6%TSMixer-33.1%iTransformer-24.0%TSMixer-1.6%TFT-1.0%TFT-7.0%TFT-16.7%TFT+23.9%TFT+12.4%TFT+15.3%TFT+11.7%TFT
Transformer VAE+34.4%iTransformer+37.7%TSMixer+33.1%iTransformer+56.0%TSMixer+72.1%TFT+79.4%TFT+76.1%TFT+56.4%TFT+92.6%TFT+90.5%TFT+97.2%TFT+92.1%TFT
Lowest ValueMedianHighest ValueMinimum -33.06% · Median 27.25% · Maximum 102.2%
Gap to the best baseline · KL divergence

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Histogram-based distribution divergenceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion-59.8%TFT-73.1%TFT-65.5%TFT-75.9%TFT-37.2%TSMixer+135.2%TSMixer+6.3%TSMixer-40.6%TSMixer+14.0%TSMixer+0.4%TSMixer-67.1%TSMixer-71.8%TSMixer
RNN VAE-32.3%TFT-54.7%TFT-65.1%TFT-72.2%TFT+3.2%TSMixer+268.6%TSMixer+24.2%TSMixer-21.0%TSMixer+66.0%TSMixer+13.3%TSMixer-58.5%TSMixer-70.2%TSMixer
Transformer diffusion-77.5%TFT-65.7%TFT-58.0%TFT-67.0%TFT-19.7%TSMixer+29.4%TSMixer-44.5%TSMixer-9.1%TSMixer+9.4%TSMixer+61.3%TSMixer-50.1%TSMixer-44.5%TSMixer
Transformer VAE-60.9%TFT-38.8%TFT-48.9%TFT-56.7%TFT-2.2%TSMixer+123.9%TSMixer-7.8%TSMixer-36.6%TSMixer-35.1%TSMixer-52.3%TSMixer-65.5%TSMixer-40.9%TSMixer
Lowest ValueMedianHighest ValueMinimum -77.5% · Median -40.76% · Maximum 268.6%
Gap to the best baseline · DTW

Negative values mean lower error than the best baseline for that metric and configuration. Gap = (generative model − best baseline) ÷ best baseline × 100. The baseline family is shown in each cell.

Dynamic time-warping distanceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion-52.8%iTransformer-46.6%TSMixer-55.1%iTransformer-48.2%TSMixer+32.4%TFT+1.1%TFT-12.1%TFT-8.5%TFT+752.4%TFT+313.2%TFT+105.4%TFT+44.5%TFT
RNN VAE-49.4%iTransformer-43.8%TSMixer-51.4%iTransformer-42.2%TSMixer+46.5%TFT+7.6%TFT-3.8%TFT+0.6%TFT+776.6%TFT+319.2%TFT+108.4%TFT+49.7%TFT
Transformer diffusion-53.2%iTransformer-45.9%TSMixer-54.2%iTransformer-49.2%TSMixer+35.1%TFT-1.5%TFT-14.1%TFT-7.3%TFT+729.1%TFT+287.3%TFT+95.8%TFT+42.3%TFT
Transformer VAE-48.8%iTransformer-41.7%TSMixer-51.6%iTransformer-47.0%TSMixer+40.9%TFT+10.0%TFT-7.9%TFT-4.5%TFT+692.7%TFT+286.5%TFT+103.6%TFT+46.6%TFT
Lowest ValueMedianHighest ValueMinimum -55.06% · Median -0.42% · Maximum 776.6%
Effect of historical context · MAE

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Mean absolute error of the median forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+38.2%+42.7%+44.0%+46.0%+35.5%+38.3%+42.5%+45.4%+21.2%+24.0%+28.3%+29.5%
RNN VAE+35.0%+37.1%+40.9%+39.2%+35.3%+38.3%+40.1%+42.2%+22.9%+28.1%+31.1%+32.6%
Transformer diffusion+37.2%+42.8%+43.2%+47.4%+35.0%+36.2%+43.5%+45.2%+26.2%+31.1%+30.7%+32.5%
Transformer VAE+33.2%+36.2%+39.1%+40.9%+36.7%+37.0%+41.8%+43.0%+26.9%+28.8%+32.2%+33.4%
Lowest ValueMedianHighest ValueMinimum 21.16% · Median 36.85% · Maximum 47.39%
Effect of historical context · RMSE

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Root mean squared error of the mean forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+29.8%+35.6%+35.9%+38.8%+29.7%+32.9%+35.8%+37.9%+21.8%+23.6%+28.6%+29.2%
RNN VAE+27.7%+27.8%+31.2%+29.8%+27.3%+30.7%+32.2%+35.1%+20.0%+23.1%+26.5%+28.8%
Transformer diffusion+28.5%+33.9%+38.0%+43.4%+29.4%+29.7%+36.6%+38.4%+21.9%+30.3%+30.4%+29.8%
Transformer VAE+26.6%+29.2%+32.3%+34.6%+27.8%+28.6%+33.3%+34.9%+22.0%+24.1%+26.6%+28.6%
Lowest ValueMedianHighest ValueMinimum 20% · Median 29.73% · Maximum 43.35%
Effect of historical context · Peak MAE

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Peak-demand mean absolute errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+29.4%+37.3%+43.4%+46.0%+23.2%+21.6%+29.9%+35.5%+19.0%+19.5%+26.8%+28.1%
RNN VAE+22.0%+31.4%+39.1%+42.4%+10.4%+16.7%+26.8%+31.2%+12.0%+17.1%+19.5%+23.8%
Transformer diffusion+34.6%+36.7%+49.6%+52.8%+25.8%+29.1%+37.9%+34.6%+17.6%+28.2%+34.4%+31.7%
Transformer VAE+26.9%+32.0%+38.6%+41.1%+14.8%+20.7%+28.1%+35.0%+14.1%+19.4%+21.4%+24.4%
Lowest ValueMedianHighest ValueMinimum 10.44% · Median 28.15% · Maximum 52.84%
Effect of historical context · Quantile loss

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Quantile forecast errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+42.7%+47.2%+47.7%+49.7%+41.9%+43.9%+47.6%+50.0%+26.7%+27.6%+33.5%+34.4%
RNN VAE+28.1%+30.2%+33.2%+30.8%+31.2%+33.4%+34.9%+36.7%+19.4%+24.1%+27.4%+28.5%
Transformer diffusion+41.5%+46.4%+47.6%+52.5%+37.6%+37.8%+45.3%+46.8%+26.7%+35.3%+31.6%+33.8%
Transformer VAE+27.4%+29.7%+32.9%+33.7%+32.8%+32.2%+37.1%+38.3%+23.2%+24.7%+27.2%+28.3%
Lowest ValueMedianHighest ValueMinimum 19.39% · Median 33.6% · Maximum 52.47%
Effect of historical context · Winkler score

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Prediction-interval error scoreColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+46.3%+50.9%+50.9%+52.8%+46.5%+48.2%+51.5%+53.8%+30.6%+30.3%+37.4%+38.3%
RNN VAE+23.9%+25.8%+28.3%+25.4%+28.9%+30.6%+31.9%+33.4%+17.4%+21.9%+25.3%+26.2%
Transformer diffusion+45.0%+49.4%+51.2%+56.6%+39.7%+39.1%+46.8%+48.1%+27.1%+38.3%+32.4%+34.8%
Transformer VAE+24.0%+25.9%+29.1%+29.3%+30.6%+29.4%+34.4%+35.5%+21.2%+22.4%+24.4%+25.2%
Lowest ValueMedianHighest ValueMinimum 17.42% · Median 32.16% · Maximum 56.58%
Effect of historical context · KL divergence

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Histogram-based distribution divergenceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+69.3%+79.5%+66.5%+70.7%+86.3%+64.2%+77.7%+83.6%+90.8%+89.0%+91.4%+92.6%
RNN VAE+37.2%+72.4%+57.8%+50.8%+62.6%+55.3%+71.4%+69.7%+53.4%+57.6%+72.8%+79.6%
Transformer diffusion+73.1%+78.4%+69.0%+64.2%+92.2%+96.6%+88.7%+72.3%+93.7%+93.1%+94.1%+89.7%
Transformer VAE+74.1%+63.0%+52.5%+39.7%+57.4%+74.4%+73.3%+79.6%+59.1%+71.6%+58.6%+19.6%
Lowest ValueMedianHighest ValueMinimum 19.64% · Median 72.34% · Maximum 96.59%
Effect of historical context · DTW

Positive values mean that adding historical context reduced error. Change = (without history − with history) ÷ without history × 100.

Dynamic time-warping distanceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion+32.8%+34.9%+39.7%+38.5%+43.6%+44.1%+47.6%+48.3%+28.2%+27.9%+30.5%+29.7%
RNN VAE+26.9%+33.0%+35.3%+31.3%+35.2%+40.7%+41.0%+44.1%+19.6%+22.8%+25.2%+27.1%
Transformer diffusion+35.8%+39.6%+36.9%+40.0%+45.4%+46.3%+48.0%+47.3%+34.8%+40.6%+36.4%+35.1%
Transformer VAE+24.7%+26.7%+32.2%+35.3%+36.0%+35.6%+41.8%+46.2%+26.3%+28.2%+28.0%+28.7%
Lowest ValueMedianHighest ValueMinimum 19.63% · Median 35.27% · Maximum 48.32%
Raw heatmap values · MAE

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Mean absolute error of the median forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.15570.2930.53880.7450.15530.28850.51830.72520.1890.35040.6330.8789
RNN VAE0.16850.31830.56970.83780.16980.30880.55970.79040.20280.36150.64860.9004
Transformer diffusion0.15550.2880.52360.71990.15210.28210.5070.70750.18480.33930.61690.8579
Transformer VAE0.16920.30820.5620.78290.16310.30390.54120.7590.19070.35810.65150.9046
Lowest ValueMedianHighest ValueMinimum 0.1521 · Median 0.4343 · Maximum 0.9046

Without History

Mean absolute error of the median forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.25180.51160.96221.380.24060.46750.90141.3280.23970.46110.88251.246
RNN VAE0.25920.50620.96321.3780.26260.50050.93441.3670.26320.50270.9411.335
Transformer diffusion0.24750.50320.92241.3680.23390.44220.89781.2920.25030.49240.88961.27
Transformer VAE0.25330.4830.92291.3250.25750.48270.92951.3310.26090.50290.96071.359
Lowest ValueMedianHighest ValueMinimum 0.2339 · Median 0.697 · Maximum 1.38

Baseline

Mean absolute error of the median forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT0.33110.60551.0591.4110.17520.33330.66410.90260.18970.35690.65760.9376
N-HiTS3.4882.5756.76610.50.39110.51314.6813.560.57140.781818.8812.12
TSMixer0.27450.44070.89571.0330.19220.36660.78691.0090.19550.38240.72341.057
iTransformer0.22810.42650.76751.1020.22080.41850.76941.120.22940.42820.79351.157
Lowest ValueMedianHighest ValueMinimum 0.1752 · Median 0.7455 · Maximum 18.88
Raw heatmap values · RMSE

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Root mean squared error of the mean forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.32030.58991.0711.4370.31010.56611.0041.4040.36210.66541.1871.62
RNN VAE0.32980.63041.1221.6340.32370.58651.071.4850.3770.69251.2151.665
Transformer diffusion0.32410.58511.0241.3490.30810.56380.99251.3640.3780.66081.1581.647
Transformer VAE0.34090.61821.1141.50.31970.59841.0561.4790.36280.67631.2291.678
Lowest ValueMedianHighest ValueMinimum 0.3081 · Median 0.8425 · Maximum 1.678

Without History

Root mean squared error of the mean forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.45590.91581.6712.3460.44120.84311.5632.2590.46330.87081.6612.287
RNN VAE0.4560.87311.6322.3290.44520.84651.5782.2870.47120.90061.6522.337
Transformer diffusion0.45340.88511.6522.3820.43640.80171.5672.2150.48380.94751.6642.347
Transformer VAE0.46460.87271.6452.2930.44290.8381.5832.2720.46540.89151.6732.348
Lowest ValueMedianHighest ValueMinimum 0.4364 · Median 1.255 · Maximum 2.382

Baseline

Root mean squared error of the mean forecastColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT0.530.95691.6342.1520.33550.60151.0631.5090.34920.63281.1291.571
N-HiTS9.4555.96910.74150.70970.865716.2917.151.0471.23320.4314.22
TSMixer0.40180.66021.2441.5190.34970.63611.3051.6380.34790.66241.1771.699
iTransformer0.44810.80771.4922.0130.40820.79371.4562.0950.44770.82411.4952.129
Lowest ValueMedianHighest ValueMinimum 0.3355 · Median 1.205 · Maximum 20.43
Raw heatmap values · Peak MAE

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Peak-demand mean absolute errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.62020.85771.1331.3321.0471.6542.2552.6231.5522.393.5044.177
RNN VAE0.60060.85171.1691.41.0161.5362.1572.5181.4932.2823.44.112
Transformer diffusion0.59940.86241.081.241.0891.592.0982.7191.6562.4333.2894.336
Transformer VAE0.61360.90541.2411.4570.98971.5072.1672.5321.2781.9853.0393.751
Lowest ValueMedianHighest ValueMinimum 0.5994 · Median 1.544 · Maximum 4.336

Without History

Peak-demand mean absolute errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.8781.3672.0012.4681.3632.113.2174.0631.9152.9694.7865.809
RNN VAE0.76981.2411.922.4311.1351.8432.9453.6581.6962.7514.2225.395
Transformer diffusion0.91591.3612.1412.6291.4682.2423.3814.1582.013.3885.0156.346
Transformer VAE0.83971.3312.0212.4751.1611.9013.0113.8961.4872.4643.8664.963
Lowest ValueMedianHighest ValueMinimum 0.7698 · Median 2.336 · Maximum 6.346

Baseline

Peak-demand mean absolute errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT0.63211.0061.5982.0531.1831.7222.2262.521.62.4273.5854.284
N-HiTS14.078.26517.1126.271.4872.10924.0635.682.6162.40834.6328.66
TSMixer0.58070.9221.2561.7060.91721.2971.6362.2181.4231.9622.6813.181
iTransformer0.85071.2331.8292.1171.312.2123.3084.1411.8292.9824.5885.601
Lowest ValueMedianHighest ValueMinimum 0.5807 · Median 2.164 · Maximum 35.68
Raw heatmap values · Quantile loss

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Quantile forecast errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.054030.099620.18450.25350.055080.10080.17910.24860.071130.13040.22730.3074
RNN VAE0.081520.15370.27510.40470.082750.15030.27220.38230.099070.17660.31590.4374
Transformer diffusion0.054090.098290.17750.24230.055690.10150.17720.24850.070790.12510.22650.313
Transformer VAE0.083180.15120.27310.38150.080260.14940.26570.37160.093960.1760.320.4432
Lowest ValueMedianHighest ValueMinimum 0.05403 · Median 0.1769 · Maximum 0.4432

Without History

Quantile forecast errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.094240.18870.3530.5040.094720.17970.34170.49770.097030.18020.34160.4685
RNN VAE0.11340.220.41190.58510.12030.22590.41850.6040.12290.23270.4350.6118
Transformer diffusion0.092470.18330.33870.50980.089260.16320.32390.46710.096610.19330.33130.4726
Transformer VAE0.11450.21520.4070.57560.11940.22030.42240.60210.12240.23360.43970.6177
Lowest ValueMedianHighest ValueMinimum 0.08926 · Median 0.2788 · Maximum 0.6177

Baseline

Quantile forecast errorColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT0.10220.18650.32970.45020.060040.11060.21030.30720.063880.12050.21680.3085
N-HiTS1.0150.77482.3163.2730.13010.17563.8053.8430.1880.25265.473.635
TSMixer0.089370.14590.28750.33310.064480.12020.25190.32950.065470.12550.23770.3542
iTransformer0.078930.1440.26270.36390.075050.14240.26390.3750.07860.14510.26310.3906
Lowest ValueMedianHighest ValueMinimum 0.06004 · Median 0.2448 · Maximum 5.47
Raw heatmap values · Winkler score

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Prediction-interval error scoreColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.84251.5242.843.8780.87591.5812.7833.8331.1892.163.6534.827
RNN VAE1.6033.0185.4057.9511.6332.9665.3697.5171.9583.496.2358.619
Transformer diffusion0.8451.5092.7073.6690.91021.6352.783.9191.22.0573.7095.102
Transformer VAE1.6492.9945.3837.5311.5922.9615.2647.3541.8653.4886.3438.772
Lowest ValueMedianHighest ValueMinimum 0.8425 · Median 2.98 · Maximum 8.772

Without History

Prediction-interval error scoreColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion1.5683.1035.788.2181.6383.0535.7438.2951.7123.1015.8377.823
RNN VAE2.1064.077.5410.672.2974.2747.88211.282.3714.4688.34611.68
Transformer diffusion1.5372.9825.5498.451.5082.6845.2297.5571.6473.3375.4917.827
Transformer VAE2.1694.047.59410.642.2954.1968.02411.412.3674.4948.38811.73
Lowest ValueMedianHighest ValueMinimum 1.508 · Median 4.861 · Maximum 11.73

Baseline

Prediction-interval error scoreColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT1.4112.5694.5976.4520.92531.6512.9894.7040.96821.8313.2164.566
N-HiTS13.0210.3735.6545.671.9472.70340.7947.512.7833.66969.748.43
TSMixer1.3082.1754.1474.8280.97321.7723.6234.8420.98671.8543.5155.341
iTransformer1.2282.1884.0445.4071.1482.184.075.6511.2112.2113.9255.93
Lowest ValueMedianHighest ValueMinimum 0.9253 · Median 3.569 · Maximum 69.7
Raw heatmap values · KL divergence

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Histogram-based distribution divergenceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.087830.051830.10840.10140.057210.071730.05830.040380.12360.10050.060090.04621
RNN VAE0.14780.087270.10980.11670.093940.11240.068090.053730.17990.11340.075780.04883
Transformer diffusion0.049180.066090.13220.13860.073070.039470.030420.061810.11860.16150.091090.09099
Transformer VAE0.085520.1180.16070.18170.089080.068280.050570.043160.070340.047790.062920.09687
Lowest ValueMedianHighest ValueMinimum 0.03042 · Median 0.08639 · Maximum 0.1817

Without History

Histogram-based distribution divergenceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion0.2860.25280.32330.34660.41750.20010.26140.24581.340.91190.69690.6204
RNN VAE0.23530.31610.26030.23710.25110.25170.23770.17760.38630.26740.27850.2389
Transformer diffusion0.18310.30550.42610.38740.94261.1570.26870.2231.8812.3511.5390.8809
Transformer VAE0.32960.31930.33810.30140.20890.26710.18940.2120.17190.16810.1520.1205
Lowest ValueMedianHighest ValueMinimum 0.1205 · Median 0.2736 · Maximum 2.351

Baseline

Histogram-based distribution divergenceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT0.21850.19270.31440.420.27610.29190.51220.23340.29010.22720.25330.2928
N-HiTS0.39310.19291.0861.0390.16751.0956.9492.7010.19930.13756.2092.614
TSMixer0.50550.67380.79130.70660.091050.03050.054830.068030.10840.10020.18250.1638
iTransformer1.5711.4830.96760.90781.341.5861.0781.3671.2730.97130.62640.6418
Lowest ValueMedianHighest ValueMinimum 0.0305 · Median 0.4628 · Maximum 6.949
Raw heatmap values · DTW

Untransformed metric values for the four generative models with and without historical context, and all four baselines. Each group has its own colour scale. Values are shown to four significant figures; hover over a cell for the full workbook value.

With History

Dynamic time-warping distanceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion5.6945.415.0154.94340.6838.8935.6933.89187.7174.6160.8149.8
RNN VAE6.1045.6955.4265.51745.0241.3739.0937.25193177.2163.1155.3
Transformer diffusion5.6535.4755.1094.84641.5137.8934.9134.31182.5163.7153.2147.6
Transformer VAE6.1765.9055.4015.05843.3142.3137.4235.35174.5163.3159.4152
Lowest ValueMedianHighest ValueMinimum 4.846 · Median 38.39 · Maximum 193

Without History

Dynamic time-warping distanceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
RNN diffusion8.4748.3088.328.03272.1269.5568.165.58261.5242.3231.4213.1
RNN VAE8.3478.4958.3838.03169.5169.7866.3166.66240.1229.5217.9212.9
Transformer diffusion8.8049.0588.0928.07175.9770.5167.265.1279.9275.6241.1227.5
Transformer VAE8.2048.0547.977.81467.6765.7264.2665.73236.8227.5221.4213.3
Lowest ValueMedianHighest ValueMinimum 7.814 · Median 67.44 · Maximum 279.9

Baseline

Dynamic time-warping distanceColumns show forecast horizon, then sampling interval.
Model24 hours7 days28 days
30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours30 min1 hour2 hours3 hours
TFT12.5911.9711.5510.930.7438.4540.6337.0222.0242.2678.26103.7
N-HiTS166.959.9772.5381.5751.8345.27108367582.394.7249432378
TSMixer12.1610.1311.929.54231.0240.6743.3540.3522.3244.5885.34108.5
iTransformer12.0711.911.1610.5441.5850.8248.7349.4739.0873.45138.7164.1
Lowest ValueMedianHighest ValueMinimum 9.542 · Median 42.8 · Maximum 4943

Seven error metrics and twelve forecast configurations. Raw results include four generative models with and without history, plus TFT, N-HiTS, TSMixer and iTransformer. Percentage views compare individual error metrics, not overall accuracy scores. The workbook includes the rebuilt comparisons and a raw_results sheet with the displayed source values.

Technical decisions & tools

Implemented the custom generative models and local iTransformer in PyTorch; TFT, N-HiTS and TSMixer used Darts. The workflow used Python, pandas, NumPy and scikit-learn, with training performed locally and on the Katana cluster.

The retained artifacts include model checkpoints, evaluation workbooks and diagnostic plots for all 144 runs. Report conclusions are research findings from this experiment, rather than a claim of deployed forecasting performance.

PythonPyTorchDartspandasNumPyscikit-learnTime-series forecasting