Skip to main content

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}
}

Metadata

Release files for tactis 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tactis 0.1.3
File Size Uploaded
tactis-0.1.3.tar.gz 47.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tactis 0.1.3
File Interpreter ABI Platform
tactis-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 104.4 kB

Release files / tactis-0.1.3.tar.gz

Download URL tactis-0.1.3.tar.gz
Size 47.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a622506c8413912ae5f57b7e10583776775de44f09814f27821b849ec9a324cd
BLAKE2b-256 checksum
How to use checksums
bf77f54b507131890741af41fdd91e230a63efacda76c07b3e1ff045e11f8ad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release files / tactis-0.1.3-py3-none-any.whl

Download URL tactis-0.1.3-py3-none-any.whl
Size 56.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7545746eaa816ceae700ce52feb0042b230c46240665dc4100365359fbaff047
BLAKE2b-256 checksum
How to use checksums
69f34474a90988421ba0b04cde4492d94bed255aff82effbe009e849a4e65d8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page