# MTS-Mixers
This is an official implementation of MTS-Mixers: Multivariate Time Series Forecasting via Factorized Temporal and Channel Mixing. [[paper](https://arxiv.org/abs/2302.04501)]
## Key Designs
**1. Overall Framework**

The architecture of MTS-Mixers comprises modules in a dashed box which defines a general framework with k-stacked blocks for capturing temporal and channel interaction. Three specific implementations are presented, which utilize attention, random matrix, or factorized MLP to capture temporal and channel dependencies. An optional input embedding is included for positional or date-specific encoding, and the instance normalization refers to [RevIN](https://openreview.net/pdf?id=cGDAkQo1C0p).
**2. Temporal Factorization**
Inspired by the fact that the original sequence and the down-sampled sequence may maintain the same temporal characteristics, we apply down-sampling to alleviate the temporal redundancy for better utilizing point-wise dependency as
$$\mathcal{X}_{T,i}=\hat{\mathcal{X}_T}[i::s, :],\quad0\leq i\leq s-1,$$
$$\mathcal{X}_T=\mathsf{merge}(\mathcal{X}_{T,0},\mathcal{X}_{T,1},\dots,\mathcal{X}_{T,s-1}),$$
where $s$ denotes the number of down-sampled subsequences and $[\cdot]$ indicates a slice operation. $\mathsf{merge}(\cdot)$ means we merge the $s$ interleaved subsequences $\mathcal{X}_{T,i}\in\mathbb{R}^{\frac{n}{s}\times c}$ into $\mathcal{X}_T\in\mathbb{R}^{n\times c}$ according to the original order for each point. Here we present an example of temporal factorization when $s=2$.

**3. Channel Factorization**
From the perspective of tensors, we notice that time series generally have the low-rank property. The redundancy across different channels occurs in that the information described by each channel may be consistent. Inspired by [Hamburger](https://arxiv.org/abs/2109.04553), we apply the matrix factorization to reduce the noise as
$$\hat{\mathcal{X}_C}=\mathcal{X}_C+N\approx UV+N,$$
where $N\in\mathbb{R}^{n\times c}$ represents the noise and $\mathcal{X}_C\in\mathbb{R}^{n\times c}$ denotes the channel dependency after denoising. In practice, using a channel MLP with small hidden states (less than $c$) can achieve comparable or even better performance than traditional decomposition methods.
## Get Started
1. Install Python>=3.6, PyTorch>=1.5.0.
2. Run `pip install -r requirements.txt`
3. Download data and put the `.csv` files in `./dataset`. You can obtain all the benchmarks from [Google Drive](https://drive.google.com/drive/folders/1HMDwy9ouO7FqCgvhN7jhxdFY-UCc303u). **All the datasets are well pre-processed** and can be used easily.
4. Train the model. We provide an example of running a script of all benchmarks in `script.md`. You can change any hyperparameter if necessary. See `run.py` for more details about hyper-parameter configuration.
## Main Results
We detail experiment on ten benchmarks using the 96-to-x setting, wherein we achieved promising performance on forecasting tasks. See our paper for more details.


**Q: Why the results of DLinear is far from the original work?**
The reason for the discrepancy between our results and those reported in DLinear's original paper is that they used a different experimental setting ("336-to-x") compared to ours ("96-to-x"). We chose a uniform setup for a fair comparison and did not deliberately lower their results.
## ☆ Minor Suggestions
Recent research in long-term time series forecasting has identified two effective techniques for significantly improving forecasting performance. One such technique, implemented in [RevIN](https://github.com/ts-kim/RevIN), involves normalizing input data prior to feeding it into the model and denormalizing final predictions as
```python
rev = RevIN(num_channels)
x = rev(x, 'norm') # [B, S, D]
pred = model(x) # [B, L, D]
pred = rev(pred, 'denorm')
```
In addition to traditional models such as encoder-decoder Transformer-based models, recent works such as DLinear, Crossformer, and PatchTST have improved numerical accuracy for long-term time series forecasting by **using a longer lookback horizon**. However, it is important to note that this may not be practical for actual prediction tasks. We hope these insights will help guide your work and avoid any potential detours.
## Citation
If you find this repo useful, please cite our paper.
```
@article{Li2023MTSMixersMT,
title={MTS-Mixers: Multivariate Time Series Forecasting via Factorized Temporal and Channel Mixing},
author={Zhe Li and Zhongwen Rao and Lujia Pan and Zenglin Xu},
journal={ArXiv},
year={2023},
volume={abs/2302.04501}
}
```
## Contact
If you have any questions or want to discuss some details, please contact plum271828@gmail.com.
## Acknowledgement
We appreciate the following github repos a lot for their valuable code base or datasets:
https://github.com/zhouhaoyi/Informer2020
https://github.com/thuml/Autoformer
https://github.com/ts-kim/RevIN
https://github.com/cure-lab/LTSF-Linear
没有合适的资源?快使用搜索试试~ 我知道了~
时间序列预测模型实战案例深度学习华为MTS-Mixers模型

共70个文件
py:25个
pyc:22个
xml:6个


温馨提示
首先我们要对时间序列概念有一个基本的了解时间序列预测大致分为两种一种是单元时间序列预测另一种是多元时间序列预测单元时间序列预测是指只考虑一个时间序列的预测模型。它通常用于预测单一变量的未来值,例如股票价格、销售量等。在单元时间序列预测中,我们需要对历史数据进行分析,确定趋势、季节性和周期性等因素,并使用这些因素来预测未来的值。常见的单元时间序列预测模型有移动平均模型(MA)自回归模型(AR)自回归移动平均模型(ARMA)差分自回归移动平均模型(ARIMA)后期我也会讲一些最新的预测模型包括Informer,TPA-LSTM,ARIMA,XGBOOST,Holt-winter,移动平均法等等一系列关于时间序列预测的模型,包括深度学习和机器学习方向的模型我都会讲,你可以根据需求选取适合你自己的模型进行预测,如果有需要可以+个关注。
资源推荐
资源详情
资源评论


















收起资源包目录
































































































共 70 条
- 1
资源评论

- lx12052024-02-29#内容详尽


Snu77
- 粉丝: 9w+
- 资源: 18
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- web自动化视频内容精彩更新迭代
- Java 学习路线,,入门到进阶
- Paint Runner 画线跑酷unity热门超休闲游戏项目源码C#
- web自动化视频内容精彩更新迭代
- openfast与simlink联合仿真模型,风电机组独立变桨控制与统一变桨控制 独立变桨控制 OpenFast联合仿真 基于载荷反馈的独立变桨控制 风机变桨控制基于FAST与MATLAB SI
- web自动化视频内容精彩更新迭代
- 基于springboot框架的房屋租赁管理系统的设计与实现(完整Java源码+数据库sql文件+项目文档+Java项目编程实战+编程练手好项目).zip
- 编程语言入门与C/C++实践
- 三相并网逆变器 FCS MPC 模型预测控制 LCL matlab simulink 仿真 有参考文献 视频 说明等很全面 ,三相并网逆变器:基于FCS MPC模型预测控制的LCL滤波器Matlab
- 通信基本知识 2024.11
- 通信基本知识 2024.10
- 基于springboot框架的在线宠物用品交易网站的设计与实现(完整Java源码+数据库sql文件+项目文档+Java项目编程实战+编程练手好项目).zip
- test_vip-activity-page-bg.jpg
- 通信基本知识 2024.09
- C#调用NModbus实现Modbus TCP 主站通讯
- 通信基本知识 2024.08
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
