# compute_envelope: Time series warping envelopes In dtwclust: Time Series Clustering Along with Optimizations for the Dynamic Time Warping Distance

 compute_envelope R Documentation

## Time series warping envelopes

### Description

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

### Usage

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

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

### Value

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

### Note

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

### 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, doi: 10.1016/j.patcog.2008.11.030, https://www.sciencedirect.com/science/article/pii/S0031320308004925.

### Examples

```
data(uciCT)

H <- compute_envelope(CharTraj[[1L]], 18L)

matplot(do.call(cbind, H), type = "l", col = 2:3)
lines(CharTraj[[1L]])

```

dtwclust documentation built on March 7, 2023, 7:49 p.m.