DSAT-HD: Dual-Stream Adaptive Transformer with Hybrid Decomposition for Multivariate Time Series Forecasting
DSAT-HD, which introduces a novel and comprehensive framework for multivariate time series forecasting. It is specifically designed to overcome the limitations of existing Transformer-based models by effectively capturing complex multi-scale temporal patterns and dynamic interactions between seasonal and trend components within non-stationary sequences.
If you find this project helpful, please don't forget to give it a ⭐ Star to show your support. Thank you!
The architecture of the DSAT-HD model, which explores the latent features of sequences simultaneously in both the frequency and time domains. Specifically, we first apply Instance Normalization to align the distributions of the training and test data. Subsequently, the EMA module decomposes the data into seasonal (S) and trend (T) components, which are processed separately by a dual-stream network. To prevent excessively high data dimensionality, another branch of the data undergoes dimensionality reduction via a fully connected layer. This is followed by a Fourier transform to convert the time-domain data into the frequency domain. Seasonal series are obtained via Top-K selection, and the trend series is derived through multi-kernel average pooling. A specially designed distribution routing mechanism then directs time series with similar latent distributions to expert networks based on multiple scales. This mechanism effectively addresses the challenge of single structures being insufficient for fully extracting sequential features.
- Requirement
Given a python environment, install the dependencies with the following command:
pip install -r requirment.txt - Data preparation
You can obtained the well pre-processed datasets from the folder ./dataset.
- Train and evalute model
- We provide all experiment scripts for DSAT-HD in the folder
./scripts/DSAT-HD. Due to the slow training process when running on nine datasets with four different sequence lengths, we recommend creating four copies ofuntitled.shfor each dataset. For example, you can train the model using the following command:
sh scripts/DSAT-HD.sh- Result
You can find the raw results in the
./logfolder. Theresults.txtfile records the final metrics for each experimental run, while visualization outputs are stored in the./test_resultdirectory.
Below are the forecasting results of the DSAT-HD model on the Electricity dataset.


