matrix-profile-foundation / tsmp

Licence: other
R Functions implementing UCR Matrix Profile Algorithm

Programming Languages

r
7636 projects
C++
36643 projects - #6 most used programming language
Roff
2310 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to tsmp

khiva-ruby
High-performance time series algorithms for Ruby
Stars: ✭ 27 (-57.14%)
Mutual labels:  time-series, matrix-profile
modeltime.resample
Resampling Tools for Time Series Forecasting with Modeltime
Stars: ✭ 12 (-80.95%)
Mutual labels:  time-series, r-package
modeltime.gluonts
GluonTS Deep Learning with Modeltime
Stars: ✭ 31 (-50.79%)
Mutual labels:  time-series, r-package
Tsrepr
TSrepr: R package for time series representations
Stars: ✭ 75 (+19.05%)
Mutual labels:  time-series, r-package
Forecastml
An R package with Python support for multi-step-ahead forecasting with machine learning and deep learning algorithms
Stars: ✭ 101 (+60.32%)
Mutual labels:  time-series, r-package
Matrix-Profile
A Java library for Matrix Profile
Stars: ✭ 14 (-77.78%)
Mutual labels:  time-series, matrix-profile
Modistsp
An "R" package for automatic download and preprocessing of MODIS Land Products Time Series
Stars: ✭ 118 (+87.3%)
Mutual labels:  time-series, r-package
modeltime.ensemble
Time Series Ensemble Forecasting
Stars: ✭ 65 (+3.17%)
Mutual labels:  time-series, r-package
netrankr
An R package for network centrality
Stars: ✭ 39 (-38.1%)
Mutual labels:  r-package
cnosdb
An Open Source Distributed Time Series Database with high performance, high compression ratio and high usability.
Stars: ✭ 858 (+1261.9%)
Mutual labels:  time-series
ahead
Univariate and multivariate time series forecasting
Stars: ✭ 15 (-76.19%)
Mutual labels:  time-series
The-Purchase-and-Redemption-Forecast-Challenge-baseline
天池“资金流入流出预测——挑战baseline”的解决方案,线上效果143.5
Stars: ✭ 78 (+23.81%)
Mutual labels:  time-series
jsonld
R wrapper for jsonld.js JavaScript library
Stars: ✭ 34 (-46.03%)
Mutual labels:  r-package
tidygenomics
Tidy Verbs for Dealing with Genomic Data Frames https://const-ae.github.io/tidygenomics/
Stars: ✭ 97 (+53.97%)
Mutual labels:  r-package
rreddit
𝐫⟋ Get Reddit data
Stars: ✭ 49 (-22.22%)
Mutual labels:  r-package
autoplait
Python implementation of AutoPlait (SIGMOD'14) without smoothing algorithm. NOTE: This repository is for my personal use.
Stars: ✭ 24 (-61.9%)
Mutual labels:  time-series
jsonvalidate
✔️⁉️ Validate JSON
Stars: ✭ 43 (-31.75%)
Mutual labels:  r-package
nflfastR
A Set of Functions to Efficiently Scrape NFL Play by Play Data
Stars: ✭ 268 (+325.4%)
Mutual labels:  r-package
wetterdienst
Open weather data for humans
Stars: ✭ 190 (+201.59%)
Mutual labels:  time-series
downsample
Collection of several downsampling methods for time series visualisation purposes.
Stars: ✭ 50 (-20.63%)
Mutual labels:  time-series

README

Francisco Bischoff - 07 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:

  • Algorithms to build a Matrix Profile: STAMP, STOMP, SCRIMP++, SIMPLE, MSTOMP and VALMOD.
  • 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.
  • Sequencial workflow, see below.
# 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

  • STAMP (single and multi-thread versions)
  • STOMP (single and multi-thread versions)
  • STOMPi (On-line version)
  • SCRIMP (single-thread, not for AB-joins yet)
  • Time Series Chains
  • Multivariate STOMP (mSTOMP)
  • 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)
  • SiMPle-Fast (Fast Similarity Matrix Profile for Music Analysis and Exploration)
  • Annotation vectors (e.g., Stop-word MOTIF bias, Actionability bias)
  • FLUSS Arc Plot and SiMPle Arc Plot
  • Exact Detection of Variable Length Motifs (VALMOD)
  • MPdist: Matrix Profile Distance
  • Time Series Snippets
  • Subsetting Matrix Profiles (head(), tail(), [, etc.)
  • Misc:
    • MASS v2.0
    • MASS v3.0
    • MASS extensions: ADP (Approximate Distance Profile, with PAA)
    • MASS extensions: WQ (Weighted Query)
    • MASS extensions: QwG (Query with Gap)
    • Fast moving average
    • Fast moving SD

Roadmap

  • Profile-Based Shapelet Discovery
  • GPU-STOMP

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.

Citing

Please cite this work using our 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].