Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/matrix-profile-foundation/matrixprofiler

This is the core functions needed by the `tsmp` package. The low level and carefully checked mathematical functions are here. These are implementations of the Matrix Profile concept that was created by CS-UCR <http://www.cs.ucr.edu/~eamonn/MatrixProfile.html>.
https://github.com/matrix-profile-foundation/matrixprofiler

algorithm cran matrix-profile r rcpp time-series

Last synced: 6 days ago
JSON representation

This is the core functions needed by the `tsmp` package. The low level and carefully checked mathematical functions are here. These are implementations of the Matrix Profile concept that was created by CS-UCR <http://www.cs.ucr.edu/~eamonn/MatrixProfile.html>.

Awesome Lists containing this project

README

        

---
title: "README"
author: "Francisco Bischoff\n"
date: "`r format(Sys.Date(), '%d %b %Y')`"
output:
github_document:
md_extension: +blank_before_header
html_preview: false
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```

## Matrix Profile for R

[![License](https://img.shields.io/badge/License-GPL--3.0-green.svg)](https://choosealicense.com/licenses/gpl-3.0/)
[![lifecycle](https://img.shields.io/badge/lifecycle-stable-green.svg)](https://lifecycle.r-lib.org/articles/stages.html)

[![Lint](https://github.com/matrix-profile-foundation/matrixprofiler/workflows/Lint/badge.svg?branch=main)](https://github.com/jimhester/lintr)
[![R-CMD-check](https://github.com/matrix-profile-foundation/matrixprofiler/workflows/R-CMD-check/badge.svg?branch=main)](https://r-pkgs.org/r-cmd-check.html)

[![codecov](https://codecov.io/gh/matrix-profile-foundation/matrixprofiler/branch/main/graph/badge.svg?token=w7AmbwhNvn)](https://app.codecov.io/gh/matrix-profile-foundation/matrixprofiler)
[![CodeQL](https://github.com/matrix-profile-foundation/matrixprofiler/workflows/CodeQL/badge.svg?branch=main)](https://github.com/github/codeql-action/)
[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/matrix-profile-foundation/matrixprofiler.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/matrix-profile-foundation/matrixprofiler/context:cpp)

[![CRAN version](https://www.r-pkg.org/badges/version/matrixprofiler)](https://cran.r-project.org/package=matrixprofiler)
[![CRAN Downloads](https://cranlogs.r-pkg.org/badges/matrixprofiler)](https://cran.r-project.org/package=matrixprofiler)

### Overview

R Functions implementing UCR Matrix Profile Algorithm (http://www.cs.ucr.edu/~eamonn/MatrixProfile.html).

This package will keep all core functions that will allow you to use the Matrix Profile concept as a toolkit.

This package provides (almost all) algorithms to build a Matrix Profile.

The package `tsmp` will still be developed as "how we do data mining with Matrix Profile", keeping all slow stuff to
be handled by this optimized package.

This will not be covered here, as it is a `tsmp` purpose:

* Algorithms for MOTIF search for Unidimensional and Multidimensional Matrix Profiles.
* Algorithm for Chains search for Unidimensional Matrix Profile.
* Algorithms for Semantic Segmentation (FLUSS) and Weakly Labeled data (SDTS).
* Algorithm for Salient Subsections detection allowing MDS plotting.
* Basic plotting for all outputs generated here.

You can find the current `tsmp` package here: https://CRAN.R-project.org/package=tsmp

### Installation

```{r installation, gh-installation, eval = FALSE}
# Install the released version from CRAN
install.packages("matrixprofiler")
# Or the development version from GitHub:
# install.packages("devtools")
devtools::install_github("matrix-profile-foundation/matrixprofiler")
```

### Currently available Features

* STAMP (single and multi-thread versions)
* STOMP (single and multi-thread versions)
* SCRIMP (single and multi-thread versions, not for AB-joins yet)
* MPX (single and multi-thread versions)
* Misc:
* MASS v2.0
* MASS v3.0
* MASS extensions: UN (Unnormalized Query)
* MASS extensions: WQ (Weighted Query)
* MASS extensions: ABS (Absolute Query and Data)
* Window functions like mov_mean() and others.

### On Roadmap

* STOMPi (On-line version)
* Multivariate STOMP (mSTOMP)
* SiMPle-Fast (Fast Similarity Matrix Profile for Music Analysis and Exploration)
* Exact Detection of Variable Length Motifs (VALMOD) (maybe will stay on `tsmp` package)
* MPdist: Matrix Profile Distance
* MASS extensions: ADP (Approximate Distance Profile, with PAA) (maybe)
* MASS extensions: QwG (Query with Gap)

### Will stay on TSMP package

* Time Series Chains
* Multivariate MOTIF Search (from mSTOMP)
* Salient Subsequences search for Multidimensional Space
* Scalable Dictionary learning for Time Series (SDTS) prediction
* FLUSS (Fast Low-cost Unipotent Semantic Segmentation)
* FLOSS (Fast Low-cost On-line Unipotent Semantic Segmentation)
* Annotation vectors (e.g., Stop-word MOTIF bias, Actionability bias)
* FLUSS Arc Plot and SiMPle Arc Plot
* Time Series Snippets
* Subsetting Matrix Profiles (`head()`, `tail()`, `[`, etc.)

### Other projects with Matrix Profile

* Python: https://github.com/target/matrixprofile-ts
* Python: https://github.com/ZiyaoWei/pyMatrixProfile
* Python: https://github.com/juanbeleno/owlpy
* Python: https://github.com/javidlakha/matrix-profile
* Python: https://github.com/shapelets/khiva-python
* R: https://github.com/shapelets/khiva-r
* Matlab: https://github.com/shapelets/khiva-matlab
* Java: https://github.com/shapelets/khiva-java
* Java: https://github.com/ensozos/Matrix-Profile
* Kotlin: https://github.com/shapelets/khiva-kotlin
* C++ (CUDA and OPENCL): https://github.com/shapelets/khiva
* CUDA: https://github.com/zpzim/STOMPSelfJoin
* CUDA: https://github.com/zpzim/SCAMP

### Matrix Profile Foundation

Our next step unifying the Matrix Profile implementation in several programming languages.

Visit: [Matrix Profile Foundation](https://matrixprofile.org)

### Benchmarks

Available at [RPubs](https://rpubs.com/franzbischoff/matrixprofiler).

### Package dependencies

```{r dependency_plot, echo = FALSE, fig.width = 5, fig.height = 5, message = FALSE, warning = FALSE, fig.path = "man/figures/"}
source("https://gist.githubusercontent.com/franzbischoff/3b83243dfdfa73e459935112f3f783e3/raw/239548243f984843b3a87d8cc82f99395a8ed26e/plot_dependencies.R") # nolint
plot_dependencies()
```

### Code of Conduct

Please note that the matrixprofiler project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html).
By contributing to this project, you agree to abide by its terms.