tactis


Nametactis JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/ServiceNow/tactis/tree/tactis-2
SummaryTransformer-Attentional Copulas for Multivariate Time Series
upload_time2024-01-02 04:07:19
maintainer
docs_urlNone
authorArjun Ashok, Étienne Marcotte, Valentina Zantedeschi, Nicolas Chapados, Alexandre Drouin
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://arxiv.org/abs/2310.01327)*. (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]](https://arxiv.org/abs/2310.01327)

<br />

<p align="center">
  <img src="https://github.com/ServiceNow/tactis/blob/tactis-2/cover.png?raw=true" width="500" />
</p>


## Installation

You can install the TACTiS-2 model with [pip](https://pip.pypa.io/):

```console
pip install tactis
```

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

```console
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`](https://github.com/ServiceNow/tactis/blob/tactis-2/train.py) can be used to train the TACTiS-2 model for a specific dataset. The arguments in [`train.py`](https://github.com/ServiceNow/tactis/blob/tactis-2/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`](https://github.com/ServiceNow/tactis/blob/tactis-2/demo/random_walk.ipynb) demonstrates TACTiS-2 on a simple low-dimensional random walk dataset, and [`gluon_fred_md_forecasting.ipynb`](https://github.com/ServiceNow/tactis/blob/tactis-2/demo/gluon_fred_md_forecasting.ipynb) demonstrates how to train and evaluate TACTiS-2 on the [FRED-MD dataset](https://zenodo.org/records/4654833) used in the paper. Note that the [`gluon_fred_md_forecasting.ipynb`](https://github.com/ServiceNow/tactis/blob/tactis-2/demo/gluon_fred_md_forecasting.ipynb) notebook requires GluonTS and PyTorchTS to be installed.


## Note

For an implementation of the [original version of TACTiS](https://arxiv.org/abs/2202.03528), please see [here](https://github.com/ServiceNow/tactis/tree/v1.0.0).

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ServiceNow/tactis/tree/tactis-2",
    "name": "tactis",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Arjun Ashok, \u00c9tienne Marcotte, Valentina Zantedeschi, Nicolas Chapados, Alexandre Drouin",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/bf/77/f54b507131890741af41fdd91e230a63efacda76c07b3e1ff045e11f8ad5/tactis-0.1.3.tar.gz",
    "platform": null,
    "description": "# TACTiS-2: Better, Faster, Simpler Attentional Copulas for Multivariate Time Series\n\nArjun Ashok, \u00c9tienne Marcotte, Valentina Zantedeschi, Nicolas Chapados, Alexandre Drouin (2023). *[TACTiS-2: Better, Faster, Simpler Attentional Copulas for Multivariate Time Series](https://arxiv.org/abs/2310.01327)*. (Preprint)\n\n> 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.\n\n[[Preprint]](https://arxiv.org/abs/2310.01327)\n\n<br />\n\n<p align=\"center\">\n  <img src=\"https://github.com/ServiceNow/tactis/blob/tactis-2/cover.png?raw=true\" width=\"500\" />\n</p>\n\n\n## Installation\n\nYou can install the TACTiS-2 model with [pip](https://pip.pypa.io/):\n\n```console\npip install tactis\n```\n\nAlternatively, the `research` version installs `gluonts` and `pytorchts` as dependencies which are required to replicate experiments from the paper:\n\n```console\npip install tactis[research]\n```\n\nNote: `tactis` has been currently tested with Python 3.10.8.\n\n## Instructions\n\nWith the `research` version of the code, [`train.py`](https://github.com/ServiceNow/tactis/blob/tactis-2/train.py) can be used to train the TACTiS-2 model for a specific dataset. The arguments in [`train.py`](https://github.com/ServiceNow/tactis/blob/tactis-2/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.\n\nThere are notebooks in the that are useful in guiding training and evaluation pipeline setups: [`random_walk.ipynb`](https://github.com/ServiceNow/tactis/blob/tactis-2/demo/random_walk.ipynb) demonstrates TACTiS-2 on a simple low-dimensional random walk dataset, and [`gluon_fred_md_forecasting.ipynb`](https://github.com/ServiceNow/tactis/blob/tactis-2/demo/gluon_fred_md_forecasting.ipynb) demonstrates how to train and evaluate TACTiS-2 on the [FRED-MD dataset](https://zenodo.org/records/4654833) used in the paper. Note that the [`gluon_fred_md_forecasting.ipynb`](https://github.com/ServiceNow/tactis/blob/tactis-2/demo/gluon_fred_md_forecasting.ipynb) notebook requires GluonTS and PyTorchTS to be installed.\n\n\n## Note\n\nFor an implementation of the [original version of TACTiS](https://arxiv.org/abs/2202.03528), please see [here](https://github.com/ServiceNow/tactis/tree/v1.0.0).\n\n## Citing this work\n\nPlease use the following Bibtex entry to cite TACTiS-2.\n\n```\n@misc{ashok2023tactis2,\n      title={TACTiS-2: Better, Faster, Simpler Attentional Copulas for Multivariate Time Series}, \n      author={Arjun Ashok and \u00c9tienne Marcotte and Valentina Zantedeschi and Nicolas Chapados and Alexandre Drouin},\n      year={2023},\n      eprint={2310.01327},\n      archivePrefix={arXiv},\n      primaryClass={cs.LG}\n}\n```\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Transformer-Attentional Copulas for Multivariate Time Series",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://github.com/ServiceNow/tactis/tree/tactis-2"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "69f34474a90988421ba0b04cde4492d94bed255aff82effbe009e849a4e65d8c",
                "md5": "1349eb56d4682a85975e5cf186ee026c",
                "sha256": "7545746eaa816ceae700ce52feb0042b230c46240665dc4100365359fbaff047"
            },
            "downloads": -1,
            "filename": "tactis-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1349eb56d4682a85975e5cf186ee026c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 56500,
            "upload_time": "2024-01-02T04:07:17",
            "upload_time_iso_8601": "2024-01-02T04:07:17.448256Z",
            "url": "https://files.pythonhosted.org/packages/69/f3/4474a90988421ba0b04cde4492d94bed255aff82effbe009e849a4e65d8c/tactis-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf77f54b507131890741af41fdd91e230a63efacda76c07b3e1ff045e11f8ad5",
                "md5": "be3e67929d345a77ff7db6889549e2f6",
                "sha256": "a622506c8413912ae5f57b7e10583776775de44f09814f27821b849ec9a324cd"
            },
            "downloads": -1,
            "filename": "tactis-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "be3e67929d345a77ff7db6889549e2f6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 47913,
            "upload_time": "2024-01-02T04:07:19",
            "upload_time_iso_8601": "2024-01-02T04:07:19.035190Z",
            "url": "https://files.pythonhosted.org/packages/bf/77/f54b507131890741af41fdd91e230a63efacda76c07b3e1ff045e11f8ad5/tactis-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 04:07:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ServiceNow",
    "github_project": "tactis",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "tactis"
}
        
Elapsed time: 0.15223s