-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME.Rmd
152 lines (111 loc) · 5.94 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
---
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
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```
<img src="man/figures/logo.png" align="right" style="float:right;"/>
## Matrix Profile for R
<!-- badges: start -->
[](https://choosealicense.com/licenses/gpl-3.0/)
[](https://lifecycle.r-lib.org/articles/stages.html)
[](https://github.com/jimhester/lintr)
[](https://r-pkgs.org/r-cmd-check.html)
[](https://app.codecov.io/gh/matrix-profile-foundation/matrixprofiler)
[](https://github.com/github/codeql-action/)
[](https://lgtm.com/projects/g/matrix-profile-foundation/matrixprofiler/context:cpp)
[](https://cran.r-project.org/package=matrixprofiler)
[](https://cran.r-project.org/package=matrixprofiler)
<!-- badges: end -->
### 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
<center>
```{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()
```
</center>
### 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.