LagNet: Lag-Structured Operators for Long-Term Time Series Forecasting
Organizations: Harbin Institute of Technology
Abstract
Long-term time series forecasting maps a finite history window to an extended future horizon. Many existing models focus primarily on the design of input representations and model structures, while paying less attention to the structural form of the history-to-future forecasting operator itself. We examine this operator directly and find that, across model families, sensitivity matrices exhibit recurring diagonal patterns whose diagonals correspond to relative temporal lags. Motivated by this observation, we develop a framework for direct multi-step forecasting based on lag-structured temporal operators. Its basic building block, LagLayer, constructs a Toeplitz matrix by tying history-to-future connections with the same relative lag and incorporates horizon-wise and history-wise scaling coefficients to relax exact sharing. This design enables LagLayer to serve as an effective replacement for temporal linear layers in existing forecasting models. Stacking LagLayer modules with activations and multiple feature maps yields LagNet. Experiments on long-term time series forecasting benchmarks show that our method is competitive with strong baselines, while sensitivity matrix diagnostics and limited-data experiments demonstrate that LagLayer provides an effective and sample-efficient alternative to a linear layer.
Figures & tables
| Operator | Element form | Parameters |
|---|---|---|
| Linear | ||
| Lag-structured matrix | ||
| Horizon scale only | ||
| History scale only | ||
| LagLayer |
| Baselines | Proposed | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dataset | DLinear (2023) | PatchTST (2023) | iTransformer (2024) | TimeMixer (2024) | TimeKAN (2025) | LagLayer (ours) | LagNet (ours) | Lag-Time Mixer (ours) | Lag-Time KAN (ours) | |||||||||
| MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | |
| ETTh1 | 0.463 | 0.458 | 0.516 | 0.484 | 0.454 | 0.448 | 0.464 | 0.448 | 0.422 | 0.429 | 0.449 | 0.435 | 0.461 | 0.443 | 0.459 | 0.444 | 0.421 | 0.428 |
| ETTh2 | 0.512 | 0.491 | 0.391 | 0.412 | 0.383 | 0.407 | 0.376 | 0.404 | 0.376 | 0.401 | 0.378 | 0.399 | 0.384 | 0.408 | 0.373 | 0.401 | 0.386 | 0.409 |
| ETTm1 | 0.405 | 0.409 | 0.406 | 0.408 | 0.407 | 0.410 | 0.384 | 0.398 | 0.381 | 0.399 | 0.410 | 0.404 | 0.388 | 0.402 | 0.383 | 0.397 | 0.387 | 0.402 |
| ETTm2 | 0.321 | 0.371 | 0.290 | 0.334 | 0.288 | 0.332 | 0.279 | 0.325 | 0.284 | 0.329 | 0.285 | 0.326 | 0.281 | 0.325 | 0.277 | 0.324 | 0.292 | 0.339 |
| DLinear DLagLayer | TimeMixer Lag-TimeMixer | TimeKAN Lag-TimeKAN | ||||
|---|---|---|---|---|---|---|
| Dataset | MSE (%) | Params | MSE (%) | Params | MSE (%) | Params |
| ETT (Avg.) | 65.2K 2.4K | 120.1K 62.7K | 41.5K 10.1K | |||
| Weather | 65.2K 2.4K | 119.7K 62.3K | 41.2K 9.8K | |||
| Solar | 65.2K 2.4K | 2.37M 2.25M | 45.1K 13.8K | |||
| Electricity | 65.2K 2.4K | 122.1K 64.7K | 46.6K 15.2K | |||
| Traffic | 65.2K 2.4K | 132.8K 75.4K | 50.9K 19.6K | |||
| Dataset | Model | 1% | 5% | 20% | 50% | 100% | Avg. |
|---|---|---|---|---|---|---|---|
| ETT (Avg.) | Linear | 0.432 | 0.399 | 0.385 | 0.383 | 0.381 | 0.396 |
| LagLayer | 0.401 | 0.392 | 0.386 | 0.386 | 0.385 | 0.390 | |
| LagNet | 0.401 | 0.386 | 0.389 | 0.385 | 0.385 | 0.389 | |
| Weather | Linear | 0.287 | 0.275 | 0.273 | 0.272 | 0.272 | 0.276 |
| LagLayer | 0.285 | 0.277 | 0.274 | 0.273 | 0.272 | 0.276 | |
| LagNet | 0.281 | 0.276 | 0.270 | 0.265 | 0.265 | 0.271 |
| Dataset | Unscaled | Horizon Only | History Only | LagLayer | LagNet |
|---|---|---|---|---|---|
| ETT (Avg.) | 0.390 | 0.389 | 0.386 | 0.385 | 0.381 |
| Weather | 0.284 | 0.279 | 0.274 | 0.273 | 0.267 |
| Solar | 0.542 | 0.440 | 0.457 | 0.371 | 0.256 |
| Electricity | 0.229 | 0.223 | 0.224 | 0.219 | 0.191 |
| Traffic | 0.681 | 0.642 | 0.652 | 0.634 | 0.460 |
| (a) Depth ( ) | ||||
|---|---|---|---|---|
| Dataset | ||||
| Solar | 0.298 | 0.266 | 0.256 | 0.260 |
| Electricity | 0.208 | 0.201 | 0.194 | 0.194 |
| Traffic | 0.523 | 0.481 | 0.470 | 0.464 |
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Dataset | Variates | Frequency | Total points | Train | Validation | Test |
|---|---|---|---|---|---|---|
| ETTh1, ETTh2 | 7 | 1 hour | 17,420 | 8,640 | 2,880 | 2,880 |
| ETTm1, ETTm2 | 7 | 15 minutes | 69,680 | 34,560 | 11,520 | 11,520 |
| Weather | 21 | 10 minutes | 52,696 | 36,887 | 5,270 | 10,539 |
| Solar | 137 | 10 minutes | 52,560 | 36,792 | 5,256 | 10,512 |
| Electricity | 321 | 1 hour | 26,304 | 18,412 | 2,632 | 5,260 |
| Traffic | 862 | 1 hour | 17,544 | 12,280 | 1,756 | 3,508 |
| Dataset | Temporal operator | Batch size | LagLayer | LagNet | Adaptive scales |
|---|---|---|---|---|---|
| ETTh1 | Shared | 256 | Both | ||
| ETTh2 | Shared | 64 | Both | ||
| ETTm1 | Per-variable | 256 | Both | ||
| ETTm2 | Per-variable | 64 | Both | ||
| Weather | Per-variable | 16 | Both | ||
| Solar | Shared | 64 | Both |
| Dataset | Batch size | Epochs | Patience | Individual | ||||
|---|---|---|---|---|---|---|---|---|
| ETTh1 | 32 | 10 | 3 | No | ||||
| ETTh2 | 32 | 10 | 3 | No | ||||
| ETTm1 | 8 | 10 | 3 | No | ||||
| ETTm2 | 32 | 10 | 3 | No | ||||
| Weather | 16 | 10 | 3 | No | ||||
| Solar | 16 | 10 | 3 | No |
| Dataset | PDM blocks | Batch size | Epochs | Patience | Channel independent | Normalize | |||
|---|---|---|---|---|---|---|---|---|---|
| ETTh1 | 3 | 2 | 16 | 32 | 128 | 10 | 10 | Yes | Yes |
| ETTh2 | 3 | 2 | 16 | 32 | 128 | 10 | 10 | Yes | Yes |
| ETTm1 | 3 | 2 | 16 | 32 | 128 | 10 | 10 | Yes | Yes |
| ETTm2 | 3 | 2 | 32 | 32 | 128 | 10 | 10 | Yes | Yes |
| Weather | 3 | 2 | 16 | 32 | 128 | 20 | 10 | Yes | Yes |
| Solar | 3 | 2 | 128 | 2048 | 32 | 20 | 3 | No | No |
| Dataset | Batch size | Epochs | Patience | ||||
|---|---|---|---|---|---|---|---|
| ETTh1 | 128 | 10 | 10 | ||||
| ETTh2 | 128 | 10 | 10 | ||||
| ETTm1 | 128 | 10 | 10 | ||||
| ETTm2 | 128 | 10 | 10 | ||||
| Weather | 128 | 20 | 10 | ||||
| Solar | 32 | 20 | 3 |
| Dataset | iTransformer | DLinear | PatchTST | TimeMixer | TimeKAN | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | 96 | 0.386 | 0.405 | 0.390 | 0.404 | 0.460 | 0.447 | 0.380 | 0.401 | 0.370 | 0.397 |
| 192 | 0.441 | 0.436 | 0.448 | 0.443 | 0.512 | 0.477 | 0.446 | 0.434 | 0.416 | 0.421 | |
| 336 | 0.487 | 0.458 | 0.499 | 0.475 | 0.546 | 0.496 | 0.490 | 0.455 | 0.446 | 0.437 | |
| 720 | 0.503 | 0.491 | 0.515 | 0.509 | 0.544 | 0.517 | 0.538 | 0.500 | 0.456 | 0.460 | |
| ETTh2 | 96 | 0.297 | 0.349 | 0.374 | 0.410 | 0.308 | 0.355 | 0.297 | 0.348 | 0.296 | 0.345 |
| Dataset | iTransformer | DLinear | PatchTST | TimeMixer | TimeKAN | |
|---|---|---|---|---|---|---|
| ETTh1 | 96 | 841.6K | 18.6K | 35.2K | 75.4K | 12.8K |
| 192 | 866.2K | 37.2K | 53.7K | 93.1K | 20.5K | |
| 336 | 3.38M | 65.2K | 81.5K | 119.6K | 36.1K | |
| 720 | 3.58M | 139.7K | 155.6K | 190.2K | 77.6K | |
| ETTh2 | 96 | 224.2K | 18.6K | 35.2K | 75.4K | 15.0K |
| 192 | 236.6K | 37.2K | 53.7K | 93.1K | 19.6K |
| Dataset | DLinear | DLagLayer | |||||
|---|---|---|---|---|---|---|---|
| Params | MSE | MAE | Params | MSE | MAE | ||
| ETTh1 | 96 | 18.6K | 0.382 | 0.393 | 958 | 0.392 | 0.407 |
| 192 | 37.2K | 0.438 | 0.430 | 1.5K | 0.434 | 0.428 | |
| 336 | 65.2K | 0.513 | 0.488 | 2.4K | 0.482 | 0.457 | |
| 720 | 139.7K | 0.507 | 0.502 | 4.7K | 0.505 | 0.501 | |
| ETTh2 | 96 | 18.6K | 0.470 | 0.474 | 958 | 0.317 | 0.375 |
| Dataset | TimeMixer | Lag-TimeMixer | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Params | Runs | MSE | MAE | Params | Runs | MSE | MAE | ||
| ETTh1 | 96 | 75.4K | 5/5 | 0.380 0.008 | 0.401 0.002 | 59.3K | 5/5 | 0.378 0.007 | 0.397 0.004 |
| 192 | 93.1K | 5/5 | 0.446 0.006 | 0.434 0.003 | 60.4K | 5/5 | 0.435 0.006 | 0.428 0.002 | |
| 336 | 119.6K | 5/5 | 0.490 0.010 | 0.455 0.009 | 62.2K | 5/5 | 0.484 0.013 | 0.448 0.007 | |
| 720 | 190.2K | 5/5 | 0.538 0.026 | 0.500 0.015 | 66.8K | 5/5 | 0.539 0.046 | 0.501 0.023 | |
| ETTh2 | 96 | 75.4K | 5/5 | 0.297 0.002 | 0.348 0.002 | 59.3K | 5/5 | 0.295 0.004 | 0.346 0.004 |
| Dataset | TimeKAN | Lag-TimeKAN | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Params | Runs | MSE | MAE | Params | Runs | MSE | MAE | ||
| ETTh1 | 96 | 12.8K | 5/5 | 0.370 0.001 | 0.397 0.001 | 4.0K | 5/5 | 0.367 0.003 | 0.395 0.002 |
| 192 | 20.5K | 5/5 | 0.416 0.002 | 0.421 0.001 | 2.7K | 5/5 | 0.420 0.006 | 0.422 0.002 | |
| 336 | 36.1K | 5/5 | 0.446 0.003 | 0.437 0.001 | 4.7K | 5/5 | 0.443 0.004 | 0.438 0.002 | |
| 720 | 77.6K | 5/5 | 0.456 0.006 | 0.460 0.007 | 10.1K | 5/5 | 0.456 0.014 | 0.455 0.007 | |
| ETTh2 | 96 | 15.0K | 5/5 | 0.296 0.005 | 0.345 0.004 | 6.2K | 5/5 | 0.306 0.005 | 0.356 0.004 |
| Dataset | LagLayer | LagNet | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Params | Runs | MSE | MAE | Params | Runs | MSE | MAE | ||
| ETTh1 | 96 | 479 | 5/5 | 0.390 0.001 | 0.396 0.001 | 3.5K | 5/5 | 0.389 0.002 | 0.402 0.002 |
| 192 | 767 | 5/5 | 0.440 0.001 | 0.425 0.000 | 6.3K | 5/5 | 0.438 0.004 | 0.430 0.002 | |
| 336 | 1.2K | 5/5 | 0.483 0.001 | 0.447 0.000 | 10.5K | 5/5 | 0.487 0.005 | 0.448 0.002 | |
| 720 | 2.4K | 5/5 | 0.482 0.000 | 0.470 0.000 | 21.6K | 5/5 | 0.531 0.020 | 0.493 0.009 | |
| ETTh2 | 96 | 479 | 5/5 | 0.295 0.002 | 0.341 0.001 | 3.5K | 5/5 | 0.301 0.009 | 0.348 0.006 |
| Variant | Relative-lag sharing | Row scale | Column scale | Nonlinear depth | Extra modules | Diagnostic |
|---|---|---|---|---|---|---|
| Linear | No | No | No | No | No | free matrix |
| LagLayer w/o Scaling | Yes | No | No | No | No | lag sharing |
| LagLayer w/o History Scale | Yes | Yes | No | No | No | row adaptation |
| LagLayer w/o Horizon Scale | Yes | No | Yes | No | No | column adaptation |
| LagLayer | Yes | Yes | Yes | No | No | row/column adaptation |
| LagNet capacity diagnostic | Yes | No | No | Yes | No | nonlinear responses |
| Dataset | Linear | w/o Scaling | w/o History Scale | w/o Horizon Scale | LagLayer | LagNet | |
|---|---|---|---|---|---|---|---|
| ETTh1 | 96 | 0.387/0.394 | 0.393/0.397 | 0.391/0.395 | 0.393/0.398 | 0.392/0.397 | 0.389/0.401 |
| 192 | 0.438/0.424 | 0.439/0.424 | 0.438/0.423 | 0.440/0.425 | 0.440/0.424 | 0.441/0.434 | |
| 336 | 0.482/0.447 | 0.482/0.446 | 0.482/0.445 | 0.482/0.447 | 0.482/0.447 | 0.491/0.456 | |
| 720 | 0.482/0.471 | 0.480/0.469 | 0.480/0.469 | 0.481/0.471 | 0.482/0.470 | 0.498/0.477 | |
| ETTh2 | 96 | 0.290/0.338 | 0.304/0.345 | 0.303/0.344 | 0.294/0.341 | 0.294/0.340 | 0.301/0.345 |
| 192 | 0.376/0.391 | 0.389/0.396 | 0.388/0.395 | 0.378/0.391 | 0.377/0.391 | 0.369/0.390 |
| Dataset Model 1% 5% 20% 50% 100% ETTh1 96 Linear 0.490 0.419 0.394 0.391 0.386 LagLayer 0.421 0.399 0.391 0.394 0.391 LagNet 0.429 0.404 0.391 0.385 0.388 192 Linear 0.546 0.468 0.446 0.440 0.441 LagLayer 0.474 0.447 0.441 0.441 0.441 LagNet 0.455 0.444 0.442 0.436 0.432 336 Linear 0.579 0.509 0.487 0.483 0.482 LagLayer 0.508 0.486 0.481 0.485 0.486 LagNet 0.516 0.481 0.502 0.489 0.498 720 Linear 0.571 0.513 0.486 0.486 0.482 LagLayer 0.489 0.479 0.479 0.485 0.482 LagNet 0.496 0.480 0.569 0.569 0.567 ETTh2 96 Linear 0.362 0.313 0.297 0.292 0.292 LagLayer 0.321 0.307 0.302 0.296 0.292 LagNet 0.350 0.299 0.295 0.296 0.314 192 Linear 0.439 0.401 0.387 0.378 0.375 LagLayer 0.403 0.391 0.384 0.378 0.377 LagNet 0.401 0.376 0.373 0.363 0.364 336 Linear 0.463 0.436 0.426 0.423 0.416 LagLayer 0.430 0.423 0.420 0.416 0.416 LagNet 0.427 0.419 0.415 0.424 0.424 720 Linear 0.471 0.458 0.428 0.427 0.423 LagLayer 0.428 0.432 0.420 0.423 0.421 LagNet 0.452 0.478 0.458 0.457 0.441 Weather 96 Linear 0.212 0.198 0.195 0.192 0.194 LagLayer 0.211 0.201 0.195 0.196 0.194 LagNet 0.205 0.199 0.192 0.184 0.184 192 Linear 0.254 0.243 0.239 0.241 0.239 LagLayer 0.253 0.247 0.243 0.240 0.240 LagNet 0.246 0.243 0.241 0.235 0.231 336 Linear 0.306 0.294 0.292 0.291 0.291 LagLayer 0.303 0.295 0.292 0.292 0.291 LagNet 0.300 0.295 0.288 0.285 0.286 720 Linear 0.377 0.367 0.364 0.365 0.365 LagLayer 0.373 0.366 0.364 0.363 0.364 LagNet 0.371 0.367 0.360 0.357 0.356 Solar 96 Linear 0.393 0.336 0.312 0.308 0.305 LagLayer 0.508 0.396 0.344 0.327 0.322 LagNet 0.273 0.254 0.241 0.225 0.214 192 Linear 0.426 0.373 0.352 0.345 0.343 LagLayer 0.546 0.435 0.382 0.365 0.357 LagNet 0.314 0.298 0.259 0.257 0.242 336 Linear 0.453 0.409 0.393 0.389 0.386 LagLayer 0.561 0.468 0.416 0.401 0.395 LagNet 0.324 0.294 0.286 0.295 0.260 720 Linear 0.452 0.408 0.394 0.391 0.388 LagLayer 0.545 0.476 0.413 0.401 0.399 LagNet 0.324 0.310 0.291 0.267 0.269 | Dataset Model 1% 5% 20% 50% 100% ETTm1 96 Linear 0.395 0.364 0.352 0.349 0.356 LagLayer 0.398 0.380 0.366 0.368 0.368 LagNet 0.376 0.345 0.344 0.335 0.342 192 Linear 0.421 0.396 0.392 0.393 0.391 LagLayer 0.419 0.411 0.405 0.402 0.404 LagNet 0.397 0.385 0.394 0.375 0.380 336 Linear 0.452 0.432 0.428 0.424 0.423 LagLayer 0.442 0.435 0.434 0.433 0.434 LagNet 0.436 0.414 0.416 0.408 0.409 720 Linear 0.512 0.495 0.488 0.487 0.487 LagLayer 0.498 0.496 0.495 0.494 0.496 LagNet 0.494 0.493 0.469 0.480 0.469 ETTm2 96 Linear 0.202 0.190 0.183 0.182 0.181 LagLayer 0.195 0.192 0.184 0.186 0.182 LagNet 0.199 0.192 0.184 0.184 0.181 192 Linear 0.265 0.253 0.248 0.246 0.247 LagLayer 0.259 0.254 0.250 0.248 0.248 LagNet 0.254 0.249 0.249 0.246 0.243 336 Linear 0.324 0.315 0.309 0.308 0.308 LagLayer 0.316 0.316 0.313 0.316 0.314 LagNet 0.314 0.314 0.308 0.309 0.302 720 Linear 0.422 0.416 0.410 0.410 0.408 LagLayer 0.417 0.413 0.412 0.413 0.411 LagNet 0.415 0.404 0.407 0.406 0.402 Electricity 96 Linear 0.293 0.220 0.200 0.198 0.198 LagLayer 0.248 0.213 0.204 0.203 0.203 LagNet 0.217 0.188 0.176 0.171 0.167 192 Linear 0.293 0.220 0.200 0.198 0.198 LagLayer 0.251 0.212 0.203 0.201 0.201 LagNet 0.209 0.191 0.181 0.177 0.174 336 Linear 0.306 0.235 0.215 0.212 0.212 LagLayer 0.266 0.226 0.217 0.215 0.215 LagNet 0.223 0.208 0.197 0.192 0.189 720 Linear 0.345 0.276 0.256 0.254 0.254 LagLayer 0.307 0.269 0.259 0.257 0.257 LagNet 0.293 0.250 0.244 0.234 0.233 Traffic 96 Linear 0.949 0.720 0.655 0.647 0.645 LagLayer 0.801 0.702 0.666 0.656 0.653 LagNet 0.633 0.502 0.461 0.451 0.442 192 Linear 0.940 0.675 0.607 0.600 0.599 LagLayer 0.776 0.650 0.619 0.608 0.607 LagNet 0.581 0.491 0.462 0.450 0.440 336 Linear 0.936 0.680 0.616 0.607 0.606 LagLayer 0.777 0.661 0.632 0.618 0.616 LagNet 0.573 0.498 0.478 0.459 0.457 720 Linear 0.968 0.728 0.653 0.645 0.644 LagLayer 0.805 0.708 0.671 0.656 0.654 LagNet 0.639 0.531 0.507 0.501 0.489 |
Long-Term Time Series Forecasting
Long-term time series forecasting predicts distant future values from historical sequences in domains such as energy, weather, traffic, and health.
See all 115 papers