Energy Time-Series Imputation with Differentially Private Diffusion Models via Clipping-Aware Objective Conditioning
Organizations: School of Computer and Big Data, Minjiang University, No. 200 Xiyuangong Road, Fuzhou, 350108, Fujian, China
Abstract
Reliable recovery of missing measurements is important for monitoring and analysis in energy time-series systems, where fine-grained measurements may contain sensitive temporal information. Diffusion models trained with differentially private stochastic gradient descent (DP-SGD) provide a promising framework for privacy-sensitive energy time-series imputation. Under cosine diffusion schedules, late timesteps correspond to low signal-to-noise ratio (SNR) conditions, where standard -prediction can induce large pre-clipping gradients. Such gradients are more likely to be clipped, reducing the retained optimization signal. The artificial intelligence (AI) contribution lies in formulating this objective--clipping interaction as an objective optimization problem under fixed-threshold DP-SGD and developing timestep-aware objective conditioning for diffusion-based energy time-series imputation. The method adopts -prediction to mitigate late-timestep gradient amplification, uses static loss weighting as a uniform-scaling control, and introduces diffusion-schedule-aware dynamic weighting for stronger attenuation before clipping. For the engineering application, we evaluate the method on five real-world energy time-series datasets across random point missingness, contiguous block missingness, persistent outages, and multiple missing-data severities. Under matched DP-SGD settings, the proposed method consistently improves imputation utility over the -prediction baseline. Gradient diagnostics reveal lower upper-tail pre-clipping gradient norms, reduced clipping fractions, and stronger attenuation at late low-SNR timesteps, supporting the effectiveness of clipping-aware objective conditioning for energy time-series imputation.
Figures & tables
| Dataset | Missingness Pattern | MSE | MAE | RMSE | |||
|---|---|---|---|---|---|---|---|
| -pred. | -pred., dynamic | -pred. | -pred., dynamic | -pred. | -pred., dynamic | ||
| ETTh1 | Random Point | 1181.36 | 9.12 | 29.61 | 2.36 | 34.37 | 3.02 |
| Contiguous Block | 867.77 | 27.91 | 22.71 | 4.47 | 29.46 | 5.28 | |
| Persistent Outage | 941.54 | 20.28 | 24.85 | 3.62 | 30.68 | 4.48 | |
| ETTm1 | Random Point | 1173.89 | 8.83 | 30.14 | 1.56 | 34.26 | 2.97 |
| Contiguous Block | 1051.89 | 18.84 | 27.86 | 3.21 | 32.43 | 4.36 | |
| Dataset | Method | Random Point | Contiguous Block | Persistent Outage | |||
|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | -pred. | 1181.36 | 29.61 | 867.77 | 22.71 | 941.54 | 24.85 |
| -pred., unweighted | 21.90 | 3.67 | 29.80 | 4.57 | 21.81 | 3.75 | |
| -pred., static ( ) | 19.86 | 3.69 | 49.30 | 6.13 | 47.03 | 5.83 | |
| -pred., static ( ) | 25.07 | 3.96 | 35.68 | 5.03 | 44.37 | 5.72 | |
| -pred., dynamic | 9.12 | 2.36 | 27.91 | 4.47 | 20.28 | 3.62 | |
| Dataset | -pred. | -pred. | -pred., unweighted |
|---|---|---|---|
| -pred., dynamic | -pred., unweighted | -pred., dynamic | |
| MSE / MAE | MSE / MAE | MSE / MAE | |
| ETTh1 | 3.34 / 2.59 | 97.99 / 86.34 | 31.23 / 17.37 |
| ETTm1 | -6.88 / -5.25 | 97.17 / 84.18 | 50.09 / 34.02 |
| Electricity | 0.57 / 0.56 | 97.76 / 84.77 | 40.63 / 26.09 |
| Dataset | Method | Mean | Median | Grad p95 | Grad p99 | Overall Clipping Fraction |
|---|---|---|---|---|---|---|
| ETTh1 | -pred. | 7.982 | 3.168 | 15.290 | 38.901 | 1.000 |
| -pred., unweighted | 4.526 | 3.043 | 9.660 | 13.836 | 1.000 | |
| -pred., dynamic | 3.683 | 1.943 | 8.233 | 12.730 | 0.944 | |
| ETTm1 | -pred. | 19.284 | 2.558 | 19.233 | 69.501 | 1.000 |
| -pred., unweighted | 5.601 | 2.438 | 12.481 | 21.748 | 1.000 | |
| -pred., dynamic | 4.702 | 2.136 | 10.664 | 18.361 | 0.948 |
| Dataset | Method | 10% | 20% | 30% | 50% |
|---|---|---|---|---|---|
| ETTh1 | -pred. | 24.68 | 28.50 | 25.55 | 25.72 |
| -pred., unweighted | 3.15 | 3.52 | 3.60 | 4.00 | |
| -pred., dynamic | 2.35 | 2.82 | 3.13 | 3.48 | |
| ETTm1 | -pred. | 29.58 | 27.80 | 27.97 | 28.66 |
| -pred., unweighted | 4.22 | 4.55 | 4.67 | 4.59 | |
| -pred., dynamic | 2.37 | 3.11 | 3.32 | 3.11 |
| Dataset | Method | MSE | MAE | ||||
|---|---|---|---|---|---|---|---|
| ETTh1 | -pred. | 785.81 | 981.47 | 885.18 | 22.12 | 25.65 | 23.41 |
| -pred., unweighted | 26.02 | 26.28 | 45.55 | 4.17 | 4.20 | 5.97 | |
| -pred., dynamic | 17.37 | 22.80 | 26.58 | 3.77 | 3.91 | 4.39 | |
| ETTm1 | -pred. | 1005.67 | 1033.41 | 1060.82 | 26.55 | 27.25 | 27.91 |
| -pred., unweighted | 53.06 | 53.41 | 36.31 | 6.67 | 6.52 | 5.16 | |
| Metric | Model | ||||||
|---|---|---|---|---|---|---|---|
| ETTh1 | ETTm1 | Electricity | ETTh1 | ETTm1 | Electricity | ||
| MSE | PatchTST | 3349.51 | 1965.84 | 2514.88 | 3348.61 | 1963.74 | 2516.32 |
| TimesNet | 2271.85 | 1128.46 | 3213.12 | 2273.45 | 1130.65 | 3214.54 | |
| iTransformer | 4344.20 | 2966.35 | 3458.10 | 4341.34 | 2968.12 | 3457.21 | |
| TimeDiT ( -pred.) | 1216.15 | 958.36 | 2597.01 | 1181.36 | 1173.89 | 2415.27 | |
| Ours ( -pred., dynamic) | 16.08 | 36.58 | 17.99 | 9.12 | 8.83 | 32.88 | |
| Dataset | Selected | Selected Learning Rate | Best Validation Loss | Selected Checkpoint Step |
|---|---|---|---|---|
| ETTh1 | 1 | 0.203965 | 87000 | |
| ETTm1 | 1 | 0.217985 | 99000 | |
| Appliances | 1 | 0.180863 | 87000 |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Component | Configuration |
|---|---|
| GPU | NVIDIA A100 80GB PCIe |
| System Memory | 512GB RAM |
| Python Version | 3.12.4 |
| Deep Learning Framework | PyTorch 2.9.0 |
| CUDA Version | 12.8 |
| Component | Configuration |
|---|---|
| Backbone | DiT-style Transformer |
| Number of DiT Blocks | 8 |
| Hidden Dimension | 256 |
| Self-Attention | 8 heads |
| Timestep Embedding | 256-d sinusoidal embedding + MLP |
| Conditioning Mechanism | AdaLN-Zero |
| Hyperparameter | Value |
|---|---|
| Learning Rate | |
| Batch Size | 32 (ETTh1, ETTm1, Household, Appliances) 16 (Electricity) |
| Training Steps | 100,000 |
| Optimizer | AdamW |
| Diffusion Steps ( ) | 1000 |
| Clipping Threshold ( ) | 1.0 |
| Dataset | Method | Metric | Random Point | Contiguous Block | Persistent Outage |
|---|---|---|---|---|---|
| ETTh1 | -pred. | MSE | 1117.24–1235.33 | 826.55–917.09 | 886.24–976.69 |
| MAE | 28.39–30.38 | 21.61–23.61 | 23.90–25.95 | ||
| -pred., unweighted | MSE | 19.80–23.50 | 26.65–31.90 | 20.00–23.51 | |
| MAE | 3.46–3.84 | 4.22–4.94 | 3.50–3.90 | ||
| -pred., static ( ) | MSE | 18.40–21.46 | 44.50–53.00 | 43.50–50.13 | |
| MAE | 3.50–3.87 | 5.60–6.45 | 5.40–6.23 |
| Dataset | Method | Random Point | Contiguous Block | Persistent Outage | |||
|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | -pred. | 1181.36 | 29.61 | 867.77 | 22.71 | 941.54 | 24.85 |
| -pred., unweighted | 21.90 | 3.67 | 29.80 | 4.57 | 21.81 | 3.75 | |
| -pred., static ( ) | 19.86 | 3.69 | 49.30 | 6.13 | 47.03 | 5.83 | |
| -pred., static ( ) | 25.07 | 3.96 | 35.68 | 5.03 | 44.37 | 5.72 | |
| -pred., dynamic | 9.12 | 2.36 | 27.91 | 4.47 | 20.28 | 3.62 | |
| Dataset | Missing Ratio | ||||||
|---|---|---|---|---|---|---|---|
| -pred. | -pred., dynamic | -pred. | -pred., dynamic | -pred. | -pred., dynamic | ||
| ETTh1 | 10% | 24.98 | 5.25 | 26.28 | 3.13 | 24.68 | 2.35 |
| 20% | 28.57 | 6.24 | 27.81 | 4.38 | 28.50 | 2.82 | |
| 30% | 26.89 | 7.66 | 29.51 | 4.38 | 25.55 | 3.13 | |
| 50% | 28.07 | 8.30 | 29.68 | 4.92 | 25.72 | 3.48 | |
| ETTm1 | 10% | 26.23 | 5.04 | 28.55 | 5.08 | 29.58 | 2.37 |
| Dataset | Median Aggregate-Gradient Norm | 95th-Percentile Aggregate-Gradient Norm | Gradient Cosine Similarity | ||
|---|---|---|---|---|---|
| Unweighted | Dynamic | Unweighted | Dynamic | ||
| ETTh1 | 4.748 | 2.123 | 14.099 | 14.066 | 0.774 |
| ETTm1 | 4.417 | 2.516 | 11.427 | 11.189 | 0.822 |
| Appliances | 4.437 | 1.786 | 28.443 | 28.319 | 0.754 |
| Dataset | Timestep Interval | Median Aggregate-Gradient Norm | 95th-Percentile Aggregate-Gradient Norm | Gradient Cosine Similarity | ||
|---|---|---|---|---|---|---|
| Unweighted | Dynamic | Unweighted | Dynamic | |||
| ETTh1 | 0–99 | 4.022 | 3.981 | 5.298 | 5.271 | 1.000 |
| 100–199 | 4.047 | 3.833 | 9.552 | 9.467 | 1.000 | |
| 200–299 | 3.383 | 2.854 | 8.520 | 8.392 | 0.999 | |
| 300–399 | 3.489 | 2.440 | 9.362 | 9.094 | 0.997 | |
| 400–499 | 4.054 | 2.262 | 12.376 | 12.101 | 0.996 | |
Time Series Imputation
Time series imputation reconstructs missing observations in sequential data using temporal, cross-variable, and domain-specific patterns.
See all 58 papers