DiffPTS: Rethinking Diffusion ELBO for Probabilistic Time Series Forecasting
Organizations: The University of Tokyo · Harbin Institute of Technology, Shenzhen
Abstract
Probabilistic time series forecasting requires modeling and predicting complex and time-varying distributions. Recently, Denoising Diffusion Probabilistic Model (DDPM)-based approaches have shown promise by equipping the dif- fusion process with pretrained mean and variance estimators to accommodate distributional shift. However, these methods typically follow the standard DDPM framework and consider only partial components of the evidence lower bound (ELBO), treating the training of estimators as designed regression tasks separate from the variational inference framework. To address this, we rethink the ELBO under the Location-Scale Noise Model (LSNM) and find that it naturally induces a Gaussian negative log likelihood objective for the estimators and inherently defines a joint training objective that unifies recent diffusion paradigms for probabilistic forecasting. Building on this principled ELBO reformulation, we propose Diff- PTS, a general framework that enables end-to-end optimization of all components within the ELBO. Across multiple benchmarks, DiffPTS consistently outperforms recent models, achieving state-of-the-art performance with an average CRPS/MSE reduction of over 14.53%/16.55% compared to existing diffusion-based methods. The code is available at https://github.com/wwy155/DiffPTS.
Figures & tables
| Models | Target | Endpoint | Objectives |
| DDPM ( [ 12 ] , [ 13 ] , [ 14 ] ) | |||
| TMDM [ 33 ] | |||
| D3U [ 16 ] | |||
| RDIT [ 17 ] | |||
| NsDiff [ 8 ] | |||
| Models | Datasets | ETTh1 | ETTh2 | ETTm1 | ETTm2 | ECL | EXG | ILI | Solar | Traffic |
|---|---|---|---|---|---|---|---|---|---|---|
| TimeGrad | CRPS | 0.606 | 1.212 | 0.647 | 0.775 | 0.397 | 0.826 | 1.140 | 0.293 | 0.407 |
| (2021) | MSE | 1.062 | 3.462 | 1.218 | 1.690 | 0.505 | 1.567 | 4.197 | 0.475 | 0.983 |
| CSDI | CRPS | 0.492 | 0.647 | 0.524 | 0.817 | 0.577 | 0.855 | 1.244 | 0.432 | 1.418 |
| (2022) | MSE | 0.949 | 1.226 | 1.002 | 1.723 | 1.007 | 1.701 | 4.515 | 0.763 | 1.731 |
| TimeDiff | CRPS | 0.465 | 0.471 | 0.464 | 0.316 | 0.750 | 0.433 | 1.153 | 0.700 | 0.771 |
| (2023) | MSE | 0.517 | 0.456 | 0.537 | 0.268 | 0.879 | 0.402 | 3.958 | 0.821 | 1.350 |
| Models | Datasets | ETTh1 | ETTh2 | ETTm1 | ETTm2 | ECL | EXG | ILI | Solar | Traffic |
|---|---|---|---|---|---|---|---|---|---|---|
| DiffPTS | CRPS | 0.374 | 0.355 | 0.329 | 0.254 | 0.218 | 0.275 | 0.731 | 0.173 | 0.270 |
| MSE | 0.507 | 0.452 | 0.424 | 0.242 | 0.180 | 0.242 | 2.636 | 0.179 | 0.456 | |
| w/o NLL | CRPS | 0.553 | 0.943 | 0.540 | 0.813 | 0.544 | 0.944 | 1.409 | 0.494 | 0.540 |
| MSE | 1.125 | 3.178 | 1.101 | 2.527 | 1.050 | 3.231 | 6.493 | 0.781 | 1.431 | |
| w/o NLL | CRPS | 0.416 | 0.407 | 0.330 | 0.279 | 0.389 | 0.356 | 0.800 | 0.324 | 0.428 |
| MSE | 0.631 | 0.538 | 0.446 | 0.294 | 0.361 | 0.312 | 2.657 | 0.211 | 0.653 |
| Models | NsDiff | +DiffPTS | RDIT | +DiffPTS | D3U | +DiffPTS | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Datasets | CRPS | MSE | CRPS | MSE | CRPS | MSE | CRPS | MSE | CRPS | MSE | CRPS | MSE |
| ETTh1 | 0.392 | 0.594 | 0.364 | 0.576 | 0.410 | 0.570 | 0.338 | 0.458 | 0.447 | 0.684 | 0.349 | 0.467 |
| ETTh2 | 0.358 | 0.514 | 0.355 | 0.495 | 0.380 | 0.463 | 0.363 | 0.441 | 0.385 | 0.520 | 0.331 | 0.369 |
| ETTm1 | 0.346 | 0.488 | 0.339 | 0.472 | 0.336 | 0.504 | 0.320 | 0.375 | 0.412 | 0.589 | 0.290 | 0.357 |
| ETTm2 | 0.256 | 0.281 | 0.254 | 0.278 | 0.258 | 0.292 | 0.245 | 0.216 | 0.282 | 0.286 | 0.242 | 0.231 |
Appendix figures & tables15 assets
Supplementary material from the paper’s appendix.
Appendix
| Models | Datasets | ETTh1 | ETTh2 | ETTm1 | ETTm2 | ECL | EXG | ILI | Solar | Traffic |
|---|---|---|---|---|---|---|---|---|---|---|
| TimeGrad | CRPS | 0.606 | 1.212 | 0.647 | 0.775 | 0.397 | 0.826 | 1.140 | 0.293 | 0.407 |
| (2021) | QICE | 6.731 | 9.488 | 6.693 | 6.962 | 7.118 | 9.464 | 6.519 | 7.378 | 4.581 |
| CSDI | CRPS | 0.492 | 0.647 | 0.524 | 0.817 | 0.577 | 0.855 | 1.244 | 0.432 | 1.418 |
| (2022) | QICE | 3.107 | 5.331 | 2.828 | 8.106 | 7.506 | 7.864 | 7.693 | 9.957 | 13.613 |
| TimeDiff | CRPS | 0.465 | 0.471 | 0.464 | 0.316 | 0.750 | 0.433 | 1.153 | 0.700 | 0.771 |
| (2023) | QICE | 14.931 | 14.813 | 14.795 | 13.385 | 15.466 | 14.556 | 14.942 | 14.914 | 15.439 |
| Models | Datasets | ETTh1 | ETTh2 | ETTm1 | ETTm2 | ECL | EXG | ILI | Solar | Traffic |
|---|---|---|---|---|---|---|---|---|---|---|
| TimeGrad | MAE | 0.813 | 1.496 | 0.831 | 0.967 | 0.504 | 1.058 | 1.414 | 0.446 | 0.535 |
| (2021) | MSE | 1.062 | 3.462 | 1.218 | 1.690 | 0.505 | 1.567 | 4.197 | 0.475 | 0.983 |
| CSDI | MAE | 0.708 | 0.900 | 0.752 | 1.069 | 0.822 | 1.081 | 1.481 | 0.675 | 0.925 |
| (2022) | MSE | 0.949 | 1.226 | 1.002 | 1.723 | 1.007 | 1.701 | 4.515 | 0.763 | 1.731 |
| TimeDiff | MAE | 0.479 | 0.485 | 0.477 | 0.333 | 0.764 | 0.446 | 1.169 | 0.713 | 0.784 |
| (2023) | MSE | 0.517 | 0.456 | 0.537 | 0.268 | 0.879 | 0.402 | 3.958 | 0.821 | 1.350 |
| Variants | Datasets | ETTh1 | ETTh2 | ETTm1 | ETTm2 | - |
|---|---|---|---|---|---|---|
| DiffPTS | CRPS | 0.374±0.009 | 0.355±0.007 | 0.329±0.005 | 0.254±0.007 | - |
| MSE | 0.507±0.033 | 0.452±0.021 | 0.424±0.007 | 0.242±0.031 | - | |
| w/o NLL | CRPS | 0.553±0.036 | 0.943±0.013 | 0.540±0.003 | 0.813±0.007 | - |
| MSE | 1.125±0.003 | 3.178±0.053 | 1.101±0.007 | 2.527±0.057 | - | |
| w/o NLL | CRPS | 0.416±0.021 | 0.407±0.019 | 0.330±0.008 | 0.279±0.002 | - |
| MSE | 0.631±0.066 | 0.538±0.054 | 0.446±0.021 | 0.294±0.007 | - |
| Models | Datasets | ETTh1 | ETTh2 | ETTm1 | ETTm2 | ECL | EXG | ILI | Solar | Traffic |
|---|---|---|---|---|---|---|---|---|---|---|
| TMDM | CRPS | 0.452 | 0.383 | 0.375 | 0.289 | 0.461 | 0.336 | 0.967 | 0.350 | 0.557 |
| (2024) | MSE | 0.696 | 0.512 | 0.494 | 0.315 | 0.257 | 0.334 | 3.636 | 0.250 | 0.679 |
| +DiffPTS | CRPS | 0.419 | 0.380 | 0.343 | 0.284 | 0.358 | 0.335 | 0.823 | 0.306 | 0.432 |
| (Ours) | MSE | 0.628 | 0.508 | 0.476 | 0.320 | 0.214 | 0.333 | 2.976 | 0.217 | 0.637 |
| D3U | CRPS | 0.447 | 0.385 | 0.412 | 0.282 | 0.439 | 0.354 | 2.097 | 0.488 | 0.507 |
| (2025) | MSE | 0.684 | 0.520 | 0.589 | 0.286 | 0.440 | 0.269 | 9.951 | 0.644 | 0.907 |
| Memory | Average Epoch Time | Training Strategy | CRPS | MSE | |
|---|---|---|---|---|---|
| TMDM | 906MB | 162.74ms | pretraining+DDPM | 0.452 | 0.696 |
| +DiffPTS | 914MB | 76.61ms | joint optimization | 0.419 | 0.628 |
| D3U | 675MB | 130.40ms | pretraining+DDPM | 0.447 | 0.684 |
| +DiffPTS | 683MB | 54.78ms | joint optimization | 0.349 | 0.467 |
| RDIT | 490MB | 105.75ms | pretraining+DDPM | 0.410 | 0.570 |
| +DiffPTS | 498MB | 47.66ms | joint optimization | 0.338 | 0.458 |
| Model | Training | Mean estimator | Variance estimator | Noise schedule |
|---|---|---|---|---|
| DiffPTS (Table 2 ) | Joint ELBO | NS-Transformer | MLP (NLL) | Standard linear |
| NsDiff | Two-phase | NS-Transformer | MLP (sliding-window target) | Uncertainty-aware |
| NsDiff+DiffPTS | Joint ELBO | NS-Transformer | MLP (NLL) | Standard linear |
| RDIT | Two-phase | Mamba [ 54 ] | Fixed training residual | Standard linear |
| RDIT+DiffPTS | Joint ELBO | Mamba [ 54 ] | MLP (NLL) | Standard linear |
| D3U | Two-phase | Patch-based | None (implicit ) | Standard linear |
| Training | ETTh1 | ETTm1 |
|---|---|---|
| Two-phase (pretrain, then freeze and ) | 0.404 / 0.647 | 0.331 / 0.453 |
| Joint ELBO (DiffPTS) | 0.374 / 0.507 | 0.329 / 0.424 |
| Group | Dataset | Mean / variance shift | TMDM | D3U | RDIT | NsDiff |
|---|---|---|---|---|---|---|
| Non-stationary | Traffic | 1.59 / 35.4 | 22.4% | 46.9% | 41.6% | 27.2% |
| EXG | 1.45 / 0.98 | 0.3% | 8.2% | 25.5% | 15.1% | |
| ILI | 1.02 / 1.18 | 14.9% | 63.7% | 4.5% | 5.6% | |
| ECL | 0.89 / 1.26 | 22.3% | 49.4% | 36.2% | 24.8% | |
| ETTm2 | 1.03 / 1.00 | 1.7% | 14.2% | 5.0% | 0.8% | |
| Average | – | 12.3% | 36.5% | 22.6% | 14.7% |
| Objective | ETTh1 | ETTm1 | EXG |
|---|---|---|---|
| Exact-weighted ELBO ( , ) | 0.406 / 0.629 | 0.330 / 0.455 | 0.281 / 0.275 |
| Simplified weighting (DiffPTS) | 0.374 / 0.507 | 0.329 / 0.424 | 0.275 / 0.242 |
| Statistic | ETTh1 | ETTm1 |
|---|---|---|
| Learned , minimum | ||
| Learned , median | 0.11 | 0.10 |
| Learned , maximum | 4.0 | 2.9 |
| Sliding-window target, minimum | ||
| Gaussian NLL with the sliding-window target | 0.32 |
| Dataset | ||||
|---|---|---|---|---|
| ETTh1 | 0.387 | 0.377 | 0.432 | 0.552 |
| ECL | 0.232 | 0.218 | 0.259 | 0.498 |
| ETTm2 | 0.284 | 0.274 | 0.353 | 0.554 |
| EXG | 0.307 | 0.275 | 0.320 | 0.639 |
| Sampler | ETTm1 | ETTh1 |
|---|---|---|
| Ancestral, (Algorithm 2 ) | 0.333 / 1.31s | 0.422 / 0.68s |
| DPM-Solver, 10 steps | 0.340 / 0.85s | 0.436 / 0.64s |
| DPM-Solver, 5 steps | 0.340 / 0.61s | 0.436 / 0.32s |
| Parameterization | ETTh1 | ETTm2 |
|---|---|---|
| -prediction | 0.513 / 0.778 | 0.314 / 0.341 |
| -prediction (DiffPTS) | 0.374 / 0.507 | 0.254 / 0.242 |