Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
stumpy — Skalierbare Python-Bibliothek für die Zeitreihenanalyse mittels Matrix-Profilen, die Motiv-Erkennung, Anomalieerkennung, semantische Segmentierung und Streaming-Mustererkennung ermöglicht. | Kitploit
Tools/GitHubGitHub/stumpy-dev/stumpy
Allgemeine DienstprogrammeMaschinelles LernenAnomalieerkennung
GitHubstumpy-dev/stumpy

stumpy

Skalierbare Python-Bibliothek für die Zeitreihenanalyse mittels Matrix-Profilen, die Motiv-Erkennung, Anomalieerkennung, semantische Segmentierung und Streaming-Mustererkennung ermöglicht.

Repository anzeigenWebseite
4.1k367vor 1 TagVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

|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

STUMPY ist eine leistungsstarke und skalierbare Python-Bibliothek, die effizient etwas berechnet, das als Matrixprofil <https://stumpy.readthedocs.io/en/latest/Tutorial_The_Matrix_Profile.html>__ bezeichnet wird – was nur eine akademische Art zu sagen ist: „Für jede (grüne) Teilsequenz innerhalb deiner Zeitreihe automatisch ihren entsprechenden nächsten Nachbarn (grau) identifizieren“:

.. image:: https://github.com/stumpy-dev/stumpy/blob/main/docs/images/stumpy_demo.gif?raw=true :alt: STUMPY Animated GIF

Wichtig ist, dass das einmal berechnete Matrixprofil (mittleres Feld oben) anschließend für eine Vielzahl von Zeitreihen-Data-Mining-Aufgaben verwendet werden kann, z. B.:

  • Erkennung von Mustern/Motiven (annähernd wiederholte Teilsequenzen innerhalb einer längeren Zeitreihe)
  • Erkennung von Anomalien/Neuheiten (Discords)
  • Erkennung von Shapelets
  • semantische Segmentierung
  • Streaming-Daten (Online-Daten)
  • schnelle approximative Matrixprofile
  • Zeitreihen-Ketten (zeitlich geordnete Menge von Teilsequenzmustern)
  • Snippets zur Zusammenfassung langer Zeitreihen
  • Pan-Matrixprofile zur Auswahl der besten Teilsequenz-Fenstergröße(n)
  • und mehr ... <https://www.cs.ucr.edu/~eamonn/100_Time_Series_Data_Mining_Questions__with_Answers.pdf>__

Ob Sie in der Wissenschaft, als Data Scientist, Softwareentwickler oder als Zeitreihen-Enthusiast arbeiten: STUMPY ist unkompliziert zu installieren, und unser Ziel ist es, Ihnen schneller zu Ihren Zeitreihen-Erkenntnissen zu verhelfen. Weitere Informationen finden Sie in der Dokumentation <https://stumpy.readthedocs.io/en/latest/>__.


Verwendung von STUMPY

Eine vollständige Liste aller verfügbaren Funktionen finden Sie in unserer API-Dokumentation <https://stumpy.readthedocs.io/en/latest/api.html>, und ausführlichere Anwendungsbeispiele finden Sie in unseren informativen Tutorials <https://stumpy.readthedocs.io/en/latest/tutorials.html>. Im Folgenden finden Sie Codeausschnitte, die schnell zeigen, wie STUMPY verwendet wird.

Typische Verwendung (1-dimensionale Zeitreihendaten) mit STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__:

.. code:: python

root@kitploit:~
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)

Verteilte Verwendung für 1-dimensionale Zeitreihendaten mit Dask Distributed über STUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__:

.. code:: python

root@kitploit:~
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)

GPU-Verwendung für 1-dimensionale Zeitreihendaten mit GPU-STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__:

.. code:: python

root@kitploit:~
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)

Mehrdimensionale Zeitreihendaten mit MSTUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.mstump>__:

.. code:: python

root@kitploit:~
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)

Verteilte mehrdimensionale Zeitreihendatenanalyse mit Dask Distributed MSTUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.mstumped>__:

.. code:: python

root@kitploit:~
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)

