momenti-motifs
Scalable mining of multidimensional time series 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
Repository
Scalable mining of multidimensional time series motifs.
Basic Info
- Host: GitHub
- Owner: aidaLabDEI
- License: agpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://hdl.handle.net/20.500.12608/69345
- Size: 65.7 MB
Statistics
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
MOMENTI
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
- Repositories: 1
- Profile: https://github.com/aidaLabDEI
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