sciquence.similarities.dtw¶
-
sciquence.similarities.dtw(A, B, metric)¶ Measure similarities between two sequences.
When computing Dynamic Time Warping path, we are looking for the lowest cost path from (0, 0) to (len(A), len(B) point).
Parameters: - A (np.ndarray (a_rows, n_columns)) – A sequence
- B (np.ndarray (b_rows, n_columns)) – A sequence
- metric (function(np.ndarray, np.ndarray)) – A distance function with two parameters, which returns double
Returns: - warping_path (list of tuple) – Points of warping path
- distance (double) – A distance between two sequences
Examples
>>> from sciquence.dtw import dtw >>> import numpy as np >>> from scipy.spatial.distance import cosine >>> A = np.random.rand(5, 3) >>> B = np.random.rand(8, 3) >>> warp_path, distance = dtw(A, B, cosine)
References
[1] https://en.wikipedia.org/wiki/Dynamic_time_warping [2] Ratanamahatana Ch. A., Keogh E. (2004). ` Everything you know about Dynamic Time Warping is Wrong <http://wearables.cc.gatech.edu/paper_of_week/DTW_myths.pdf>_`