Learn R Programming

dtwclust (version 2.1.2)

shape_extraction: Shape average of several time series

Description

Time-series shape extraction based on optimal alignments as proposed by Paparrizos and Gravano, 2015, for the k-Shape clustering algorithm.

Usage

shape_extraction(X, center = NULL, znorm = FALSE)

Arguments

X
Numeric matrix where each row is a time series, or a list of time series.
center
Center to use as basis. It will be z-normalized.
znorm
Logical flag. Should z-scores be calculated for X before processing?

Value

Centroid time series.

Details

This works only if the series are z-normalized, since the output will also have this normalization.

The resulting centroid will have the same length as center if provided. Otherwise, there are two possibilities: if all series from X have the same length, all of them will be used as-is, and the output will have the same length as the series; if series have different lengths, a series will be chosen at random and used as reference. The output series will then have the same length as the chosen series.

This centroid computation is casted as an optimization problem called maximization of Rayleigh Quotient. See the cited article for more details.

References

Paparrizos J and Gravano L (2015). ``k-Shape: Efficient and Accurate Clustering of Time Series.'' In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, series SIGMOD '15, pp. 1855-1870. ISBN 978-1-4503-2758-9, http://doi.org/10.1145/2723372.2737793.

See Also

SBD, zscore

Examples

Run this code

# Sample data
data(uciCT)

# Normalize desired subset
X <- zscore(CharTraj[1:5])

# Obtain centroid series
C <- shape_extraction(X)

# Result
matplot(do.call(cbind, X),
        type = "l", col = 1:5)
points(C)

Run the code above in your browser using DataLab