
Bibliothèque Python évolutive pour l'analyse de séries temporelles via les profils matriciels, permettant la découverte de motifs, la détection d'anomalies, la segmentation sémantique et l'extraction de motifs en continu.
|PyPI Version| |Conda Forge Version| |PyPI Downloads| |License| |Test Status| |Code Coverage|
|RTD Status| |Binder| |JOSS| |NumFOCUS|
.. |PyPI Version| image:: https://img.shields.io/pypi/v/stumpy.svg :target: https://pypi.org/project/stumpy/ :alt: PyPI Version .. |Conda Forge Version| image:: https://anaconda.org/conda-forge/stumpy/badges/version.svg :target: https://anaconda.org/conda-forge/stumpy :alt: Conda-Forge Version .. |PyPI Downloads| image:: https://static.pepy.tech/badge/stumpy/month :target: https://pepy.tech/project/stumpy :alt: PyPI Downloads .. |License| image:: https://img.shields.io/pypi/l/stumpy.svg :target: https://github.com/stumpy-dev/stumpy/blob/main/LICENSE.txt :alt: License .. |Test Status| image:: https://github.com/stumpy-dev/stumpy/workflows/Tests/badge.svg :target: https://github.com/stumpy-dev/stumpy/actions?query=workflow%3ATests+branch%3Amain :alt: Test Status .. |Code Coverage| image:: https://img.shields.io/badge/Coverage-100%25-green :alt: Code Coverage .. |RTD Status| image:: https://readthedocs.org/projects/stumpy/badge/?version=latest :target: https://stumpy.readthedocs.io/ :alt: ReadTheDocs Status .. |Binder| image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/stumpy-dev/stumpy/main?filepath=notebooks :alt: Binder .. |JOSS| image:: http://joss.theoj.org/papers/10.21105/joss.01504/status.svg :target: https://doi.org/10.21105/joss.01504 :alt: JOSS .. |DOI| image:: https://zenodo.org/badge/184809315.svg :target: https://zenodo.org/badge/latestdoi/184809315 :alt: DOI .. |NumFOCUS| image:: https://img.shields.io/badge/NumFOCUS-Affiliated%20Project-orange.svg?style=flat&colorA=E1523D&colorB=007D8A :target: https://numfocus.org/sponsored-projects/affiliated-projects :alt: NumFOCUS Affiliated Project .. |Twitter| image:: https://img.shields.io/twitter/follow/stumpy_dev.svg?style=social :target: https://twitter.com/stumpy_dev :alt: Twitter
|
.. image:: https://raw.githubusercontent.com/stumpy-dev/stumpy/main/docs/images/stumpy_logo_small.png :target: https://github.com/stumpy-dev/stumpy :alt: STUMPY Logo
STUMPY est une bibliothèque Python puissante et évolutive qui calcule efficacement ce que l'on appelle la matrix profile <https://stumpy.readthedocs.io/en/latest/Tutorial_The_Matrix_Profile.html>__, ce qui n'est qu'une façon académique de dire « pour chaque sous-séquence (verte) de votre série temporelle, identifier automatiquement son plus proche voisin (gris) » :
.. image:: https://github.com/stumpy-dev/stumpy/blob/main/docs/images/stumpy_demo.gif?raw=true :alt: STUMPY Animated GIF
Ce qui est important, c'est qu'une fois que vous avez calculé votre matrix profile (panneau du milieu ci-dessus), il peut ensuite être utilisé pour une variété de tâches d'exploration de données de séries temporelles, telles que :
et plus encore ... <https://www.cs.ucr.edu/~eamonn/100_Time_Series_Data_Mining_Questions__with_Answers.pdf>__Que vous soyez universitaire, data scientist, développeur de logiciels ou passionné de séries temporelles, STUMPY est simple à installer et notre objectif est de vous permettre d'obtenir plus rapidement des informations à partir de vos séries temporelles. Consultez la documentation <https://stumpy.readthedocs.io/en/latest/>__ pour plus d'informations.
Veuillez consulter notre documentation de l'API <https://stumpy.readthedocs.io/en/latest/api.html>__ pour une liste complète des fonctions disponibles et nos tutoriels <https://stumpy.readthedocs.io/en/latest/tutorials.html>__ informatifs pour des cas d'utilisation plus complets. Vous trouverez ci-dessous des extraits de code qui montrent rapidement comment utiliser STUMPY.
Utilisation typique (données de séries temporelles unidimensionnelles) avec STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__:
.. code:: python
import stumpy
import numpy as np
if __name__ == "__main__":
your_time_series = np.random.rand(10000)
window_size = 50 # Approximately, how many data points might be found in a pattern
matrix_profile = stumpy.stump(your_time_series, m=window_size)
Utilisation distribuée pour les données de séries temporelles unidimensionnelles avec Dask Distributed via STUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__:
.. code:: python
import stumpy
import numpy as np
from dask.distributed import Client
if __name__ == "__main__":
with Client() as dask_client:
your_time_series = np.random.rand(10000)
window_size = 50 # Approximately, how many data points might be found in a pattern
matrix_profile = stumpy.stumped(dask_client, your_time_series, m=window_size)
Utilisation du GPU pour les données de séries temporelles unidimensionnelles avec GPU-STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__:
.. code:: python
import stumpy
import numpy as np
from numba import cuda
if __name__ == "__main__":
your_time_series = np.random.rand(10000)
window_size = 50 # Approximately, how many data points might be found in a pattern
all_gpu_devices = [device.id for device in cuda.list_devices()] # Get a list of all available GPU devices
matrix_profile = stumpy.gpu_stump(your_time_series, m=window_size, device_id=all_gpu_devices)
Données de séries temporelles multidimensionnelles avec MSTUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.mstump>__:
.. code:: python
import stumpy
import numpy as np
if __name__ == "__main__":
your_time_series = np.random.rand(3, 1000) # Each row represents data from a different dimension while each column represents data from the same dimension
window_size = 50 # Approximately, how many data points might be found in a pattern
matrix_profile, matrix_profile_indices = stumpy.mstump(your_time_series, m=window_size)
Analyse distribuée de données de séries temporelles multidimensionnelles avec Dask Distributed MSTUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.mstumped>__:
.. code:: python
import stumpy
import numpy as np
from dask.distributed import Client
if __name__ == "__main__":
with Client() as dask_client:
your_time_series = np.random.rand(3, 1000) # Each row represents data from a different dimension while each column represents data from the same dimension
window_size = 50 # Approximately, how many data points might be found in a pattern
matrix_profile, matrix_profile_indices = stumpy.mstumped(dask_client, your_time_series, m=window_size)
Chaînes de séries temporelles avec Anchored Time Series Chains (ATSC) <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.atsc>__:
.. code:: python
import stumpy
import numpy as np
if __name__ == "__main__":
your_time_series = np.random.rand(10000)
window_size = 50 # Approximately, how many data points might be found in a pattern
matrix_profile = stumpy.stump(your_time_series, m=window_size)
left_matrix_profile_index = matrix_profile[:, 2]
right_matrix_profile_index = matrix_profile[:, 3]
idx = 10 # Subsequence index for which to retrieve the anchored time series chain for
anchored_chain = stumpy.atsc(left_matrix_profile_index, right_matrix_profile_index, idx)
all_chain_set, longest_unanchored_chain = stumpy.allc(left_matrix_profile_index, right_matrix_profile_index)
Segmentation sémantique avec Fast Low-cost Unipotent Semantic Segmentation (FLUSS) <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.fluss>__:
.. code:: python
import stumpy
import numpy as np
if __name__ == "__main__":
your_time_series = np.random.rand(10000)
window_size = 50 # Approximately, how many data points might be found in a pattern
matrix_profile = stumpy.stump(your_time_series, m=window_size)
subseq_len = 50
correct_arc_curve, regime_locations = stumpy.fluss(matrix_profile[:, 1],
L=subseq_len,
n_regimes=2,
excl_factor=1
)
Les versions prises en charge de Python et NumPy sont déterminées conformément à la politique d'abandon NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>__.
NumPy <http://www.numpy.org/>__Numba <http://numba.pydata.org/>__SciPy <https://www.scipy.org/>__conda:
.. code:: bash
conda install -c conda-forge stumpy
pip:
.. code:: bash
python -m pip install stumpy
pixi:
.. code:: bash
pixi add stumpy
uv:
.. code:: bash
uv add stumpy
Pour installer stumpy à partir des sources, consultez les instructions dans la documentation <https://stumpy.readthedocs.io/en/latest/install.html>__.
Afin de bien comprendre et apprécier les algorithmes et applications sous-jacents, il est impératif de lire les publications_ originales. Pour un exemple plus détaillé de l'utilisation de STUMPY, veuillez consulter la documentation <https://stumpy.readthedocs.io/en/latest/>__ la plus récente ou explorer nos tutoriels pratiques <https://stumpy.readthedocs.io/en/latest/tutorials.html>__.
Nous avons testé les performances du calcul du matrix profile exact en utilisant la version compilée JIT de Numba du code sur des données de séries temporelles générées aléatoirement avec différentes longueurs (c.-à-d. np.random.rand(n)) ainsi que sur différentes ressources matérielles CPU et GPU <hardware_>_.
.. image:: https://raw.githubusercontent.com/stumpy-dev/stumpy/main/docs/images/performance.png :alt: STUMPY Performance Plot
Les résultats bruts sont affichés dans le tableau ci-dessous au format Heures:Minutes:Secondes.Millisecondes et avec une taille de fenêtre constante de m = 50. Notez que ces temps d'exécution rapportés incluent le temps nécessaire pour transférer les données de l'hôte vers tous les GPU. Vous devrez peut-être faire défiler le tableau vers la droite pour voir tous les temps d'exécution.
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| i | n = 2\ :sup:i | GPU-STOMP | STUMP.2 | STUMP.16 | STUMPED.128 | STUMPED.256 | GPU-STUMP.1 | GPU-STUMP.2 | GPU-STUMP.DGX1 | GPU-STUMP.DGX2 |
+==========+===================+==============+=============+=============+=============+=============+=============+=============+================+================+
| 6 | 64 | 00:00:10.00 | 00:00:00.00 | 00:00:00.00 | 00:00:05.77 | 00:00:06.08 | 00:00:00.03 | 00:00:01.63 | NaN | NaN |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 7 | 128 | 00:00:10.00 | 00:00:00.00 | 00:00:00.00 | 00:00:05.93 | 00:00:07.29 | 00:00:00.04 | 00:00:01.66 | NaN | NaN |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 8 | 256 | 00:00:10.00 | 00:00:00.00 | 00:00:00.01 | 00:00:05.95 | 00:00:07.59 | 00:00:00.08 | 00:00:01.69 | 00:00:06.68 | 00:00:25.68 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 9 | 512 | 00:00:10.00 | 00:00:00.00 | 00:00:00.02 | 00:00:05.97 | 00:00:07.47 | 00:00:00.13 | 00:00:01.66 | 00:00:06.59 | 00:00:27.66 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 10 | 1024 | 00:00:10.00 | 00:00:00.02 | 00:00:00.04 | 00:00:05.69 | 00:00:07.64 | 00:00:00.24 | 00:00:01.72 | 00:00:06.70 | 00:00:30.49 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 11 | 2048 | NaN | 00:00:00.05 | 00:00:00.09 | 00:00:05.60 | 00:00:07.83 | 00:00:00.53 | 00:00:01.88 | 00:00:06.87 | 00:00:31.09 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 12 | 4096 | NaN | 00:00:00.22 | 00:00:00.19 | 00:00:06.26 | 00:00:07.90 | 00:00:01.04 | 00:00:02.19 | 00:00:06.91 | 00:00:33.93 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 13 | 8192 | NaN | 00:00:00.50 | 00:00:00.41 | 00:00:06.29 | 00:00:07.73 | 00:00:01.97 | 00:00:02.49 | 00:00:06.61 | 00:00:33.81 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 14 | 16384 | NaN | 00:00:01.79 | 00:00:00.99 | 00:00:06.24 | 00:00:08.18 | 00:00:03.69 | 00:00:03.29 | 00:00:07.36 | 00:00:35.23 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 15 | 32768 | NaN | 00:00:06.17 | 00:00:02.39 | 00:00:06.48 | 00:00:08.29 | 00:00:07.45 | 00:00:04.93 | 00:00:07.02 | 00:00:36.09 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 16 | 65536 | NaN | 00:00:22.94 | 00:00:06.42 | 00:00:07.33 | 00:00:09.01 | 00:00:14.89 | 00:00:08.12 | 00:00:08.10 | 00:00:36.54 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 17 | 131072 | 00:00:10.00 | 00:01:29.27 | 00:00:19.52 | 00:00:09.75 | 00:00:10.53 | 00:00:29.97 | 00:00:15.42 | 00:00:09.45 | 00:00:37.33 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 18 | 262144 | 00:00:18.00 | 00:05:56.50 | 00:01:08.44 | 00:00:33.38 | 00:00:24.07 | 00:00:59.62 | 00:00:27.41 | 00:00:13.18 | 00:00:39.30 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 19 | 524288 | 00:00:46.00 | 00:25:34.58 | 00:03:56.82 | 00:01:35.27 | 00:03:43.66 | 00:01:56.67 | 00:00:54.05 | 00:00:19.65 | 00:00:41.45 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 20 | 1048576 | 00:02:30.00 | 01:51:13.43 | 00:19:54.75 | 00:04:37.15 | 00:03:01.16 | 00:05:06.48 | 00:02:24.73 | 00:00:32.95 | 00:00:46.14 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 21 | 2097152 | 00:09:15.00 | 09:25:47.64 | 03:05:07.64 | 00:13:36.51 | 00:08:47.47 | 00:20:27.94 | 00:09:41.43 | 00:01:06.51 | 00:01:02.67 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 22 | 4194304 | NaN | 36:12:23.74 | 10:37:51.21 | 00:55:44.43 | 00:32:06.70 | 01:21:12.33 | 00:38:30.86 | 00:04:03.26 | 00:02:23.47 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 23 | 8388608 | NaN | 143:16:09.94| 38:42:51.42 | 03:33:30.53 | 02:00:49.37 | 05:11:44.45 | 02:33:14.60 | 00:15:46.26 | 00:08:03.76 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 24 | 16777216 | NaN | NaN | NaN | 14:39:11.99 | 07:13:47.12 | 20:43:03.80 | 09:48:43.42 | 01:00:24.06 | 00:29:07.84 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| NaN | 17729800 | 09:16:12.00 | NaN | NaN | 15:31:31.75 | 07:18:42.54 | 23:09:22.43 | 10:54:08.64 | 01:07:35.39 | 00:32:51.55 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 25 | 33554432 | NaN | NaN | NaN | 56:03:46.81 | 26:27:41.29 | 83:29:21.06 | 39:17:43.82 | 03:59:32.79 | 01:54:56.52 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 26 | 67108864 | NaN | NaN | NaN | 211:17:37.60| 106:40:17.17| 328:58:04.68| 157:18:30.50| 15:42:15.94 | 07:18:52.91 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| NaN | 100000000 | 291:07:12.00 | NaN | NaN | NaN | 234:51:35.39| NaN | NaN | 35:03:44.61 | 16:22:40.81 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
| 27 | 134217728 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 64:41:55.09 | 29:13:48.12 |
+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+
^^^^^^^^^^^^^^^^^^ Ressources matérielles ^^^^^^^^^^^^^^^^^^
.. _hardware:
GPU-STOMP: Ces résultats sont repris de l'article original Matrix Profile II <https://ieeexplore.ieee.org/abstract/document/7837898>__ - NVIDIA Tesla K80 (contient 2 GPU) et servent de référence de performance à laquelle comparer.
STUMP.2: stumpy.stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ exécuté avec 2 CPU au total - 2x processeurs Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz parallélisés avec Numba sur un seul serveur sans Dask.
STUMP.16: stumpy.stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ exécuté avec 16 CPU au total - 16x processeurs Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz parallélisés avec Numba sur un seul serveur sans Dask.STUMPED.128: stumpy.stumped <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ exécuté avec 128 CPU au total - 8x processeurs Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz x 16 serveurs, parallélisé avec Numba, et distribué avec Dask Distributed.
STUMPED.256: stumpy.stumped <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ exécuté avec 256 CPU au total - 8x processeurs Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz x 32 serveurs, parallélisé avec Numba, et distribué avec Dask Distributed.
GPU-STUMP.1: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ exécuté avec 1x GPU NVIDIA GeForce GTX 1080 Ti, 512 threads par bloc, limite de puissance de 200 W, compilé en CUDA avec Numba, et parallélisé avec multiprocessing Python
GPU-STUMP.2: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ exécuté avec 2x GPU NVIDIA GeForce GTX 1080 Ti, 512 threads par bloc, limite de puissance de 200 W, compilé en CUDA avec Numba, et parallélisé avec multiprocessing Python
GPU-STUMP.DGX1: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ exécuté avec 8x NVIDIA Tesla V100, 512 threads par bloc, compilé en CUDA avec Numba, et parallélisé avec multiprocessing Python
GPU-STUMP.DGX2: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ exécuté avec 16x NVIDIA Tesla V100, 512 threads par bloc, compilé en CUDA avec Numba, et parallélisé avec multiprocessing Python
Les tests sont écrits dans le répertoire tests et traités à l'aide de PyTest <https://docs.pytest.org/en/latest/>__ ; ils nécessitent coverage.py pour l'analyse de la couverture de code. Les tests peuvent être exécutés avec :
.. code:: bash
./test.sh
STUMPY prend en charge Python 3.10+ <https://python3statement.org/>__ et, en raison de l'utilisation de noms/identifiants de variables unicode, n'est pas compatible avec Python 2.x. Compte tenu des dépendances réduites, STUMPY peut fonctionner sur des versions plus anciennes de Python, mais cela dépasse le cadre de notre support et nous vous recommandons fortement de passer à la version la plus récente de Python.
Tout d'abord, veuillez consulter les discussions <https://github.com/stumpy-dev/stumpy/discussions>__ et les issues <https://github.com/stumpy-dev/stumpy/issues?utf8=%E2%9C%93&q=>__ sur GitHub pour voir si votre question a déjà trouvé une réponse. Si aucune solution n'y est disponible, n'hésitez pas à ouvrir une nouvelle discussion ou une nouvelle issue ; les auteurs s'efforceront de répondre dans un délai raisonnable.
Nous accueillons les contributions <https://github.com/stumpy-dev/stumpy/blob/main/CONTRIBUTING.md>__ sous toutes leurs formes ! L'aide à la documentation, en particulier l'expansion des tutoriels, est toujours la bienvenue. Pour contribuer, veuillez forker le projet <https://github.com/stumpy-dev/stumpy/fork>__, effectuer vos modifications et soumettre une pull request. Nous ferons de notre mieux pour résoudre tout problème avec vous et intégrer votre code dans la branche principale.
Si vous avez utilisé cette base de code dans une publication scientifique et souhaitez la citer, veuillez utiliser l'article du Journal of Open Source Software <http://joss.theoj.org/papers/10.21105/joss.01504>__.
S.M. Law, (2019). *STUMPY: A Powerful and Scalable Python Library for Time Series Data Mining*. Journal of Open Source Software, 4(39), 1504.
.. code:: bibtex
@article{law2019stumpy,
author = {Law, Sean M.},
title = {{STUMPY: A Powerful and Scalable Python Library for Time Series Data Mining}},
journal = {{The Journal of Open Source Software}},
volume = {4},
number = {39},
pages = {1504},
year = {2019}
}
.. _publications:
Yeh, Chin-Chia Michael, et al. (2016) Matrix Profile I: All Pairs Similarity Joins for Time Series: A Unifying View that Includes Motifs, Discords, and Shapelets. ICDM:1317-1322. Lien <https://ieeexplore.ieee.org/abstract/document/7837992>__
Zhu, Yan, et al. (2016) Matrix Profile II: Exploiting a Novel Algorithm and GPUs to Break the One Hundred Million Barrier for Time Series Motifs and Joins. ICDM:739-748. Lien <https://ieeexplore.ieee.org/abstract/document/7837898>__
Yeh, Chin-Chia Michael, et al. (2017) Matrix Profile VI: Meaningful Multidimensional Motif Discovery. ICDM:565-574. Lien <https://ieeexplore.ieee.org/abstract/document/8215529>__
Zhu, Yan, et al. (2017) Matrix Profile VII: Time Series Chains: A New Primitive for Time Series Data Mining. ICDM:695-704. Lien <https://ieeexplore.ieee.org/abstract/document/8215542>__
Gharghabi, Shaghayegh, et al. (2017) Matrix Profile VIII: Domain Agnostic Online Semantic Segmentation at Superhuman Performance Levels. ICDM:117-126. Lien <https://ieeexplore.ieee.org/abstract/document/8215484>__
Zhu, Yan, et al. (2017) Exploiting a Novel Algorithm and GPUs to Break the Ten Quadrillion Pairwise Comparisons Barrier for Time Series Motifs and Joins. KAIS:203-236. Lien <https://link.springer.com/article/10.1007%2Fs10115-017-1138-x>__
Zhu, Yan, et al. (2018) Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds. ICDM:837-846. Lien <https://ieeexplore.ieee.org/abstract/document/8594908>__
Yeh, Chin-Chia Michael, et al. (2018) Time Series Joins, Motifs, Discords and Shapelets: a Unifying View that Exploits the Matrix Profile. Data Min Knowl Disc:83-123. Lien <https://link.springer.com/article/10.1007/s10618-017-0519-9>__
Gharghabi, Shaghayegh, et al. (2018) "Matrix Profile XII: MPdist: A Novel Time Series Distance Measure to Allow Data Mining in More Challenging Scenarios." ICDM:965-970. Lien <https://ieeexplore.ieee.org/abstract/document/8594928>__
Zimmerman, Zachary, et al. (2019) Matrix Profile XIV: Scaling Time Series Motif Discovery with GPUs to Break a Quintillion Pairwise Comparisons a Day and Beyond. SoCC '19:74-86. Lien <https://dl.acm.org/doi/10.1145/3357223.3362721>__
Akbarinia, Reza, and Betrand Cloez. (2019) Efficient Matrix Profile Computation Using Different Distance Functions. arXiv:1901.05708. Lien <https://arxiv.org/abs/1901.05708>__
Kamgar, Kaveh, et al. (2019) Matrix Profile XV: Exploiting Time Series Consensus Motifs to Find Structure in Time Series Sets. ICDM:1156-1161. Lien <https://ieeexplore.ieee.org/abstract/document/8970797>__
| STUMPY | Copyright 2019 TD Ameritrade. Publié sous les termes de la licence BSD 3-Clause. | STUMPY est une marque déposée de TD Ameritrade IP Company, Inc. Tous droits réservés.