Skip to main content

Transformer-Attentional Copulas for Multivariate Time Series

Project description

TACTiS-2: Better, Faster, Simpler Attentional Copulas for Multivariate Time Series

Arjun Ashok, Étienne Marcotte, Valentina Zantedeschi, Nicolas Chapados, Alexandre Drouin (2023). TACTiS-2: Better, Faster, Simpler Attentional Copulas for Multivariate Time Series. (Preprint)

We introduce a new model for multivariate probabilistic time series prediction, designed to flexibly address a range of tasks including forecasting, interpolation, and their combinations. Building on copula theory, we propose a simplified objective for the recently-introduced transformer-based attentional copulas (TACTiS), wherein the number of distributional parameters now scales linearly with the number of variables instead of factorially. The new objective requires the introduction of a training curriculum, which goes hand-in-hand with necessary changes to the original architecture. We show that the resulting model has significantly better training dynamics and achieves state-of-the-art performance across diverse real-world forecasting tasks, while maintaining the flexibility of prior work, such as seamless handling of unaligned and unevenly-sampled time series.

[Preprint]


Installation

You can install the TACTiS-2 model with pip:

pip install tactis

Alternatively, the research version installs gluonts and pytorchts as dependencies which are required to replicate experiments from the paper:

pip install tactis[research]

Note: tactis has been currently tested with Python 3.10.8.

Instructions

With the research version of the code, train.py can be used to train the TACTiS-2 model for a specific dataset. The arguments in train.py can be used to specify the dataset, the training task (forecasting or interpolation), the hyperparameters of the model and a whole range of other training options.

There are notebooks in the that are useful in guiding training and evaluation pipeline setups: random_walk.ipynb demonstrates TACTiS-2 on a simple low-dimensional random walk dataset, and gluon_fred_md_forecasting.ipynb demonstrates how to train and evaluate TACTiS-2 on the FRED-MD dataset used in the paper. Note that the gluon_fred_md_forecasting.ipynb notebook requires GluonTS and PyTorchTS to be installed.

Note

For an implementation of the original version of TACTiS, please see here.

Citing this work

Please use the following Bibtex entry to cite TACTiS-2.

@misc{ashok2023tactis2,
      title={TACTiS-2: Better, Faster, Simpler Attentional Copulas for Multivariate Time Series}, 
      author={Arjun Ashok and Étienne Marcotte and Valentina Zantedeschi and Nicolas Chapados and Alexandre Drouin},
      year={2023},
      eprint={2310.01327},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tactis-0.1.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

tactis-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file tactis-0.1.0.tar.gz.

File metadata

  • Download URL: tactis-0.1.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for tactis-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5583b6a42b15cf6d828a5691c8a331012878903aecd79ebaf5538e616e7b49d3
MD5 de4dd35249ff08954c1a324d4fdd51e4
BLAKE2b-256 46391f865b45b02f4b7aab1c8af1932e6227a6c5ac9a3c3455c7371e0975bce7

See more details on using hashes here.

File details

Details for the file tactis-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tactis-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for tactis-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b27bd09a594d6482236c4246d9ac9a1f2a1c6e6b8ce4fc052e50206a5ec2bab
MD5 eb749978a10debbf60bb461f105ef676
BLAKE2b-256 df06c17c4052cd93946aa6398afda3d7f38be84053a521e439d70f2da41da13e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page