El algoritmo para la transformación dinámica de la escala de tiempo ( algoritmo DTW , del inglés dynamic time warping ) es un algoritmo que le permite encontrar la coincidencia óptima entre secuencias de tiempo. Se aplicó por primera vez en el reconocimiento de voz , donde se usa para determinar cómo dos señales de voz representan la misma frase hablada original. Posteriormente, se encontraron aplicaciones en otras áreas [1] .
Las series temporales son un tipo de datos muy utilizado[ aclarar ] que ocurre en prácticamente cualquier campo científico, y comparar dos secuencias es una tarea estándar. Para calcular la desviación, es suficiente una simple medición de la distancia entre los componentes de dos secuencias (distancia euclidiana). Sin embargo, a menudo dos secuencias tienen aproximadamente las mismas formas generales, pero estas formas no están alineadas en el eje X. Para determinar la similitud entre dichas secuencias, debemos "deformar" el eje de tiempo de una (o ambas) de la secuencia para lograr una mejor alineación. [2]
Es necesario medir la distancia entre dos series de tiempo para determinar su similitud y clasificación. Una medida tan efectiva es la métrica euclidiana . Para dos secuencias de tiempo, esto es simplemente la suma de las distancias al cuadrado desde cada punto n de una secuencia hasta el punto n de la otra. Sin embargo, el uso de la distancia euclidiana tiene un inconveniente importante: si dos series temporales son iguales, pero una de ellas se desplaza ligeramente en el tiempo (a lo largo del eje temporal), entonces la métrica euclidiana puede considerar que las series difieren entre sí. . El algoritmo DTW se introdujo para superar esta deficiencia y proporcionar una medición visual de la distancia entre las filas, sin prestar atención a los cambios globales y locales en la escala de tiempo . [3]
Considere dos series temporales: longitudes y longitudes [4] :
La primera etapa del algoritmo es la siguiente. Construimos una matriz de orden ( matriz de distancia ) en la que el elemento es la distancia entre dos puntos y . Normalmente se utiliza la distancia euclidiana: , o . Cada elemento de la matriz corresponde a la alineación entre los puntos y .
En la segunda etapa, construimos una matriz de transformación (deformación) , cada elemento del cual se calcula en función de la siguiente relación:
Después de completar la matriz de transformación, pasamos al paso final, que es construir una ruta de transformación óptima (deformación) y una distancia DTW ( costo de la ruta ).
Una ruta de transformación es un conjunto de elementos de matriz adyacentes que se asignan entre y . Representa el camino que minimiza la distancia total entre y . El elemento th de la ruta se define como .
De este modo:
donde es la longitud del camino.
La ruta de transformación debe satisfacer las siguientes condiciones de restricción:
Aunque existe un gran número de caminos de transformación que satisfacen todas las condiciones anteriores, sin embargo, solo nos interesa el camino que minimiza la distancia DTW ( costo del camino ).
La distancia DTW ( costo de la ruta ) entre dos secuencias se calcula en función de la ruta de transformación óptima mediante la fórmula:
en el denominador se utiliza para tener en cuenta el hecho de que las rutas de transformación pueden tener diferentes longitudes.
La complejidad espacial y temporal del algoritmo es cuadrática, ya que el algoritmo DTW debe examinar cada celda de la matriz de transformación.
Aunque el algoritmo se ha utilizado con éxito en muchas áreas, puede producir resultados incorrectos. El algoritmo puede tratar de explicar la volatilidad del eje con una transformación del eje . Esto puede dar lugar a una alineación en la que un punto de la primera secuencia se asigna a un gran subconjunto de puntos de la segunda secuencia.
Otro problema es que el algoritmo puede no encontrar una alineación obvia de dos series debido al hecho de que el punto singular (pico, valle, meseta, punto de inflexión ) de una serie se encuentra ligeramente por encima o por debajo del punto singular correspondiente de la otra serie. [5] .
Varias mejoras del algoritmo DTW están destinadas a acelerar sus cálculos, así como a controlar mejor las posibles rutas de transformación.
Una de las variantes comunes del algoritmo DTW es la imposición de condiciones limitantes generales (globales) en las trayectorias de deformación admisibles [6] . Sea un subconjunto que defina el área de la restricción global. Ahora la ruta de transformación es la ruta contenida en el archivo . La ruta de transformación óptima es la ruta que pertenece y minimiza el costo de la ruta entre todas las rutas de transformación de .
Este algoritmo tiene una complejidad espacial y temporal lineal . El algoritmo DTW rápido utiliza un enfoque en capas con tres operaciones clave [7] :
La idea principal de este método es utilizar dinámicamente la presencia de similitud y/o comparación de datos para dos secuencias de tiempo. Este algoritmo tiene tres ventajas específicas [8] :