如何在3个或更多信号之间应用/实现动态时间扭曲(DTW)或快速动态时间扭曲(FastDTW)? [英] How to apply/implement Dynamic Time Warping (DTW) or Fast Dynamic Time Warping (FastDTW) in python between 3 or more signals?

查看:0
本文介绍了如何在3个或更多信号之间应用/实现动态时间扭曲(DTW)或快速动态时间扭曲(FastDTW)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在时间序列分析中,动态时间规整(DTW)是度量两个速度不同的时间序列之间相似性的算法之一。快速DTW是一种更快的方法。我想知道如何不仅在2个信号之间而且在3个或更多信号之间实现此方法。

distance, warp_path = fastdtw(series2, series1, dist=euclidean)

推荐答案

您基本上需要构造一个矩阵,对该系列的所有可能组合评估FastDTW算法。

import fastdtw
import scipy.spatial.distance as sd

def my_fastdtw(sales1, sales2):
    return fastdtw.fastdtw(sales1,sales2)[0]

distance_matrix = sd.pdist(sales, my_fastdtw)

您可以在此帖子中查看有关如何执行此操作以及其他可能性的参考:Efficient pairwise DTW calculation using numpy or cython

这篇关于如何在3个或更多信号之间应用/实现动态时间扭曲(DTW)或快速动态时间扭曲(FastDTW)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