Time Warping dynamic en Python

¿Alguien sabe de una biblioteca de python que tiene implementación DTW? Parece que mlpy tiene lo que estoy buscando, pero parece que no puedo instalarlo correctamente; actualmente estoy esperando respuestas de la lista de correo, así que pensé que iba a explorar otras bibliotecas.

Tuve que tocar en este. Para seguir con la respuesta de C, aquí hay una implementación que está más orientada a la interfaz con los datos generados en NumPy. Considero que esto es considerablemente más útil ya que normalmente estoy generando datos en Python y quiero interactuar con los recursos de R.

import numpy as np import rpy2.robjects.numpy2ri from rpy2.robjects.packages import importr rpy2.robjects.numpy2ri.activate() # Set up our R namespaces R = rpy2.robjects.r DTW = importr('dtw') # Generate our data idx = np.linspace(0, 2*np.pi, 100) template = np.cos(idx) query = np.sin(idx) + np.array(R.runif(100))/10 # Calculate the alignment vector and corresponding distance alignment = R.dtw(query, template, keep=True) dist = alignment.rx('distance')[0][0] print(dist) 

Tenga en cuenta que este es el problema de ejemplo indicado en el sitio de DTW .

Para el registro, he podido usar un mashup de R , DTW en R y rpy2 . Trabajar con R en Python es sorprendentemente simple y extiende las capacidades estadísticas de python considerablemente. Aquí hay un ejemplo de cómo encontrar la distancia entre una serie de seno y coseno ruidosas con desplazamiento:

  import rpy2.robjects as robjects r = robjects.r r('library("dtw")') idx = r.seq(0,6.28,len=100) template = r.cos(idx) query = r.sin(idx)+r('runif(100)/10') alignment=r.dtw(query,template,keep=r('TRUE')) robjects.globalenv["alignment"] = alignment dist = r('alignment$distance') print(dist)