sift:dynamic_time_warping:dynamic_time_warping
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sift:dynamic_time_warping:dynamic_time_warping [2024/06/26 20:14] – removed sgranger | sift:dynamic_time_warping:dynamic_time_warping [2024/11/15 20:13] (current) – [Dynamic Time Warping] wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Dynamic Time Warping ====== | ||
+ | |||
+ | Dynamic Time warping is a distance based algorithm that allows you to compare and measure similarity between two time based sequences, by minimizing the Euclidean distance between points. Essentially, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Mathematics of Dynamic Time Warping ==== | ||
+ | |||
+ | Say you had a trace x of size N, and a trace y of size M, this is how you would calculate the cost matrix: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | where d() is equal to the absolute distance. | ||
+ | |||
+ | To speed up the computational cost a Lower Bound Keogh algorithm was implemented. | ||
+ | |||
+ | ==== Computing Dynamic Time Warping in Sift ==== | ||
+ | |||
+ | In Sift you can use Dynamic Time Warping two different ways for your analyses. | ||
+ | |||
+ | The first way to use Dynamic Time warping is by finding anomalies within your dataset. Within a data set, each trace will be compared to every other trace. Traces with a median distance that is a specified standard deviation away from the average will be identified as an anomaly. This function is useful when trying to identify particular moments that may be interesting to look at or by quickly cleaning your dataset from outliers. | ||
+ | |||
+ | In this example we have used Dynamic Time Warping to find anomalies within all workspaces of AnkleAngleX. The results have given us a list of the traces identified as anomalies and their corresponding cost function. If we have the group plotted, these traces will also be selected. After a quick visual check we can press the **Exclude Anomalies** button and they will be exclude from the group. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | The second way to use Dynamic Time Warping is by comparing a specific trace. This can be done if you want to find what trace is most similar to another. | ||
+ | |||
+ | In this example we found that the trace - AnkleAngleX/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Exporting Results === | ||
+ | |||
+ | Results for each dynamic time warping test can be exported in the {{: | ||
+ | |||
+ | ==== References ==== | ||
+ | |||
+ | [1] F. Petitjean, G. Forestier, G. I. Webb, A. E. Nicholson, Y. Chen and E. Keogh, " | ||
+ | |||
+ | |||
sift/dynamic_time_warping/dynamic_time_warping.1719432862.txt.gz · Last modified: 2024/06/26 20:14 by sgranger