momenti-motifs

Scalable mining of multidimensional time series motifs.

https://github.com/aidalabdei/momenti-motifs

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

lsh-algorithm motif-discovery timeseries
Last synced: 6 months ago · JSON representation ·

Repository

Scalable mining of multidimensional time series motifs.

Basic Info
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
lsh-algorithm motif-discovery timeseries
Created about 2 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

MOMENTI

Scalable discovery of multidimensional motifs in time series The algorithm employs Locality Sensitive Hashing `(LSH)` to prune the number of distance computations required to discover subdimensional motifs in multidimensional time series.

Implementation details

The code is implemented in Python 3.12, and it heavily relies on the numba, multiprocessing and numpy libraries to ensure scalability.

pyproject.toml is provided to allow the creation of a working environment.

The algorithm has anytime properties, computation can be stopped at any given point (i.e., CTRL + C) and the algorithm will return the best results it achieved.

Discretized Random Projections LSH has been implemented with the use of tensoring to minimize the hash evaluations.

For general use the MOMENTI function does all the heavy lifting (i.e., deals with NaN values, transforms the time series in the correct format for the algorithm, etc.).

We additionally include our implementation of the axis-aligned projection algorithm introduced in the work of Minnen et al., 2007.

Reproducibility

The scripts in the folder tests replicate all the tests performed in the paper and some additional tests that we could not fit in the paper due to space limitations, the scripts produce .csv files in the results folder.

The *_plotter.py scripts in the folder results collect the raw results and plot them.

Installation as a Python package

bash pip install git+https://github.com/aidaLabDEI/MOMENTI-motifs ```python from MOMENTI import MOMENTI

Example usage

Find k multidimensional motifs for each dimensionality from 2 to D:

let Ts be a D-dimensional time series as a numpy array,

window the length of the motifs to discover,

and k the number of motifs to discover

motifs, _ = MOMENTI(Ts, window, k, (2,D))

Find k multidimensional motifs that span d dimensions, d∈[2,D]:

motifs, _ = MOMENTI(Ts, window, k, (d,d)) ```

Citing

bibtex @article{Ceccarello2025MOMENTI, author = {Ceccarello, Matteo and Monaco, Francesco Pio and Silvestri, Francesco}, title = {{MOMENTI: Scalable Motif Mining in Multidimensional Time Series}}, journal = {PVLDB}, volume = {18}, number = {10}, pages = {3463--3476}, year = {2025}, doi = {10.14778/3748191.3748208}, url = {https://github.com/aidaLabDEI/MOMENTI-motifs} }

Owner

  • Login: aidaLabDEI
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it using the metadata from this file."
authors:
  - family-names: "Ceccarello"
    given-names: "Matteo"
    orcid: "https://orcid.org/0000-0003-2783-0218"
  - family-names: "Monaco"
    given-names: "Francesco Pio"
    orcid: "https://orcid.org/0009-0003-6341-3021"
  - family-names: "Silvestri"
    given-names: "Francesco"
    orcid: "https://orcid.org/0000-0002-9077-9921"
title: "MOMENTI: Scalable Motif Mining in Multidimensional Time Series"
version: 0.2.5
url: "https://github.com/aidaLabDEI/MOMENTI-motifs"
preferred-citation:
  type: conference-paper
  authors:
    - family-names: "Ceccarello"
      given-names: "Matteo"
      orcid: "https://orcid.org/0000-0003-2783-0218"
    - family-names: "Monaco"
      given-names: "Francesco Pio"
      orcid: "https://orcid.org/0009-0003-6341-3021"
    - family-names: "Silvestri"
      given-names: "Francesco"
      orcid: "https://orcid.org/0000-0002-9077-9921"
  doi: "10.14778/3748191.3748208"
  title: "MOMENTI: Scalable Motif Mining in Multidimensional Time Series"
  journal: "PVLDB"
  volume: 18
  issue: 10
  start: 3463
  end: 3476
  year: 2025

GitHub Events

Total
  • Push event: 5
Last Year
  • Push event: 5