Computes the best so far Matrix Profile and Profile Index for Univariate Time Series.
stamp.par(..., window.size, exclusion.zone = 1/2, s.size = Inf, n.workers = 2, verbose = 2)
... | a |
---|---|
window.size | an |
exclusion.zone | a |
s.size | a |
n.workers | an |
verbose | an |
Returns the matrix profile mp
and profile index pi
. It also returns the left and
right matrix profile lmp
, rmp
and profile index lpi
, rpi
that may be used to detect
Time Series Chains (Yan Zhu 2018).
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. The anytime
STAMP computes the Matrix Profile and Profile Index in such manner that it can be stopped before
its complete calculation and return the best so far results allowing ultra-fast approximate
solutions. verbose
changes how much information is printed by this function; 0
means nothing,
1
means text, 2
means text and sound. exclusion.zone
is used to avoid trivial matches; if
a query data is provided (join similarity), this parameter is ignored.
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.
Website: http://www.cs.ucr.edu/~eamonn/MatrixProfile.html
Other Stamp: stamp
mp <- stamp.par(toy_data$data[1:200,1], window.size = 30, verbose = 0)# NOT RUN { ref.data <- toy_data$data[,1] query.data <- toy_data$data[,2] # self similarity mp <- stamp.par(ref.data, window.size = 30, s.size = round(nrows(ref.data) * 0.1)) # join similarity mp <- stamp.par(ref.data, query.data, window.size = 30, s.size = round(nrows(query.data) * 0.1)) # }