Skip to main content

Code for unsupervised clustering of time-correlated data.

Project description

tropea_clustering

tropea-clustering (the newest version of onion-clustering) is a Python package for single-point time-series clustering.

Author: Matteo Becchi

Developement history

This version of onion clustering is meant to be used as an external library, and complies with the scikit-learn format. If you are looking for the standalone onion clustering version, you can find it at https://github.com/matteobecchi/timeseries_analysis. However, be aware that the standalone version has been last updated on September, 2024 and is no longer supported or mantained. We reccomand using this version.

Installation

To get tropea-clustering, you can install it with pip

pip install tropea-clustering

The examples/ folder contains examples of usage.

Documentation

https://onion-clustering.readthedocs.io/en/latest/index.html.

Overview

Onion Clustering is an algorithm for single-point clustering of time-series data. It performs the clustering analyses at a specific time-resolution $\Delta t$, which is the minimum lifetime required for a cluster to be characterized as a stable environment. The clustering proceeds in an iterative way. At each iteration, the maximum of the cumulative distribution of data points is identified as a Gaussian state (meaning, a state characterized by the mean value and the variance of the signal inside it). Then, all the signal sequences close to the Gaussian mean and of length at least $\Delta t$ are classified as belonging to that state. These signals are then removed from the analysis, in order to enhance the resolution on the still unclassified signals at the next iteration. At the end of the process each frame is thus either classified in one of the identified states, or labelled as "unclassified" at that specific time resolution.

Performing this analysis at different values of the time resolution $\Delta t$ allows to automatically identify the optimal choice of $\Delta t$ that maximizes the number of environments correctly separated, and minimizes the fraction of unclassified points. Complete details can be found at https://doi.org/10.1073/pnas.2403771121.

Dependencies

For plotting the results, you will need also

How to cite us

If you use tropea-clustering (or onion-clustering) in your work, please cite https://doi.org/10.1073/pnas.2403771121.

Aknowledgements

We developed this code when working in the Pavan group, https://www.gmpavanlab.com/. Thanks to Andrew Tarzia for all the help with the code formatting and documentation, and to Domiziano Doria, Chiara Lionello and Simone Martino for the beta-testing.

The work was funded by the European Union and ERC under projects DYNAPOL and the NextGenerationEU project.

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

tropea_clustering-2.1.0.tar.gz (102.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tropea_clustering-2.1.0-py3-none-any.whl (166.0 kB view details)

Uploaded Python 3

File details

Details for the file tropea_clustering-2.1.0.tar.gz.

File metadata

  • Download URL: tropea_clustering-2.1.0.tar.gz
  • Upload date:
  • Size: 102.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for tropea_clustering-2.1.0.tar.gz
Algorithm Hash digest
SHA256 1ee3a206c07a932ee3b1e26548e6805883c45a76d1682f0b8f3c624f19f53af3
MD5 1e7040c54c3191c54ab2081aab8fddb8
BLAKE2b-256 1021d6e237084a57241400d32df27ee95337112d5c0edf33d1dc887fee96bff1

See more details on using hashes here.

File details

Details for the file tropea_clustering-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tropea_clustering-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5916942e9d30a98d5bcf59ee818bff36415d4f3bb4569f5e9814ee3a4a29f45
MD5 14c5171bdba29db01a57c98e85be6c99
BLAKE2b-256 aacee2576726ac48e92c4d04c0df0e2bef479cf627232112652ac8b9eeacd084

See more details on using hashes here.

Supported by

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