Skip to contents

This package is derived from the former package tsmp. It is intended to make a clear separation of what is the Matrix Profile computation and what are the data mining process we can do using Matrix Profile.

Details

The Matrix Profile, has the potential to revolutionize time series data mining because of its generality, versatility, simplicity and scalability. In particular it has implications for time series motif discovery, time series joins, shapelet discovery (classification), density estimation, semantic segmentation, visualization, rule discovery, clustering etc.

Multithreading

This package uses RcppThread for multithreaded computations. Thread counts can be controlled directly via the n_workers argument in each function.

Parallel execution and forked processes

matrixprofiler uses native threads for parallel computation. To parallelize a single computation, use the function's n_workers argument.

Avoid calling package functions from fork-based workers, such as those created by parallel::mclapply(), particularly after multithreaded libraries have been initialized in the parent R session. Forked processes inherit library state that may cause deadlocks or crashes.

Where fork detection is implemented, requesting multiple workers in a forked child triggers a warning and reduces n_workers to 1. This precaution does not make fork-based execution safe, because it cannot undo inherited library state.

To process multiple time series concurrently, prefer a PSOCK cluster, which starts independent R sessions (see parallel::makePSOCKcluster()). Use n_workers = 1 within each worker to avoid excessive thread creation.

This limitation concerns the execution environment and applies to both STOMP and MPX; switching algorithms does not remove it.

References

  • Yeh CCM, Zhu Y, Ulanova L, Begum N, Ding Y, Dau HA, et al. Matrix profile I: All pairs similarity joins for time series: A unifying view that includes motifs, discords and shapelets. Proc - IEEE Int Conf Data Mining, ICDM. 2017;1317-22.

  • Zhu Y, Imamura m, Nikovski D, Keogh E. Matrix Profile VII: Time Series Chains: A New Primitive for Time Series Data Mining. Knowl Inf Syst. 2018 Jun 2;1-27.

  • Zhu Y, Zimmerman Z, Senobari NS, Yeh CM, Funning G. Matrix Profile II : Exploiting a Novel Algorithm and GPUs to Break the One Hundred Million Barrier for Time Series Motifs and Joins. Icdm. 2016 Jan 22;54(1):739-48.

Website: http://www.cs.ucr.edu/~eamonn/MatrixProfile.html