Covariance-based clustering of multivariate time-series data.
Project description
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
and conda-forge. 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:
cd src
pip install .
Using the Library
Your best resource for learning to use the library is
the documentation.
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:
ticc_result = fast_ticc.ticc_compute_labels(my_data)
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 or the original TICC paper.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fast_ticc-1.0.0.tar.gz
.
File metadata
- Download URL: fast_ticc-1.0.0.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde89a4331545f8b319db4e6e36c43715d8a6f1a1404b3005a6c636645bb70d0 |
|
MD5 | 4e7c3196c89b56627d644acc85559627 |
|
BLAKE2b-256 | 22868bbd9baf3ac4ae831fccc7df1dde5c0812149a00e5f9ac03b2157f792171 |
File details
Details for the file fast_ticc-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: fast_ticc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f8f8b02c3ed9acf14b54de95b0deae8f378dfc45df28802b556cc4c9378f595 |
|
MD5 | c6ffa079a97ea447b2228c6f788bb115 |
|
BLAKE2b-256 | 0b9ce6435b1e3b7a0c77be59b321eb866e6f478ed1eca9b7a185f86cad9f1542 |