
समय श्रृंखला विश्लेषण हेतु स्केलेबल पायथन लाइब्रेरी, जो मैट्रिक्स प्रोफाइल के माध्यम से मोटिफ खोज, विसंगति पहचान, सिमेंटिक विभाजन और स्ट्रीमिंग पैटर्न खनन को सक्षम बनाती है।
|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 एक शक्तिशाली और स्केलेबल Python लाइब्रेरी है जो कुशलतापूर्वक matrix profile <https://stumpy.readthedocs.io/en/latest/Tutorial_The_Matrix_Profile.html>__ नामक चीज़ की गणना करती है, जो केवल यह कहने का एक अकादमिक तरीका है "आपकी टाइम सीरीज़ के भीतर प्रत्येक (हरे) उप-अनुक्रम के लिए, स्वचालित रूप से उसके संबंधित निकटतम-पड़ोसी (ग्रे) की पहचान करें":
.. image:: https://github.com/stumpy-dev/stumpy/blob/main/docs/images/stumpy_demo.gif?raw=true :alt: STUMPY Animated GIF
महत्वपूर्ण बात यह है कि एक बार जब आप अपने matrix profile (ऊपर मध्य पैनल) की गणना कर लेते हैं, तो इसका उपयोग विभिन्न टाइम सीरीज़ डेटा माइनिंग कार्यों के लिए किया जा सकता है, जैसे:
और भी ... <https://www.cs.ucr.edu/~eamonn/100_Time_Series_Data_Mining_Questions__with_Answers.pdf>__चाहे आप एक अकादमिक, डेटा वैज्ञानिक, सॉफ्टवेयर डेवलपर या टाइम सीरीज़ उत्साही हों, STUMPY को स्थापित करना सीधा है और हमारा लक्ष्य आपको आपकी टाइम सीरीज़ अंतर्दृष्टि तक तेज़ी से पहुंचाना है। अधिक जानकारी के लिए दस्तावेज़ <https://stumpy.readthedocs.io/en/latest/>__ देखें।
कृपया उपलब्ध फ़ंक्शनों की पूरी सूची के लिए हमारा API दस्तावेज़ <https://stumpy.readthedocs.io/en/latest/api.html>__ देखें और अधिक व्यापक उदाहरण उपयोग मामलों के लिए हमारे जानकारीपूर्ण ट्यूटोरियल <https://stumpy.readthedocs.io/en/latest/tutorials.html>__ देखें। नीचे, आपको कोड स्निपेट मिलेंगे जो शीघ्रता से दर्शाते हैं कि STUMPY का उपयोग कैसे करें।
STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ के साथ विशिष्ट उपयोग (1-आयामी टाइम सीरीज़ डेटा):
.. 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)
Dask Distributed के माध्यम से STUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ के साथ 1-आयामी टाइम सीरीज़ डेटा के लिए वितरित उपयोग:
.. 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)
GPU-STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ के साथ 1-आयामी टाइम सीरीज़ डेटा के लिए GPU उपयोग:
.. 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)
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)
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)
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)