Raw File
Tip revision: d51529a8ee2827cd8c1bd7c4a9e0265dd0cc72cf authored by Toni Giorgino on 19 September 2022, 16:36:11 UTC
version 1.23-1
Tip revision: d51529a
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/dtw-package.R
\title{Comprehensive implementation of Dynamic Time Warping (DTW) algorithms in R.}
The DTW algorithm computes the stretch of the time axis which optimally maps
one given timeseries (query) onto whole or part of another (reference). It
yields the remaining cumulative distance after the alignment and the
point-by-point correspondence (warping function). DTW is widely used e.g.
for classification and clustering tasks in econometrics, chemometrics and
general timeseries mining.
Please see documentation for function \code{\link[=dtw]{dtw()}}, which is the main
entry point to the package.

The R implementation in dtw provides:
\item arbitrary windowing functions (global constraints), eg. the
Sakoe-Chiba band; see \code{\link[=dtwWindowingFunctions]{dtwWindowingFunctions()}}
\item arbitrary
transition types (also known as step patterns, slope constraints, local
constraints, or DP-recursion rules). This includes dozens of well-known
types; see \code{\link[=stepPattern]{stepPattern()}}:
\item all step patterns classified by Rabiner-Juang, Sakoe-Chiba, and Rabiner-Myers;
\item symmetric and asymmetric;
\item Rabiner's smoothed variants;
\item arbitrary, user-defined slope constraints
\item partial matches: open-begin, open-end, substring matches
\item proper, pattern-dependent, normalization (exact average distance per step)
\item the Minimum Variance Matching (MVM) algorithm (Latecki et al.)

Multivariate timeseries can be aligned with arbitrary local distance
definitions, leveraging the \code{\link[proxy:dist]{proxy::dist()}} function of package
\CRANpkg{proxy}. DTW itself becomes a distance function with the dist semantics.

In addition to computing alignments, the package provides:
\item methods for plotting alignments and warping functions in several classic
styles (see plot gallery);
\item graphical representation of step patterns;
\item functions for applying a warping function, either direct or inverse;
and more.

If you use this software, please cite it according to
\code{citation("dtw")}.  The package home page is at

 ## demo(dtw);

\item Toni Giorgino. \emph{Computing and Visualizing Dynamic Time
Warping Alignments in R: The dtw Package.} Journal of Statistical Software,
31(7), 1-24. \doi{10.18637/jss.v031.i07}
\item Tormene, P.; Giorgino, T.; Quaglini, S. & Stefanelli, M. \emph{Matching incomplete time
series with dynamic time warping: an algorithm and an application to
post-stroke rehabilitation.} Artif Intell Med, 2009, 45, 11-34
\item Rabiner, L. R., & Juang, B.-H. (1993). Chapter 4 in \emph{Fundamentals of
speech recognition.} Englewood Cliffs, NJ: Prentice Hall.
\code{\link[=dtw]{dtw()}} for the main entry point to the package;
\code{\link[=dtwWindowingFunctions]{dtwWindowingFunctions()}} for global constraints;
\code{\link[=stepPattern]{stepPattern()}} for local constraints;
\code{\link[proxy:dist]{proxy::dist()}}, \code{analogue::distance()}, \code{vegan::vegdist()} to build local
cost matrices for multivariate timeseries and custom distance functions.
Toni Giorgino
back to top