fast-ticc


Namefast-ticc JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/sandialabs/fast_ticc
SummaryCovariance-based clustering of multivariate time-series data.
upload_time2024-03-27 04:16:11
maintainerAndy Wilson
docs_urlNone
authorAndy Wilson
requires_python>=3.6
licenseBSD-3-Clause
keywords clustering inverse covariance ticc multivariate data time series data toeplitz
VCS
bugtrack_url
requirements coverage pyarrow pandas pylint pytest pytest-cov pytest-regressions numba numpy scikit-learn sphinx sphinx_rtd_theme
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # fast_ticc: Toeplitz Inverse Covariance Clustering

This package contains a reimplementation of the algorithm described in
"Toeplitz Inverse Covariance-Based Clustering" (hereinafter abbreviated
TICC) by D. Hallac, S. Vare, S. Boyd, and J. Leskovec.  It improves on
the authors' reference implementation mainly by adding more documentation,
more test cases, and Numba-based parallelism / JIT compilation where
appropriate.

TICC's purpose is to segment multivariate time-series data into regions
of similar behavior.  Here, "behavior" is defined by the covariance of the
different components of the time-series data in a window around the point
being labeled.

## Installing the Library

Our implementation of TICC is available from [PyPI](https://pypi.org)
and [conda-forge](https://conda-forge.org).  You can install it from
there with `pip install fast_ticc` and
`conda install -c conda-forge fast_ticc` (for Anaconda users),
respectively.

You can install directly from a copy of this repository with the
following two commands:

```bash
cd src
pip install .
```


## Using the Library

Your best resource for learning to use the library is
[the documentation](https://fast-ticc.readthedocs.io).
There are also examples in this repository under the
`src/examples/` directory.

### The Briefest of Quick-Start Instructions

Start with your data in an N x D NumPy array: one row per data point, one
column per variable.

Call TICC to compute labels:

```python
ticc_result = fast_ticc.ticc_compute_labels(my_data,
                                            window_size,
                                            num_clusters)
labels = ticc_result.point_labels
```

The main function (`ticc_compute_labels`) returns a structure with the
computed labels (in the `point_labels` field) and lots of information
describing the clusters and how well they describe the data.  You are
probably most interested in the labels themselves, which are a list of
integers with one entry for each input data point.

### Learning More

For further information, consult
[the documentation](https://fast-ticc.readthedocs.io)
or the original
[TICC paper](https://web.stanford.edu/~boyd/papers/ticc.html).

## Contributing

We welcome contributions!  Open a discussion or a pull request in this
repository and we'll talk.

## Authors

Andy Wilson, Daniel DeLayo, Renee Gooding, Jessica Jones, Kanad Khanna,
Nitin Sharan, and Jon Whetzel worked on this implementation.  Andy
Wilson was the chief author and is the maintainer.

## License

This library is distributed under a 3-clause BSD license.  Full text is
available in LICENSE at the top level of the repository along with the
license under which we use the original authors' implementation.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sandialabs/fast_ticc",
    "name": "fast-ticc",
    "maintainer": "Andy Wilson",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "atwilso@sandia.gov",
    "keywords": "clustering, inverse covariance, ticc, multivariate data, time series data, toeplitz",
    "author": "Andy Wilson",
    "author_email": "atwilso@sandia.gov",
    "download_url": null,
    "platform": null,
    "description": "# fast_ticc: Toeplitz Inverse Covariance Clustering\n\nThis package contains a reimplementation of the algorithm described in\n\"Toeplitz Inverse Covariance-Based Clustering\" (hereinafter abbreviated\nTICC) by D. Hallac, S. Vare, S. Boyd, and J. Leskovec.  It improves on\nthe authors' reference implementation mainly by adding more documentation,\nmore test cases, and Numba-based parallelism / JIT compilation where\nappropriate.\n\nTICC's purpose is to segment multivariate time-series data into regions\nof similar behavior.  Here, \"behavior\" is defined by the covariance of the\ndifferent components of the time-series data in a window around the point\nbeing labeled.\n\n## Installing the Library\n\nOur implementation of TICC is available from [PyPI](https://pypi.org)\nand [conda-forge](https://conda-forge.org).  You can install it from\nthere with `pip install fast_ticc` and\n`conda install -c conda-forge fast_ticc` (for Anaconda users),\nrespectively.\n\nYou can install directly from a copy of this repository with the\nfollowing two commands:\n\n```bash\ncd src\npip install .\n```\n\n\n## Using the Library\n\nYour best resource for learning to use the library is\n[the documentation](https://fast-ticc.readthedocs.io).\nThere are also examples in this repository under the\n`src/examples/` directory.\n\n### The Briefest of Quick-Start Instructions\n\nStart with your data in an N x D NumPy array: one row per data point, one\ncolumn per variable.\n\nCall TICC to compute labels:\n\n```python\nticc_result = fast_ticc.ticc_compute_labels(my_data,\n                                            window_size,\n                                            num_clusters)\nlabels = ticc_result.point_labels\n```\n\nThe main function (`ticc_compute_labels`) returns a structure with the\ncomputed labels (in the `point_labels` field) and lots of information\ndescribing the clusters and how well they describe the data.  You are\nprobably most interested in the labels themselves, which are a list of\nintegers with one entry for each input data point.\n\n### Learning More\n\nFor further information, consult\n[the documentation](https://fast-ticc.readthedocs.io)\nor the original\n[TICC paper](https://web.stanford.edu/~boyd/papers/ticc.html).\n\n## Contributing\n\nWe welcome contributions!  Open a discussion or a pull request in this\nrepository and we'll talk.\n\n## Authors\n\nAndy Wilson, Daniel DeLayo, Renee Gooding, Jessica Jones, Kanad Khanna,\nNitin Sharan, and Jon Whetzel worked on this implementation.  Andy\nWilson was the chief author and is the maintainer.\n\n## License\n\nThis library is distributed under a 3-clause BSD license.  Full text is\navailable in LICENSE at the top level of the repository along with the\nlicense under which we use the original authors' implementation.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Covariance-based clustering of multivariate time-series data.",
    "version": "1.0.1",
    "project_urls": {
        "Documentation": "https://fast-ticc.readthedocs.io",
        "Homepage": "https://github.com/sandialabs/fast_ticc",
        "Repository": "https://github.com/sandialabs/fast_ticc"
    },
    "split_keywords": [
        "clustering",
        " inverse covariance",
        " ticc",
        " multivariate data",
        " time series data",
        " toeplitz"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "136e76d25f1149508afd67f9938951f8e96ce64793d57c1c7c479b4b0488951f",
                "md5": "039b8de5649caabdcb01b84f197100ab",
                "sha256": "e20862f155b1978ffe58938f99c3291d8cd4a5b91134c4d23383e9772fde693b"
            },
            "downloads": -1,
            "filename": "fast_ticc-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "039b8de5649caabdcb01b84f197100ab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 2139712,
            "upload_time": "2024-03-27T04:16:11",
            "upload_time_iso_8601": "2024-03-27T04:16:11.564206Z",
            "url": "https://files.pythonhosted.org/packages/13/6e/76d25f1149508afd67f9938951f8e96ce64793d57c1c7c479b4b0488951f/fast_ticc-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-27 04:16:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sandialabs",
    "github_project": "fast_ticc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "coverage",
            "specs": []
        },
        {
            "name": "pyarrow",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "pylint",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "pytest-cov",
            "specs": []
        },
        {
            "name": "pytest-regressions",
            "specs": []
        },
        {
            "name": "numba",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "scikit-learn",
            "specs": []
        },
        {
            "name": "sphinx",
            "specs": []
        },
        {
            "name": "sphinx_rtd_theme",
            "specs": []
        }
    ],
    "lcname": "fast-ticc"
}
        
Elapsed time: 0.21542s