@Title(value="Dynamic Time Warping Distance Function") @Reference(authors="D. Berndt, J. Clifford", title="Using dynamic time warping to find patterns in time series", booktitle="AAAI-94 Workshop on Knowledge Discovery in Databases, 1994", url="http://www.aaai.org/Papers/Workshops/1994/WS-94-03/WS94-03-031.pdf", bibkey="DBLP:conf/kdd/BerndtC94") public class DTWDistanceFunction extends AbstractEditDistanceFunction
Reference:
D. Berndt and J. Clifford
Using dynamic time warping to find patterns in time series
AAAI-94 Workshop on Knowledge Discovery in Databases, 1994
This implementation uses a buffer storing two rows.
TODO: allow different one-dimensional distances
Modifier and Type | Class and Description |
---|---|
static class |
DTWDistanceFunction.Parameterizer
Parameterization class.
|
bandSize
Constructor and Description |
---|
DTWDistanceFunction()
Constructor.
|
DTWDistanceFunction(double bandSize)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected double |
delta(double val1,
double val2)
Compute the delta of two values.
|
double |
distance(NumberVector v1,
NumberVector v2)
Computes the distance between two given vectors according to this distance
function.
|
protected void |
firstRow(double[] buf,
int band,
NumberVector v1,
NumberVector v2,
int dim2)
Fill the first row.
|
effectiveBandSize, equals, getInputTypeRestriction, hashCode
dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
instantiate
isMetric, isSquared, isSymmetric
public DTWDistanceFunction()
public DTWDistanceFunction(double bandSize)
bandSize
- Band sizepublic double distance(NumberVector v1, NumberVector v2)
NumberVectorDistanceFunction
v1
- first vectorv2
- second vectorprotected void firstRow(double[] buf, int band, NumberVector v1, NumberVector v2, int dim2)
buf
- Bufferband
- Bandwidthv1
- First vectorv2
- Second vectordim2
- Dimensionality of secondprotected double delta(double val1, double val2)
TODO: support Euclidean, Manhattan, others?
val1
- First valueval2
- Second valueCopyright © 2019 ELKI Development Team. License information.