A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone.
.. image:: https://matrixprofile.org/static/img/mpf-logo.png :target: https://matrixprofile.org :height: 300px :scale: 50% :alt: MPF Logo | | .. image:: https://img.shields.io/pypi/v/matrixprofile.svg :target: https://pypi.org/project/matrixprofile/ :alt: PyPI Version .. image:: https://pepy.tech/badge/matrixprofile :target: https://pepy.tech/project/matrixprofile :alt: PyPI Downloads .. image:: https://img.shields.io/conda/vn/conda-forge/matrixprofile.svg :target: https://anaconda.org/conda-forge/matrixprofile :alt: Conda Version .. image:: https://img.shields.io/conda/dn/conda-forge/matrixprofile.svg :target: https://anaconda.org/conda-forge/matrixprofile :alt: Conda Downloads .. image:: https://codecov.io/gh/matrix-profile-foundation/matrixprofile/branch/master/graph/badge.svg :target: https://codecov.io/gh/matrix-profile-foundation/matrixprofile :alt: Code Coverage .. image:: https://dev.azure.com/conda-forge/feedstock-builds/apis/build/status/matrixprofile-feedstock?branchName=master :target: https://dev.azure.com/conda-forge/feedstock-builds/build/latest?definitionId=11637&branchName=master :alt: Azure Pipelines .. image:: https://api.travis-ci.com/matrix-profile-foundation/matrixprofile.svg?branch=master :target: https://travis-ci.com/matrix-profile-foundation/matrixprofile :alt: Build Status .. image:: https://img.shields.io/conda/pn/conda-forge/matrixprofile.svg :target: https://anaconda.org/conda-forge/matrixprofile :alt: Platforms .. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg :target: https://opensource.org/licenses/Apache-2.0 :alt: License .. image:: https://img.shields.io/twitter/follow/matrixprofile.svg?style=social :target: https://twitter.com/matrixprofile :alt: Twitter .. image:: https://img.shields.io/discord/589321741277462559?logo=discord :target: https://discordapp.com/invite/sBhDNXT :alt: Discord .. image:: https://joss.theoj.org/papers/10.21105/joss.02179/status.svg :target: https://doi.org/10.21105/joss.02179 :alt: JOSSDOI .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3789780.svg :target: https://doi.org/10.5281/zenodo.3789780 :alt: ZenodoDOI
MatrixProfile is a Python 3 library, brought to you by the
Matrix Profile Foundation, for mining time series data. The Matrix Profile is a novel data structure with corresponding algorithms (stomp, regimes, motifs, etc.) developed by the
Keoghand
Mueen_ research groups at UC-Riverside and the University of New Mexico. The goal of this library is to make these algorithms accessible to both the novice and expert through standardization of core concepts, a simplistic API, and sensible default parameter values.
In addition to this Python library, the Matrix Profile Foundation, provides implementations in other languages. These languages have a pretty consistent API allowing you to easily switch between them without a huge learning curve.
tsmp_ - an R implementation
go-matrixprofile_ - a Golang implementation
Currently, we support the following versions of Python:
Python 2 is no longer supported. There are earlier versions of this library that support Python 2.
The easiest way to install this library is using pip or conda. If you would like to install it from source, please review the
installation documentation_ for your platform.
Installation with pip
.. code-block:: bash
pip install matrixprofile
Installation with conda
.. code-block:: bash
conda config --add channels conda-forge conda install matrixprofile
This article provides introductory material on the Matrix Profile:
Introduction to Matrix Profiles_
This article provides details about core concepts introduced in this library:
How To Painlessly Analyze Your Time Series_
Our documentation provides a
quick start guide,
examplesand
api_ documentation. It is the source of truth for getting up and running.
For details about the algorithms implemented, including performance characteristics, please refer to the
documentation_.
We provide a dedicated
Discord channel_ where practitioners can discuss applications and ask questions about the Matrix Profile Foundation libraries. If you rather not join Discord, then please open a
Github issue_.
Please review the
contributing guidelines_ located in our documentation.
Please review our
Code of Conduct documentation_.
All proper acknowledgements for works of others may be found in our
citation documentation_.
Please cite this work using the
Journal of Open Source Software article_.
Van Benschoten et al., (2020). MPA: a novel cross-language API for time series analysis. Journal of Open Source Software, 5(49), 2179, https://doi.org/10.21105/joss.02179
.. code:: bibtex
@article{Van Benschoten2020, doi = {10.21105/joss.02179}, url = {https://doi.org/10.21105/joss.02179}, year = {2020}, publisher = {The Open Journal}, volume = {5}, number = {49}, pages = {2179}, author = {Andrew Van Benschoten and Austin Ouyang and Francisco Bischoff and Tyler Marrs}, title = {MPA: a novel cross-language API for time series analysis}, journal = {Journal of Open Source Software} }