This time, the Weather2K dataset was used for training, and experiments were conducted from different perspectives.
Dataset
The variables in the Weather2K dataset are as follows:
| Numpy Index | Long Name | Short Name | Unit |
|---|
| 0 | Latitude | lat | (°) |
| 1 | Longitude | lon | (°) |
| 2 | Altitude | alt | (m) |
| 3 | Air pressure | ap | hpa |
| 4 | Air Temperature | t | (°C) |
| 5 | Maximum temperature | mxt | (°C) |
| 6 | Minimum temperature | mnt | (°C) |
| 7 | Relative humidity | rh | (%) |
| 8 | Precipitation in 3h | p3 | (mm) |
| 9 | Wind direction | wd | (°) |
| 10 | Wind speed | ws | (ms-1) |
| 11 | Maximum wind direction | mwd | (°) |
| 12 | Maximum wind speed | mws | (ms-1) |
In the following experiments, 500 locations were randomly selected from the dataset, and the data from September 2020 to September 2021 were used as the training and testing periods. Among them, known stations account for 0.95 of all stations, training time points account for 0.9 of all time points, and missing times account for 0.3 of the testing time points.
Experiment 1
This experiment used all 9 variables, and each variable was split over time into 8 separate variables, forming a total of $9 \times 8 = 72$ variables to increase covariance among variables.
In the following experiments, tables labeled as FRK indicate that the following code was applied during training to account for spatial relationships. To ensure autoFRK works smoothly, small random noise was added to the epsilon_theta predictions from SSSD.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| if loc is not None:
temp = epsilon_theta.permute(1, 0, 2)
epsilon_theta_fused = torch.zeros_like(epsilon_theta)
for i in range(temp.shape[0]):
success = False
while not success:
try:
df = temp[i] + 1e-6 * torch.randn_like(temp[i])
frk_model = AutoFRK(device=df.device, dtype=df.dtype)
frk_model.forward(data=df, loc=loc, requires_grad=True)
pred_res = frk_model.predict(newloc=loc)
frk_pred = pred_res['pred.value']
epsilon_theta_fused[:, i, :] = frk_pred
success = True
except Exception as e:
print(f"[Warning] Processing of record {i} failed. Will retry. Error: {e}")
else:
epsilon_theta_fused = epsilon_theta
|
- FRK-3000 indicates that the training applied the above method with 3,000 iterations.
- No-FRK-3000 indicates that
autoFRK was not used during training, with 3,000 iterations.
FRK-3000
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 1.076264e+04 | 9.718320e+03 | 2.074638e+04 | 2.651666e+04 | 2.517610e+04 | 3.013954e+04 | 4.097486e+03 | 3.178491e+03 | 1.677236e+04 |
| RMSPE | 1.037432e+02 | 9.858154e+01 | 1.440361e+02 | 1.628394e+02 | 1.586698e+02 | 1.736074e+02 | 6.401161e+01 | 5.637811e+01 | 1.295081e+02 |
| MSPE% | 4.264463e+12 | 3.355991e+12 | 1.654310e+12 | 1.205811e+13 | 8.965348e+12 | 5.017307e+12 | 9.671504e+11 | 9.828016e+11 | 2.315043e+11 |
| RMSPE% | 2.065058e+06 | 1.831936e+06 | 1.286200e+06 | 3.472479e+06 | 2.994219e+06 | 2.239935e+06 | 9.834381e+05 | 9.913635e+05 | 4.811490e+05 |
| MAPE | 3.594331e+01 | 3.361454e+01 | 5.946985e+01 | 6.423800e+01 | 6.219757e+01 | 7.843039e+01 | 2.397248e+01 | 2.152171e+01 | 5.144809e+01 |
| MAPE% | 1.945626e+11 | 1.457879e+11 | 1.661445e+11 | 4.945142e+11 | 3.543819e+11 | 3.898608e+11 | 6.766003e+10 | 5.753665e+10 | 7.149523e+10 |
No-FRK-3000
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 1.133920e+04 | 9.039191e+03 | 3.470412e+04 | 2.658836e+04 | 2.294857e+04 | 3.913878e+04 | 4.887639e+03 | 3.154452e+03 | 3.282792e+04 |
| RMSPE | 1.064857e+02 | 9.507466e+01 | 1.862904e+02 | 1.630594e+02 | 1.514879e+02 | 1.978352e+02 | 6.991165e+01 | 5.616451e+01 | 1.811848e+02 |
| MSPE% | 5.032590e+12 | 5.385601e+12 | 2.013602e+12 | 1.464198e+13 | 1.582552e+13 | 6.260803e+12 | 9.670808e+11 | 9.687107e+11 | 2.167088e+11 |
| RMSPE% | 2.243344e+06 | 2.320690e+06 | 1.419014e+06 | 3.826484e+06 | 3.978131e+06 | 2.502160e+06 | 9.834027e+05 | 9.842310e+05 | 4.655199e+05 |
| MAPE | 3.660217e+01 | 3.291928e+01 | 7.455091e+01 | 6.447815e+01 | 5.998680e+01 | 8.969546e+01 | 2.480849e+01 | 2.146764e+01 | 6.814359e+01 |
| MAPE% | 2.228934e+11 | 1.742531e+11 | 2.015055e+11 | 5.885326e+11 | 4.585876e+11 | 5.083518e+11 | 6.819993e+10 | 5.395768e+10 | 7.168597e+10 |
No-FRK-18000
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 1.078145e+04 | 8.978216e+03 | 2.185983e+04 | 2.655790e+04 | 2.283698e+04 | 3.292088e+04 | 4.106801e+03 | 3.114891e+03 | 1.718016e+04 |
| RMSPE | 1.038338e+02 | 9.475345e+01 | 1.478507e+02 | 1.629659e+02 | 1.511191e+02 | 1.814411e+02 | 6.408433e+01 | 5.581121e+01 | 1.310731e+02 |
| MSPE% | 5.164828e+12 | 6.281615e+12 | 1.840018e+12 | 1.502257e+13 | 1.817500e+13 | 5.649133e+12 | 9.942465e+11 | 1.249800e+12 | 2.284686e+11 |
| RMSPE% | 2.272626e+06 | 2.506315e+06 | 1.356472e+06 | 3.875896e+06 | 4.263214e+06 | 2.376790e+06 | 9.971191e+05 | 1.117945e+06 | 4.779839e+05 |
| MAPE | 3.592561e+01 | 3.253873e+01 | 6.130469e+01 | 6.400942e+01 | 5.888296e+01 | 8.374264e+01 | 2.404400e+01 | 2.139310e+01 | 5.181171e+01 |
| MAPE% | 2.251511e+11 | 1.839792e+11 | 1.881160e+11 | 5.951222e+11 | 4.823095e+11 | 4.650825e+11 | 6.862479e+10 | 5.776257e+10 | 7.093789e+10 |
Experiment 2
To avoid the lack of covariance among variables in Experiment 1, only the “Temperature” variable was used as a test, split into 8 variables, forming $1 \times 8 = 8$ variables.
FRK-3000
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 15.656456 | 25.636698 | 12.298145 | 29.527326 | 50.617567 | 26.812600 | 9.788011 | 15.067869 | 6.157414 |
| RMSPE | 3.956824 | 5.063270 | 3.506871 | 5.433905 | 7.114602 | 5.178088 | 3.128580 | 3.881735 | 2.481414 |
| MSPE% | 0.815536 | 2.096442 | 0.478885 | 1.695928 | 4.543157 | 1.107658 | 0.443063 | 1.061293 | 0.212866 |
| RMSPE% | 0.903070 | 1.447909 | 0.692016 | 1.302278 | 2.131468 | 1.052453 | 0.665630 | 1.030191 | 0.461374 |
| MAPE | 2.907060 | 3.958203 | 2.576704 | 4.295916 | 6.608307 | 3.859323 | 2.319467 | 2.837005 | 2.034057 |
| MAPE% | 0.142567 | 0.304737 | 0.095069 | 0.236113 | 0.578068 | 0.154524 | 0.102990 | 0.189097 | 0.069915 |
FRK-8500
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 15.788675 | 32.759103 | 13.274970 | 29.187400 | 53.622740 | 29.428655 | 10.119983 | 23.932179 | 6.440719 |
| RMSPE | 3.973497 | 5.723557 | 3.643483 | 5.402536 | 7.322755 | 5.424818 | 3.181192 | 4.892053 | 2.537857 |
| MSPE% | 0.826660 | 2.427207 | 0.521868 | 1.696185 | 4.776695 | 1.220707 | 0.458784 | 1.433193 | 0.226206 |
| RMSPE% | 0.909208 | 1.557950 | 0.722405 | 1.302377 | 2.185565 | 1.104856 | 0.677336 | 1.197160 | 0.475611 |
| MAPE | 2.925629 | 4.468305 | 2.667518 | 4.292945 | 6.760329 | 4.191600 | 2.347149 | 3.498603 | 2.022714 |
| MAPE% | 0.143888 | 0.331044 | 0.099565 | 0.237366 | 0.591619 | 0.168000 | 0.104340 | 0.220801 | 0.070612 |
No-FRK-3000
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 15.866542 | 31.034815 | 12.434181 | 29.704319 | 53.109504 | 32.709909 | 10.012098 | 21.695524 | 3.855988 |
| RMSPE | 3.983283 | 5.570890 | 3.526213 | 5.450167 | 7.287627 | 5.719258 | 3.164190 | 4.657845 | 1.963667 |
| MSPE% | 0.823546 | 2.373133 | 0.494885 | 1.712756 | 4.768769 | 1.348500 | 0.447342 | 1.359595 | 0.133741 |
| RMSPE% | 0.907494 | 1.540498 | 0.703481 | 1.308723 | 2.183751 | 1.161249 | 0.668836 | 1.166017 | 0.365706 |
| MAPE | 2.925740 | 4.581847 | 2.423284 | 4.320630 | 6.783794 | 4.452836 | 2.335594 | 3.650253 | 1.564628 |
| MAPE% | 0.143166 | 0.340465 | 0.090898 | 0.237960 | 0.592639 | 0.177459 | 0.103061 | 0.233776 | 0.054276 |
No-FRK-18000
| Metric | ALL Locs & All Time | Known Locs & All Time | Unknown Locs & All Time | ALL Locs & Future | Known Locs & Future | Unknown Locs & Future | ALL Locs & Past | Known Locs & Past | Unknown Locs & Past |
|---|
| MSPE | 15.208754 | 26.984697 | 13.915524 | 27.842540 | 51.697528 | 26.951997 | 9.863691 | 16.529268 | 8.400094 |
| RMSPE | 3.899840 | 5.194680 | 3.730352 | 5.276603 | 7.190099 | 5.191531 | 3.140651 | 4.065620 | 2.898292 |
| MSPE% | 0.790832 | 2.111285 | 0.541640 | 1.614776 | 4.635421 | 1.114600 | 0.442241 | 1.043382 | 0.299234 |
| RMSPE% | 0.889287 | 1.453026 | 0.735962 | 1.270738 | 2.153003 | 1.055746 | 0.665012 | 1.021461 | 0.547023 |
| MAPE | 2.866063 | 4.288817 | 2.804005 | 4.162084 | 6.655326 | 3.943267 | 2.317746 | 3.287601 | 2.322010 |
| MAPE% | 0.140338 | 0.319313 | 0.103995 | 0.230023 | 0.582043 | 0.157888 | 0.102394 | 0.208157 | 0.081194 |
Experiment 3
This experiment serves as a control to verify whether Experiment 2 is effective. Like Experiment 2, only the “Temperature” variable is used, but it is not split into 8 variables; only a single variable is used in the experiment.
(Experiment in progress)
References
- Zhu X, Xiong Y, Wu M, et al. Weather2K: A Multivariate Spatio-Temporal Benchmark Dataset for Meteorological Forecasting Based on Real-Time Observation Data from Ground Weather Stations[C]//International Conference on Artificial Intelligence and Statistics. PMLR, 2023: 2704-2722.
- Juan Lopez Alcaraz, Nils Strodthoff (2022). Diffusion-based time series imputation and forecasting with structured state space models. Transactions on Machine Learning Research. Retrieved from https://openreview.net/forum?id=hHiIbk7ApW
- SSSD (2022). GitHub. Retrieved from https://github.com/AI4HealthUOL/SSSD