stid

Code for our CIKM'22 paper Spatial-Temporal Identity: A Simple yet Effective Baseline for Multivariate Time Series Forecasting.

https://github.com/gestaltcogteam/stid

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

baseline multivariate-time-series traffic-forecasting
Last synced: 6 months ago · JSON representation ·

Repository

Code for our CIKM'22 paper Spatial-Temporal Identity: A Simple yet Effective Baseline for Multivariate Time Series Forecasting.

Basic Info
  • Host: GitHub
  • Owner: GestaltCogTeam
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 2.63 MB
Statistics
  • Stars: 279
  • Watchers: 6
  • Forks: 28
  • Open Issues: 12
  • Releases: 0
Topics
baseline multivariate-time-series traffic-forecasting
Created over 3 years ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

Spatial-Temporal Identity: A Simple yet Effective Baseline for Multivariate Time Series Forecasting

🔥 [New Results] We added the performance of STID on large scale MTS datasets.

Code for our CIKM'22 short paper: "Spatial-Temporal Identity: A Simple yet Effective Baseline for Multivariate Time Series Forecasting".

[!CAUTION]
STID is built on BasicTS, an open-source benchmark for time series forecasting. We highly recommend reproducing STID and other MTS forecasting models on any dataset using BasicTS. This repository will not be updated frequently; instead, updates will be made in BasicTS.

model archtecture

Multivariate Time Series (MTS) forecasting plays a vital role in a wide range of applications. Recently, Spatial-Temporal Graph Neural Networks (STGNNs) have become increasingly popular MTS forecasting methods due to their state-of-the-art performance. However, recent STGNN-based methods are becoming more sophisticated with limited performance improvements. This phenomenon motivates us to explore the critical factors of MTS forecasting and design a model that is as powerful as STGNNs, but more concise and efficient. In this paper, we identify the indistinguishability of samples in both spatial and temporal dimensions as a key bottleneck, and propose a simple yet effective baseline for MTS forecasting by attaching Spatial and Temporal IDentity information (STID). STID achieves the best performance and efficiency simultaneously based on simple multi-layer perceptrons (MLPs). These results suggest that by solving the indistinguishability of samples, we can design models more freely, without being limited to STGNNs.

📚 Table of Contents

```text basicts --> The BasicTS, which provides standard pipelines for training MTS forecasting models. Don't worry if you don't know it, because it doesn't prevent you from understanding STID's code.

datasets --> Raw datasets and preprocessed data

experiments --> Training scripts.

figures --> Some figures used in README.

scripts --> Data preprocessing scripts.

stid/arch --> The implementation of STID.

stid/${DATASET_NAME}.py --> Training configs. ```

Replace ${DATASET_NAME} with one of PEMS03, PEMS04, PEMS07, PEMS08, METR-LA, PEMS-BAY, or any other dataset you want to use.

💿Requirements

The code is built with BasicTS, you can easily install the requirements by (take Python 3.11 + PyTorch 2.3.1 + CUDA 12.1 as an example):

```bash

Install Python

conda create -n BasicTS python=3.11 conda activate BasicTS

Install PyTorch

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

Install other dependencies

pip install -r requirements.txt ```

More details can be found in BasicTS.

📦 Data Preparation

Download Data

You can download the all_data.zip file from Google Drive or Baidu Netdisk. Unzip the files to the datasets/ directory:

bash cd /path/to/STID # not STID/stid unzip /path/to/all_data.zip -d datasets/

These datasets have been preprocessed and are ready for use.

🎯 Train STID

bash python experiments/train.py --cfg stid/${DATASET_NAME}.py --gpus '0'

Replace ${DATASET_NAME} with one of PEMS03, PEMS04, PEMS07, PEMS08, METR-LA, PEMS-BAY, or any other dataset you want to use.

bash python experiments/train.py --cfg stid/PEMS04.py --gpus '0'

📈 Experiment Results

main results

main results

visualizations

efficiency and ablation

🔗 More Related Works

Citing

bibtex @inproceedings{10.1145/3511808.3557702, author = {Shao, Zezhi and Zhang, Zhao and Wang, Fei and Wei, Wei and Xu, Yongjun}, title = {Spatial-Temporal Identity: A Simple yet Effective Baseline for Multivariate Time Series Forecasting}, year = {2022}, booktitle = {Proceedings of the 31st ACM International Conference on Information & Knowledge Management}, pages = {4454–4458}, location = {Atlanta, GA, USA} }

Owner

  • Name: GestaltCogTeam
  • Login: GestaltCogTeam
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software, please cite both the article from preferred-citation and the software itself.
authors:
  - family-names: Shao
    given-names: Zezhi
  - family-names: Zhang
    given-names: Zhao
  - family-names: Wang
    given-names: Fei
  - family-names: Wei
    given-names: Wei
  - family-names: Xu
    given-names: Yongjun
title: 'Spatial-temporal identity: A simple yet effective baseline for multivariate time series forecasting'
version: 1.0.0
date-released: '2022-09-10'
preferred-citation:
  authors:
    - family-names: Shao
      given-names: Zezhi
    - family-names: Zhang
      given-names: Zhao
    - family-names: Wang
      given-names: Fei
    - family-names: Wei
      given-names: Wei
    - family-names: Xu
      given-names: Yongjun
  title: 'Spatial-temporal identity: A simple yet effective baseline for multivariate time series forecasting'
  type: conference-paper
  pages: 4454--4458
  year: '2022'
  collection-title: Proceedings of the 31st ACM International Conference on Information \& Knowledge Management
  conference: {}
  publisher: {}

GitHub Events

Total
  • Issues event: 5
  • Watch event: 117
  • Issue comment event: 7
  • Push event: 1
  • Fork event: 5
Last Year
  • Issues event: 5
  • Watch event: 117
  • Issue comment event: 7
  • Push event: 1
  • Fork event: 5

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 0
  • Average time to close issues: about 1 month
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 0
  • Average comments per issue: 0.33
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 0
  • Average time to close issues: about 1 month
  • Average time to close pull requests: N/A
  • Issue authors: 3
  • Pull request authors: 0
  • Average comments per issue: 0.33
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Chenyonglian (1)
  • Miller-Xu (1)
  • zhao1840 (1)
  • shuqincao (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • Markdown ==3.3.7
  • Pillow ==9.1.0
  • Werkzeug ==2.1.2
  • absl-py ==1.0.0
  • cachetools ==5.0.0
  • certifi ==2021.10.8
  • charset-normalizer ==2.0.12
  • easy-torch ==1.2.2
  • easydict ==1.9
  • google-auth ==2.6.6
  • google-auth-oauthlib ==0.4.6
  • grpcio ==1.46.1
  • idna ==3.3
  • importlib-metadata ==4.11.3
  • numpy ==1.22.3
  • oauthlib ==3.2.0
  • protobuf ==3.20.1
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • requests ==2.27.1
  • requests-oauthlib ==1.3.1
  • rsa ==4.8
  • scipy ==1.8.0
  • setproctitle ==1.2.3
  • six ==1.16.0
  • tensorboard ==2.9.0
  • tensorboard-data-server ==0.6.1
  • tensorboard-plugin-wit ==1.8.1
  • torch ==1.10.0
  • torchaudio ==0.10.0
  • torchvision ==0.11.1
  • tqdm ==4.64.0
  • typing_extensions ==4.2.0
  • urllib3 ==1.26.9
  • zipp ==3.8.0