View source: R/UTILS-compute-envelope.R
compute_envelope | R Documentation |
This function computes the envelopes for DTW lower bound calculations with a Sakoe-Chiba band for a given univariate time series using the streaming algorithm proposed by Lemire (2009).
compute_envelope(x, window.size, error.check = TRUE)
x |
A univariate time series. |
window.size |
Window size for envelope calculation. See details. |
error.check |
Logical indicating whether the function should try to detect inconsistencies and give more informative errors messages. Also used internally to avoid repeating checks. |
The windowing constraint uses a centered window.
The calculations expect a value in window.size
that represents the distance between the point considered and one of the edges of the window.
Therefore, if, for example, window.size = 10
, the warping for an observation x_i
considers the points between x_{i-10}
and x_{i+10}
,
resulting in 10(2) + 1 = 21
observations falling within the window.
A list with two elements (lower and upper envelopes respectively): lower
and upper
.
This envelope is calculated assuming a Sakoe-Chiba constraint for DTW.
Lemire D (2009). “Faster retrieval with a two-pass dynamic-time-warping lower bound .” Pattern Recognition, 42(9), pp. 2169 - 2180. ISSN 0031-3203, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.patcog.2008.11.030")}, https://www.sciencedirect.com/science/article/pii/S0031320308004925.
data(uciCT)
H <- compute_envelope(CharTraj[[1L]], 18L)
matplot(do.call(cbind, H), type = "l", col = 2:3)
lines(CharTraj[[1L]])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.