README

Francisco Bischoff - 05 Apr 2020

Time Series with Matrix Profile

Packagist lifecycle CRAN version CRAN Downloads CircleCI build status

Build Dev
Linux x86_64 Build Status Build Status
OSX Build Status Build Status
Windows AppVeyor build status AppVeyor build status
Coverage codecov codecov

Overview

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

This package allows you to use the Matrix Profile concept as a toolkit.

This package provides:

# Basic workflow:
matrix <- tsmp(data, window_size = 30) %>%
  find_motif(n_motifs = 3) %T>%
  plot()

# SDTS still have a unique way to work:
model <- sdts_train(data, labels, windows)
result <- sdts_predict(model, data, round(mean(windows)))

Please refer to the User Manual for more details.

Please be welcome to suggest improvements.

Performance on an Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz using a random walk dataset

set.seed(2018)
data <- cumsum(sample(c(-1, 1), 40000, TRUE))

Current version benchmark

Elapsed Time(s) Data Size Window Size Threads Lang
mpx_par 0.59 40000 1000 8 Rcpp
mpx 1.94 40000 1000 1 Rcpp
stomp_par 38.90 40000 1000 8 R
stomp 85.13 40000 1000 1 R
scrimp 123.07 40000 1000 1 R
stamp_par 925.45 40000 1000 8 R
stamp 3776.86 40000 1000 1 R

Installation

# Install the released version from CRAN
install.packages("tsmp")

# Or the development version from GitHub:
# install.packages("devtools")
devtools::install_github("matrix-profile-foundation/tsmp")

Currently available Features

Roadmap

Other projects with Matrix Profile

Matrix Profile Foundation

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

Visit: Matrix Profile Foundation

Package dependencies

Code of Conduct

Please note that the ‘tsmp’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.