Skip to main content

A fast and scalable algorithm for time series motif mining.

Project description

This is a python wrapper for ATTIMO, a fast algorithm for mining time series motifs, with probabilistic guarantees.

The inner workings and guarantees of the algorithm are described in this paper.

If you find this software useful for your research, please use the following citation:

@article{DBLP:journals/pvldb/CeccarelloG22,
  author    = {Matteo Ceccarello and
               Johann Gamper},
  title     = {Fast and Scalable Mining of Time Series Motifs with Probabilistic
               Guarantees},
  journal   = {Proc. {VLDB} Endow.},
  volume    = {15},
  number    = {13},
  pages     = {3841--3853},
  year      = {2022},
  url       = {https://www.vldb.org/pvldb/vol15/p3841-ceccarello.pdf},
  timestamp = {Wed, 11 Jan 2023 17:06:38 +0100},
  biburl    = {https://dblp.org/rec/journals/pvldb/CeccarelloG22.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Installation

pyATTIMO is a Rust library wrapped in Python. Therefore, if a wheel is available for your platform, you can install it simply by invoking:

pip install pyattimo

Otherwise, you need the Rust toolchain installed to be able to compile it. The simplest way is to visit https://rustup.rs/ and follow the instructions there. You will need the nightly toolchain:

curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly

After that, you can just run:

pip install pyattimo

At this point, you should have the pyattimo library available in your interpreter.

Usage

In essence, the library provides an iterator over the motifs of the given time series. The following snippet illustrates the basic usage:

import pyattimo

# Load an example time series
ts = pyattimo.load_dataset("ecg", prefix=1000000)

# Create the motifs iterator
motifs = pyattimo.MotifsIterator(ts, w=1000, max_k=100)

# Get the top motif via the iterator interface
m = next(motifs)

# Plot the motif just obtained
m.plot()

Further information and examples can be found here

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

pyattimo-0.1.2.tar.gz (63.5 kB view details)

Uploaded Source

Built Distribution

pyattimo-0.1.2-cp37-abi3-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.34+ x86-64

File details

Details for the file pyattimo-0.1.2.tar.gz.

File metadata

  • Download URL: pyattimo-0.1.2.tar.gz
  • Upload date:
  • Size: 63.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.2.3

File hashes

Hashes for pyattimo-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d0f88ab39b9c50288f5ae5a31128723fd48416c86636e7c424ea6c887127bc13
MD5 cc9f1b4467359fb99d64f923a3f626ec
BLAKE2b-256 108a58ae78af65a8ab75ff3572f5b640b7402e59ae90b29c19a6a8b4e1b24b5b

See more details on using hashes here.

File details

Details for the file pyattimo-0.1.2-cp37-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyattimo-0.1.2-cp37-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 92e9b936ae009b8d91700d69c76909720be45d15e30827700c04280df6b480fe
MD5 e45d70c02c02d2830a26717c9c366aa5
BLAKE2b-256 dcecca4806ca49e798081f92b5538305f22fe8fc24299f7caa0ed3a4320b2bde

See more details on using hashes here.

Supported by

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