Python中的动态时间规整

|                                                                                                                   关闭。这个问题是题外话。它当前不接受答案。                                                      
已邀请:
只好在这一个。为了跟进C \的响应,这是一个更适合与NumPy中生成的数据接口的实现。我发现这非常有用,因为通常我是用Python生成数据并希望与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)
请注意,这是DTW站点上说明的示例问题。     
作为记录,我已经能够使用R,R中的DTW和rpy2的混搭。在Python中使用R非常简单,并且大大扩展了python的统计功能。这是查找偏移噪声正弦和余弦序列之间的距离的示例:
    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)
    

要回复问题请先登录注册