Time-Series-Chains mit Anchored Time Series Chains (ATSC) <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.atsc>__:

.. code:: python

root@kitploit:~
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)

Semantische Segmentierung mit Fast Low-cost Unipotent Semantic Segmentation (FLUSS) <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.fluss>__:

.. code:: python

root@kitploit:~
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
                                                    )

Abhängigkeiten

Die unterstützten Python- und NumPy-Versionen werden gemäß der NEP-29-Deprecation-Richtlinie <https://numpy.org/neps/nep-0029-deprecation_policy.html>__ festgelegt.

  • NumPy <http://www.numpy.org/>__
  • Numba <http://numba.pydata.org/>__
  • SciPy <https://www.scipy.org/>__

Bezugsquellen

conda:

.. code:: bash

root@kitploit:~
conda install -c conda-forge stumpy

pip:

.. code:: bash

root@kitploit:~
python -m pip install stumpy

pixi:

.. code:: bash

root@kitploit:~
pixi add stumpy

uv:

.. code:: bash

root@kitploit:~
uv add stumpy

Um stumpy aus dem Quellcode zu installieren, siehe die Anweisungen in der Dokumentation <https://stumpy.readthedocs.io/en/latest/install.html>__.


Dokumentation

Um die zugrunde liegenden Algorithmen und Anwendungen vollständig zu verstehen und zu würdigen, ist es unerlässlich, dass Sie die ursprünglichen Publikationen_ lesen. Für ein detaillierteres Beispiel zur Verwendung von STUMPY konsultieren Sie bitte die neueste Dokumentation <https://stumpy.readthedocs.io/en/latest/>__ oder erkunden Sie unsere praxisnahen Tutorials <https://stumpy.readthedocs.io/en/latest/tutorials.html>__.


Leistung

Wir haben die Leistung bei der Berechnung des exakten Matrixprofils mit der Numba-JIT-kompilierten Version des Codes anhand von zufällig generierten Zeitreihendaten unterschiedlicher Länge (d. h. np.random.rand(n)) sowie mit unterschiedlichen CPU- und GPU-Hardwareressourcen <hardware_>_ getestet.

.. image:: https://raw.githubusercontent.com/stumpy-dev/stumpy/main/docs/images/performance.png :alt: STUMPY Performance Plot

Die Rohdaten sind in der folgenden Tabelle als Stunden:Minuten:Sekunden.Millisekunden und mit einer konstanten Fenstergröße von m = 50 dargestellt. Beachten Sie, dass die angegebenen Laufzeiten die Zeit beinhalten, die benötigt wird, um die Daten vom Host auf alle GPU-Geräte zu übertragen. Möglicherweise müssen Sie in der Tabelle nach rechts scrollen, um alle Laufzeiten zu sehen.

+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 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 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+

^^^^^^^^^^^^^^^^^^ Hardwareressourcen ^^^^^^^^^^^^^^^^^^

.. _hardware:

GPU-STOMP: Diese Ergebnisse wurden aus der ursprünglichen Veröffentlichung Matrix Profile II <https://ieeexplore.ieee.org/abstract/document/7837898>__ übernommen – NVIDIA Tesla K80 (enthält 2 GPUs) und dienen als Leistungs-Benchmark, mit dem verglichen wird.

STUMP.2: stumpy.stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ ausgeführt mit insgesamt 2 CPUs – 2x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz-Prozessoren, mit Numba auf einem einzelnen Server ohne Dask parallelisiert.

STUMP.16: stumpy.stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ ausgeführt mit insgesamt 16 CPUs – 16x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz-Prozessoren, mit Numba auf einem einzelnen Server ohne Dask parallelisiert.STUMPED.128: stumpy.stumped <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ ausgeführt mit insgesamt 128 CPUs - 8x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz-Prozessoren x 16 Server, parallelisiert mit Numba und verteilt mit Dask Distributed.

STUMPED.256: stumpy.stumped <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ ausgeführt mit insgesamt 256 CPUs - 8x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz-Prozessoren x 32 Server, parallelisiert mit Numba und verteilt mit Dask Distributed.

