Просмотр оптимального выравнивания dtw в R - PullRequest
1 голос
/ 13 февраля 2020

Я использую пакет dtw в R для выравнивания данных временных рядов. Я могу легко получить выравнивание, но не могу понять, как отобразить оптимальное выравнивание с пиками из обоих совпадений временных рядов (выравнивание растянутого / сжатого). Построение выравнивания приводит к соответствующим пикам, показывающим пунктирные линии между ними, а не растянутые версии. Как я могу показать растянутые версии двух сигналов вместе.

Это код, который я использую:

library(dtw)

p149 <- c(-13.000,-20.637,-19.000,-11.000,2.604,10.000,44.000,57.327,44.000,10.000,2.313,-11.000,-20.000,-6.545,1.000,52.000,70.082,57.000,17.000,18.593,0.000,5.000,4.754,4.000,-3.000,-1.204,-1.000,10.000,26.964,25.000,43.000,57.435,40.000,17.000,12.874,-2.000,-16.000,-27.441,-23.000,-24.000,-31.418,-20.000,-11.000,-13.463,-6.000,-3.000,-4.643,-2.000,-2.000,-4.643,-3.000,-6.000,7.727,10.000,44.000,53.049,40.000,-3.000,-14.796,-24.000,-24.000,-31.708,-20.000,-11.000,-14.598,-7.000,-7.000,-10.321,-7.000,-7.000,-10.321,-7.000,-7.000,6.591,10.000,44.000,57.327,44.000,10.000,7.727,-6.000,-3.000,6.056,8.000,30.000,38.152,29.000,5.000,-2.474,-11.000,-19.000,-30.548,-23.000,-24.000,-31.418,-20.000,-11.000,-14.598,-7.000,-7.000,6.591,10.000,44.000,57.327,44.000,10.000,8.388,-5.000,-1.000,-3.134,-1.000,-5.000,-12.802,-11.000,-20.000,-27.431,-20.000,-11.000,-8.966,-1.000,10.000,12.209,10.000)
p547 <- c(-2.000,7.554,-2.000,40.000,49.062,40.000,-3.000,-14.796,-24.000,-24.000,-29.912,-18.000,-6.000,18.559,24.000,73.000,93.119,69.000,12.000,23.458,3.000,41.000,51.912,41.000,2.000,-0.353,-11.000,1.000,15.803,18.000,41.000,47.903,33.000,-5.000,-12.677,-20.000,-11.000,-18.876,-11.000,-20.000,-28.646,-21.000,-15.000,-23.738,-15.000,-21.000,-25.161,-16.000,-1.000,2.826,7.000,7.000,12.736,9.000,14.000,11.417,6.000,-14.000,-24.368,-22.000,-19.000,-28.863,-19.000,-21.000,-33.117,-23.000,-24.000,-35.696,-24.000,-24.000,-26.076,-14.000,6.000,3.654,6.000,-14.000,-9.964,-8.000,24.000,28.462,24.000,-8.000,-14.461,-19.000,-8.000,-8.920,-2.000,-2.000,-7.212,-6.000,-13.000,-23.740,-19.000,-22.000,-18.166,-8.000,24.000,38.372,34.000,22.000,25.179,11.000,2.000,-2.715,-6.000,-13.000,-2.550,2.000,41.000,66.592,56.000,46.000,49.651,24.000,-8.000,-9.964,-14.000,6.000,3.654,6.000,-14.000,-20.663,-19.000)


alignment<-dtw(p149,p547,keep=TRUE);

## Display the warping curve, i.e. the alignment curve
plot(alignment,type="twoway")

## Align and plot with the Rabiner-Juang type VI-c unsmoothed recursion
plot(
    dtw(p149,p547,keep=TRUE,
        step=rabinerJuangStepPattern(6,"c")),
    type="twoway",offset=-2)

Не сглаженные и сглаженные графики выглядят так: enter image description here

enter image description here

Но мне нужно, чтобы они были похожи на графики, которые я могу достичь с помощью DTW в Mathematica, которые выглядят так: enter image description here

...