compute_envelope function

Time series warping envelopes

Time series warping envelopes

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)

Arguments

  • 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.

Returns

A list with two elements (lower and upper envelopes respectively): lower and upper.

Details

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 xix_i considers the points between xi10x_{i-10} and xi+10x_{i+10}, resulting in 10(2) + 1 = 21 observations falling within the window.

Note

This envelope is calculated assuming a Sakoe-Chiba constraint for DTW.

Examples

data(uciCT) H <- compute_envelope(CharTraj[[1L]], 18L) matplot(do.call(cbind, H), type = "l", col = 2:3) lines(CharTraj[[1L]])

References

Lemire D (2009). ``Faster retrieval with a two-pass dynamic-time-warping lower bound .'' Pattern Recognition, 42 (9), pp. 2169 - 2180. ISSN 0031-3203, tools:::Rd_expr_doi("10.1016/j.patcog.2008.11.030") , https://www.sciencedirect.com/science/article/pii/S0031320308004925.

  • Maintainer: Alexis Sarda
  • License: GPL-3
  • Last published: 2024-07-23