GPU-STUMP.1: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ ausgeführt mit 1x NVIDIA GeForce GTX 1080 Ti GPU, 512 Threads pro Block, 200W-Leistungslimit, mit Numba zu CUDA kompiliert und mit Python multiprocessing parallelisiert.

GPU-STUMP.2: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ ausgeführt mit 2x NVIDIA GeForce GTX 1080 Ti GPU, 512 Threads pro Block, 200W-Leistungslimit, mit Numba zu CUDA kompiliert und mit Python multiprocessing parallelisiert.

GPU-STUMP.DGX1: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ ausgeführt mit 8x NVIDIA Tesla V100, 512 Threads pro Block, mit Numba zu CUDA kompiliert und mit Python multiprocessing parallelisiert.

GPU-STUMP.DGX2: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ ausgeführt mit 16x NVIDIA Tesla V100, 512 Threads pro Block, mit Numba zu CUDA kompiliert und mit Python multiprocessing parallelisiert.


Tests ausführen

Die Tests sind im tests-Verzeichnis abgelegt und werden mit PyTest <https://docs.pytest.org/en/latest/>__ ausgeführt; für die Codeabdeckungsanalyse wird coverage.py benötigt. Die Tests können wie folgt ausgeführt werden:

.. code:: bash

root@kitploit:~
./test.sh

Python-Version

STUMPY unterstützt Python 3.10+ <https://python3statement.org/>__ und ist aufgrund der Verwendung von Unicode-Variablennamen/-Bezeichnern nicht mit Python 2.x kompatibel. Angesichts der geringen Abhängigkeiten könnte STUMPY auch auf älteren Python-Versionen funktionieren, dies liegt jedoch außerhalb des Rahmens unserer Unterstützung, und wir empfehlen dringend, auf die neueste Version von Python zu aktualisieren.


Hilfe erhalten

Bitte prüfen Sie zunächst die Diskussionen <https://github.com/stumpy-dev/stumpy/discussions>__ und Issues <https://github.com/stumpy-dev/stumpy/issues?utf8=%E2%9C%93&q=>__ auf Github, um zu sehen, ob Ihre Frage dort bereits beantwortet wurde. Sollte dort keine Lösung verfügbar sein, können Sie gerne eine neue Diskussion oder ein neues Issue eröffnen, und die Autoren werden sich bemühen, in angemessener Zeit zu antworten.


Mitwirken

Wir freuen uns über Beiträge <https://github.com/stumpy-dev/stumpy/blob/main/CONTRIBUTING.md>__ in jeglicher Form! Unterstützung bei der Dokumentation, insbesondere beim Ausbau von Tutorials, ist immer willkommen. Um mitzuwirken, forken Sie bitte das Projekt <https://github.com/stumpy-dev/stumpy/fork>__, nehmen Sie Ihre Änderungen vor und reichen Sie einen Pull-Request ein. Wir werden unser Bestes tun, um etwaige Probleme mit Ihnen zu klären und Ihren Code in den Haupt-Branch zu übernehmen.


Zitieren

Wenn Sie diese Codebasis in einer wissenschaftlichen Publikation verwendet haben und sie zitieren möchten, verwenden Sie bitte den Artikel des Journal of Open Source Software <http://joss.theoj.org/papers/10.21105/joss.01504>__.

root@kitploit:~
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

root@kitploit:~
@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}
}

Referenzen

.. _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. Link <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. Link <https://ieeexplore.ieee.org/abstract/document/7837898>__

Yeh, Chin-Chia Michael, et al. (2017) Matrix Profile VI: Meaningful Multidimensional Motif Discovery. ICDM:565-574. Link <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. Link <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. Link <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. Link <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. Link <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. Link <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. Link <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. Link <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. Link <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. Link <https://ieeexplore.ieee.org/abstract/document/8970797>__


Lizenz & Markenzeichen

| STUMPY | Copyright 2019 TD Ameritrade. Veröffentlicht unter den Bedingungen der 3-Clause-BSD-Lizenz. | STUMPY ist ein Markenzeichen der TD Ameritrade IP Company, Inc. Alle Rechte vorbehalten.

Tool herunterladen