DTW Barycenter Averaging算法请教

博主,您好。想请教一下DBA算法,确实很多英文文献没有读的很懂。

给定一组时间序列创建无穷多个新的时间序,可以跟我交流交流,我对这方面研究很多年了

可参考
DBA算法(Dynamic Time Warping Barycenter Averaging Algorithm)是一种用于时间序列对齐和平均的算法。它可以将多个时间序列对齐并计算它们的平均值,常用于时间序列数据的聚类、分类和降维等应用。
DBA算法的基本思想是,将多个时间序列对齐到一个“平均序列”上,使得它们的距离之和最小。具体步骤如下:

  1. 初始化:选择一个时间序列作为平均序列,将其作为当前平均序列。
  2. 对齐:对于每个时间序列,使用动态时间规整(DTW)算法将其对齐到当前平均序列上。
  3. 平均:将所有对齐后的序列的对应位置的值取平均,得到一个新的平均序列。
  4. 迭代:将新的平均序列作为当前平均序列,重复执行步骤2和步骤3,直到平均序列不再发生变化或达到预设的迭代次数。
    DBA算法的优点是可以处理长度不同、形状不同的时间序列,并且可以保留原始序列的特征。它在时间序列数据的聚类、分类、降维等应用中具有广泛的应用前景。
  • 建议你看下这篇博客👉 :DTW Barycenter Averaging(DBA)——平均序列求法
  • 除此之外, 这篇博客: 数据增强方法(时间序列)中的 1.DBA( DTW Barycentric Averaging):基于加权形式的DTW中心平均技术,通过改变权重,可以从给定的一组时间序列创建无穷多个新的时间序列。作者在3种加权方法中采用了一种叫做平均选择法的加权方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 从训练集中随机选取一个初始时间序列,赋予它0.5的权重,这个随机选择的时间序列将作为DBA的初始化时间序列
    • 根据DTW距离,找到DBA初始化时间序列的最近的5个时间序列
    • 从5个最近邻中随机选择两个,分被赋予0.15的权重
    • 为使总的权重为1,此时剩余权重为1-0.5-0.15*2=0.2,将剩下的序列平均分配这0.2的权重

    最后使用两个集成的ResNet网络(有数据增强和无数据增强),计算两个分类器输出每个类的后验概率求平均值,为每个时间序列分配平均概率最大的标签

    参考:《Data augmentation using synthetic data for time series classification with deep residual networks》

    代码: https://github.com/hfawaz/aaltd18

DTW Barycenter Averaging(DBA)——平均序列求法
可以参考下
https://blog.csdn.net/I_am_huang/article/details/77345659

DTW Barycenter Averaging算法是一种用于时间序列数据的聚类算法,它可以将多个时间序列数据聚合成一个代表性的时间序列。具体实现方法如下:

首先,需要将所有时间序列数据进行对齐,即使用动态时间规整(DTW)算法将它们对齐到同一长度。

然后,需要选择一个初始的代表性时间序列,可以选择其中任意一个时间序列作为初始值。

接着,需要迭代地更新代表性时间序列,直到收敛为止。具体更新方法如下:

a. 对于每个时间序列数据,计算它与当前代表性时间序列的DTW距离。

b. 对于每个时间序列数据,计算它与当前代表性时间序列的DTW距离的权重,即使用高斯核函数计算距离的相似度。

c. 对于每个时间序列数据,计算它与当前代表性时间序列的DTW距离的加权平均值,即使用加权平均算法计算新的代表性时间序列。

最后,得到的新的代表性时间序列就是所有时间序列数据的聚合结果。

在上面的算法中,DTW距离是一种用于计算两个时间序列之间的距离的方法,它可以处理时间序列数据中的时间偏移和变形。高斯核函数是一种用于计算相似度的方法,它可以将距离转换为相似度。加权平均算法是一种用于计算加权平均值的方法,它可以将不同权重的数据进行加权平均。

动态时间规整(Dynamic Time Warping, DTW)Barycenter Averaging算法是一种DTW算法的改进版,主要用于时间序列对其和平均。该算法的基本思想是先将多个时间序列对齐,然后计算它们的平均值。

DTW Barycenter Averaging算法是一种时序聚类算法。它的原理如下:

  1. DTW:动态时间规整(Dynamic Time Warping)算法是一种测量两个时序之间差异的算法。它通过非线性地对齐两个时序来寻找最佳匹配,从而得出一个距离度量。
  2. Barycenter:中心点。在时序聚类中,每个簇的中心点代表了这个簇中的所有时序的“平均值”。
  3. 平均值计算:通过迭代的方式计算每个簇的中心点。初始选择一个时序作为第一个中心点。然后重复以下步骤:
    (1)计算所有时序到当前各中心点的DTW距离;
    (2)将每个时序划分到与其最相近的中心点所在簇;
    (3)重新计算每个簇的中心点,使用所有属于该簇的时序计算平均值;
    (4)重复(1)-(3),直到中心点不再改变。
    DBA算法的主要步骤为:
  4. 选择k个初始中心点,或者随机选择k个时序作为初始中心点;
  5. 计算所有时序到各中心点的DTW距离,将时序划分到最近的中心点簇;
  6. 根据簇内所有时序计算新的中心点(簇中心);
  7. 重复2-3直到中心点不再改变;
  8. 返回各个簇中心点及对应的簇。
    DBA算法的优点是可以发现时序数据中的不同形态和模式,且对噪声稳定。但是计算复杂度较高,且参数选择(如k值)会影响结果。
    总之,DBA算法通过不断迭代计算DTW距离和更新中心点,最终得到多个簇及其代表的中心点,实现了时序数据的聚类。

翻译下能看懂不