Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
stumpy — Масштабируемая библиотека Python для анализа временных рядов с использованием матричных профилей, обеспечивающая обнаружение мотивов, выявление аномалий, семантическую сегментацию и потоковый поиск паттернов. | Kitploit
Инструменты/GitHubGitHub/stumpy-dev/stumpy
Утилиты общего назначенияМашинное ОбучениеОбнаружение АномалийТоп в Обнаружение Аномалий №13
GitHubstumpy-dev/stumpy

stumpy

Масштабируемая библиотека Python для анализа временных рядов с использованием матричных профилей, обеспечивающая обнаружение мотивов, выявление аномалий, семантическую сегментацию и потоковый поиск паттернов.

Репозиторий
4.2k3716120 дней назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

|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 — это мощная и масштабируемая библиотека Python, которая эффективно вычисляет то, что называется матричным профилем <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

Что важно, после вычисления матричного профиля (средняя панель на изображении выше) его можно использовать для различных задач интеллектуального анализа временных рядов, таких как:

  • обнаружение паттернов/мотивов (приблизительно повторяющихся подпоследовательностей в более длинном временном ряду)
  • обнаружение аномалий/новизны (дискордов)
  • обнаружение шейплетов
  • семантическая сегментация
  • потоковые (онлайн) данные
  • быстрые приближённые матричные профили
  • цепочки временных рядов (упорядоченное по времени множество паттернов подпоследовательностей)
  • сниппеты для суммаризации длинных временных рядов
  • панорамные матричные профили для выбора оптимального размера окна подпоследовательностей
  • и многое другое ... <https://www.cs.ucr.edu/~eamonn/100_Time_Series_Data_Mining_Questions__with_Answers.pdf>__

Будь вы исследователем, специалистом по данным, разработчиком программного обеспечения или энтузиастом временных рядов, STUMPY прост в установке, и наша цель — помочь вам быстрее получать знания из ваших временных рядов. Подробнее см. в документации <https://stumpy.readthedocs.io/en/latest/>__.


Как использовать STUMPY

Полный список доступных функций см. в нашей документации по 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>__:

.. 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>__:

.. 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 для одномерных данных временного ряда с помощью 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)

Многомерные данные временного ряда с помощью 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)
Скачать инструмент