FreqCycle: A Multi-Scale Time-Frequency Analysis Method for Time Series Forecasting
Organizations: Shanghai Jiao Tong University, Shanghai, China
Abstract
Mining time-frequency features is critical for time series forecasting. Existing research has predominantly focused on modeling low-frequency patterns, where most time series energy is concentrated. The overlooking of mid to high frequency continues to limit further performance gains in deep learning models. We propose FreqCycle, a novel framework integrating: (i) a Filter-Enhanced Cycle Forecasting (FECF) module to extract low-frequency features by explicitly learning shared periodic patterns in the time domain, and (ii) a Segmented Frequency-domain Pattern Learning (SFPL) module to enhance mid to high frequency energy proportion via learnable filters and adaptive weighting. Furthermore, time series data often exhibit coupled multi-periodicity, such as intertwined weekly and daily cycles. To address coupled multi-periodicity as well as long lookback window challenges, we extend FreqCycle hierarchically into MFreqCycle, which decouples nested periodic features through cross-scale interactions. Extensive experiments on seven diverse domain benchmarks demonstrate that FreqCycle achieves state-of-the-art accuracy while maintaining faster inference speeds, striking an optimal balance between performance and efficiency.
Figures & tables
| Models | FreqCycle | DLinear | CycleNet | Amplifier | FreTS | FilterNet | FITS | iTransformer | PatchTST | TimeMixer | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Metrics | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE |
| ETTm1 | 0.372 | 0.389 | 0.403 | 0.407 | 0.386 | 0.395 | 0.381 | 0.394 | 0.408 | 0.416 | 0.384 | 0.398 | 0.415 | 0.408 | 0.407 | 0.410 | 0.387 | 0.400 | 0.381 | 0.395 |
| ETTm2 | 0.263 | 0.311 | 0.350 | 0.401 | 0.272 | 0.315 | 0.276 | 0.323 | 0.321 | 0.368 | 0.276 | 0.322 | 0.286 | 0.328 | 0.288 | 0.332 | 0.281 | 0.326 | 0.275 | 0.323 |
| ETTh1 | 0.428 | 0.427 | 0.456 | 0.452 | 0.432 | 0.427 | 0.430 | 0.428 | 0.475 | 0.463 | 0.440 | 0.432 | 0.451 | 0.440 | 0.454 | 0.448 | 0.469 | 0.455 | 0.447 | 0.440 |
| ETTh2 | 0.371 | 0.399 | 0.559 | 0.515 | 0.383 | 0.404 | 0.359 | 0.391 | 0.472 | 0.465 | 0.378 | 0.404 | 0.383 | 0.408 | 0.383 | 0.407 | 0.387 | 0.407 | 0.364 | 0.395 |
| Weather | 0.243 | 0.270 | 0.265 | 0.317 | 0.254 | 0.279 | 0.243 | 0.271 | 0.250 | 0.270 | 0.245 | 0.272 | 0.249 | 0.276 | 0.258 | 0.278 | 0.259 | 0.281 | 0.240 | 0.271 |
| Datasets | L | FreqCycle | CycleNet | FITS | |||
|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh2 | 96 | 0.371 | 0.399 | 0.383 | 0.404 | 0.383 | 0.408 |
| ETTm2 | 96 | 0.263 | 0.311 | 0.267 | 0.314 | 0.286 | 0.328 |
| ETTh2 | 168 | 0.241 | 0.340 | 0.388 | 0.415 | 0.333 | 0.382 |
| ETTm2 | 672 | 0.167 | 0.279 | 0.262 | 0.325 | 0.250 | 0.312 |
| Datasets | ETTh1 | ETTh2 | Traffic | Weather | ||||
|---|---|---|---|---|---|---|---|---|
| Metrics | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE |
| FreqCycle | 0.369 | 0.390 | 0.282 | 0.336 | 0.438 | 0.262 | 0.159 | 0.203 |
| No FECF | 0.375 | 0.397 | 0.292 | 0.344 | 0.501 | 0.318 | 0.179 | 0.218 |
| Boost | 1.65% | 1.82% | 3.26% | 2.56% | 14.54% | 21.30% | 12.59% | 7.29% |
| 2MLP | 0.379 | 0.401 | 0.302 | 0.348 | 0.444 | 0.262 | 0.161 | 0.206 |
| Boost | 2.66% | 2.93% | 6.91% | 3.85% | 1.44% | 0.04% | 1.51% | 1.28% |
| Datasets | ETTh2 | ECL | Traffic | |||
|---|---|---|---|---|---|---|
| Metrics | MSE | MAE | MSE | MAE | MSE | MAE |
| FreqCycle | 0.282 | 0.336 | 0.139 | 0.233 | 0.438 | 0.262 |
| SFPL2LPF | 0.294 | 0.345 | 0.143 | 0.240 | 0.449 | 0.268 |
| Boost | 4.00% | 2.68% | 3.39% | 3.09% | 2.63% | 2.29% |
| SFPL2PaiFilter | 0.293 | 0.344 | 0.143 | 0.239 | 0.445 | 0.262 |
| Boost | 3.68% | 2.59% | 2.96% | 2.58% | 1.81% | 0.08% |
| Datasets | FreqCycle | DFreq | LDFreq | |||
|---|---|---|---|---|---|---|
| Metrics | MSE | MAE | MSE | MAE | MSE | MAE |
| ETTm2 | 0.263 | 0.311 | 0.312 | 0.365 | 0.329 | 0.368 |
| Weather | 0.243 | 0.270 | 0.259 | 0.309 | 0.248 | 0.291 |
| ECL | 0.168 | 0.259 | 0.204 | 0.293 | 0.201 | 0.288 |
| Traffic | 0.448 | 0.261 | 0.529 | 0.316 | 0.527 | 0.307 |
| Datasets | Frequency | Duration | Features | Samples |
|---|---|---|---|---|
| ETTh | 1 hour | 2016-2018 | 7 | 17420 |
| ETTm | 15 min | 2016-2018 | 7 | 69680 |
| Electricity | 1 hour | 2012-2014 | 321 | 26,304 |
| Traffic | 1 hour | 2015-2018 | 862 | 17,544 |
| Weather | 10 min | 2020 | 21 | 52,696 |
| Dataset | H | FreqCycle | DLinear | CycleNet | Amplifier | FreTS | FilterNet | FITS | iTransformer | PatchTST | TimeMixer | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | 96 | 0.369 | 0.390 | 0.386 | 0.400 | 0.378 | 0.391 | 0.371 | 0.392 | 0.395 | 0.407 | 0.375 | 0.394 | 0.386 | 0.396 | 0.386 | 0.405 | 0.414 | 0.419 | 0.375 | 0.400 |
| 192 | 0.417 | 0.418 | 0.437 | 0.432 | 0.426 | 0.419 | 0.426 | 0.422 | 0.448 | 0.440 | 0.436 | 0.422 | 0.436 | 0.423 | 0.441 | 0.436 | 0.460 | 0.445 | 0.429 | 0.421 | |
| 336 | 0.459 | 0.439 | 0.481 | 0.459 | 0.464 | 0.439 | 0.448 | 0.434 | 0.499 | 0.472 | 0.476 | 0.443 | 0.478 | 0.444 | 0.487 | 0.458 | 0.501 | 0.466 | 0.484 | 0.458 | |
| 720 | 0.456 | 0.454 | 0.519 | 0.516 | 0.461 | 0.460 | 0.476 | 0.464 | 0.558 | 0.532 | 0.474 | 0.469 | 0.502 | 0.495 | 0.503 | 0.491 | 0.500 | 0.488 | 0.498 | 0.482 | |
| AVG | 0.425 | 0.425 | 0.456 | 0.452 | 0.432 | 0.427 | 0.430 | 0.428 | 0.475 | 0.463 | 0.440 | 0.432 | 0.451 | 0.440 | 0.454 | 0.448 | 0.469 | 0.455 | 0.447 | 0.440 | |
| Dataset | H | rect | hann | hamming | |||
|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | 96 | 0.370 | 0.392 | 0.373 | 0.394 | 0.370 | 0.392 |
| 192 | 0.420 | 0.419 | 0.417 | 0.420 | 0.420 | 0.419 | |
| 336 | 0.460 | 0.440 | 0.459 | 0.440 | 0.460 | 0.440 | |
| 720 | 0.462 | 0.458 | 0.461 | 0.457 | 0.462 | 0.458 | |
| AVG | 0.428 | 0.427 | 0.427 | 0.428 | 0.428 | 0.427 | |
| Dataset | H | L=4 | L=6 | L=8 | L=10 | ||||
|---|---|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | 96 | 0.369 | 0.390 | 0.370 | 0.392 | 0.371 | 0.393 | 0.375 | 0.398 |
| 192 | 0.417 | 0.418 | 0.420 | 0.419 | 0.418 | 0.418 | 0.421 | 0.423 | |
| 336 | 0.459 | 0.439 | 0.460 | 0.440 | 0.465 | 0.442 | 0.487 | 0.451 | |
| 720 | 0.456 | 0.454 | 0.462 | 0.458 | 0.462 | 0.458 | 0.475 | 0.467 | |
| AVG | 0.425 | 0.425 | 0.428 | 0.427 | 0.429 | 0.428 | 0.440 | 0.435 | |
| Dataset | H | FreqCycle | DFreq | LDFreq | |||
|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh1 | 96 | 0.369 | 0.390 | 0.385 | 0.402 | 0.385 | 0.402 |
| 192 | 0.417 | 0.418 | 0.436 | 0.435 | 0.438 | 0.433 | |
| 336 | 0.459 | 0.439 | 0.486 | 0.467 | 0.496 | 0.469 | |
| 720 | 0.456 | 0.454 | 0.559 | 0.537 | 0.555 | 0.526 | |
| AVG. | 0.425 | 0.425 | 0.467 | 0.460 | 0.468 | 0.457 | |
| Dataset | H | FreqCycle(MLP) | FreqCycle(Linear) | ||
|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | ||
| ETTh1 | 96 | 0.369 | 0.390 | 0.370 | 0.392 |
| 192 | 0.417 | 0.418 | 0.420 | 0.419 | |
| 336 | 0.459 | 0.439 | 0.460 | 0.440 | |
| 720 | 0.456 | 0.454 | 0.462 | 0.458 | |
| AVG | 0.425 | 0.425 | 0.428 | 0.427 | |
| Dataset | H | FreqCycle L=96 | MFreqCycle L=672/168 | CycleNet L=96 | CycleNet L=672/168 | FITS L=96 | FITS L=672/168 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | MSE | MAE | ||
| ETTh2 | 96 | 0.282 | 0.336 | 0.183 | 0.296 | 0.285 | 0.335 | 0.307 | 0.360 | 0.295 | 0.350 | 0.271 | 0.336 |
| 192 | 0.361 | 0.388 | 0.215 | 0.322 | 0.373 | 0.391 | 0.385 | 0.406 | 0.381 | 0.396 | 0.331 | 0.374 | |
| 336 | 0.415 | 0.428 | 0.251 | 0.349 | 0.421 | 0.433 | 0.423 | 0.440 | 0.426 | 0.438 | 0.354 | 0.395 | |
| 720 | 0.425 | 0.443 | 0.313 | 0.395 | 0.453 | 0.458 | 0.436 | 0.454 | 0.431 | 0.446 | 0.377 | 0.422 | |
| AVG | 0.371 | 0.399 | 0.241 | 0.340 | 0.383 | 0.404 | 0.388 | 0.415 | 0.383 | 0.408 | 0.333 | 0.382 | |
Time Series Forecasting
Time series forecasting predicts future values from ordered observations using statistical, neural, and probabilistic models to support decisions under uncertainty.
See all 839 papers