How DTW (Dynamic Time Warping) algorithm works

Sdílet
Vložit
  • čas přidán 5. 09. 2024

Komentáře • 246

  • @darkmurphyy
    @darkmurphyy Před 6 lety +87

    I loved the last slides! I was able to understand the algorithm in less than 5 minutes, something I wasn't able to do after reading for 30 minutes a poor explanation about it. Thank you for your video!

    • @tkorting
      @tkorting  Před 6 lety +4

      Thanks a lot for your positive feedback.
      Please like and share the video and subscribe to my channel.
      Regards

    • @tynolayco895
      @tynolayco895 Před 5 lety

      absolutly

    • @Metaloid-wv4kz
      @Metaloid-wv4kz Před 3 lety

      agree

  • @heartbeatpoetry7704
    @heartbeatpoetry7704 Před 7 lety +5

    Your videos are very clear and cover things better than much longer videos. Please make more!

    • @tkorting
      @tkorting  Před 6 lety

      +heartbeatpoetry many thanks for your positive feedback. Please like and share the video and subscribe to my channel. What you said is exactly what I intend to do in this channel. Create short videos with the core of what should be explained. Best regards

  • @xiangzhang8901
    @xiangzhang8901 Před 2 lety +2

    The most clear tutorial on DTW I ever seen. Thank you.

  • @ppalutube
    @ppalutube Před 3 lety +3

    Wonderfully explained! Complicated formulae turned into simple joy 😁

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @AdzSONLINE
    @AdzSONLINE Před 4 lety +4

    Been sat here for a few hours trying to get my head around these journal articles and getting nowhere. Thank you

    • @tkorting
      @tkorting  Před 4 lety

      Many thanks for your feedback
      Please subscribe to my channel
      Regards

  • @amanpreetchander7386
    @amanpreetchander7386 Před rokem +1

    Very well explained. I really appreciate that you have mentioned the references.

  • @_jojo11
    @_jojo11 Před rokem +2

    Such a clear, concise explanation. This video helped me understand the concept in 5 minutes, after having spent hours reading up convoluted blogs and still not grasping it.
    Thank you so much

  • @Noel_13
    @Noel_13 Před měsícem

    Excellently explained. Great job!

  • @GISDoctor
    @GISDoctor Před 5 lety +3

    OMG! I was looking for material on this and look at where I landed!!!! Thanks Thales!

    • @tkorting
      @tkorting  Před 5 lety

      Thanks! Please don't forget to subscribe to my channel ;)
      Um abraço!

  • @theecat3689
    @theecat3689 Před 3 lety

    wow been going through papers and couldnt understand anything until this video. Thank you so much!!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @galva1083
    @galva1083 Před 6 lety +5

    Excellent explanation, and I love the details in the example. Thank you!

    • @tkorting
      @tkorting  Před 6 lety

      Thanks for your positive feedback.
      Please subscribe to my channel, and like and share the video with your peers.
      Regards

  • @amvsekai
    @amvsekai Před rokem +1

    Pretty cool.. nice and easy explanation ❤

  • @heteromodal
    @heteromodal Před 3 lety +3

    Thank you for this! So clear and concise!

  • @tapaskar1
    @tapaskar1 Před 4 lety +3

    Wow !! Thank you so much for the explanation. I understood the algorithm perfectly because of those examples and I think it covered all the test cases I had in mind haha. Keep it going !!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the comment, please subscribe to my channel

  • @vietnguyenhoang8671
    @vietnguyenhoang8671 Před 2 lety +1

    Very understandable, have a nice day. Thank you!

  • @andreoulis1996
    @andreoulis1996 Před 5 lety +2

    Your example helped tremendously, thank you very much.

    • @tkorting
      @tkorting  Před 5 lety

      Good to know.
      Please subscribe to my channel
      Regards

  • @JohananJoysingh
    @JohananJoysingh Před 5 lety +2

    The visuals were amazing.. :) Example was really useful.. !

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @tzhern
    @tzhern Před 4 měsíci +1

    very clear explaination

  • @AB-bp9fi
    @AB-bp9fi Před 2 lety +1

    Great job. First author from references is a person from Japan, no surprise, they like sudoku 😁.

  • @muathalmoslem5803
    @muathalmoslem5803 Před 5 lety +2

    It is a clear explanation. Thank you for the great video

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Like and share!
      Regards

  • @escrituratalks
    @escrituratalks Před 6 lety +1

    Great Explanation, this has made it easier to understand

    • @tkorting
      @tkorting  Před 6 lety

      Thanks for the feedback.
      Please like and share the video and subscribe to my channel.
      Regards

  • @harikumarg2470
    @harikumarg2470 Před 4 lety +1

    Great explanation. The figures helped to understand easily. Thank you so much

    • @tkorting
      @tkorting  Před 4 lety

      Thanks for your feedback
      Please like/share/subscribe
      Regards

  • @TejasEkawade
    @TejasEkawade Před 4 lety +2

    Brilliant explanation!!

    • @tkorting
      @tkorting  Před 4 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @gabriellara7456
    @gabriellara7456 Před 2 lety +1

    excelente explicação e referências ao final do vídeo. obrigado Thales.

  • @madhu1987ful
    @madhu1987ful Před 2 lety

    Excellent step by step explanation

  • @Arglass123
    @Arglass123 Před 3 lety

    It's a great explanation, thank you. An explanation of the min() component would make it better.

  • @mariorubio9809
    @mariorubio9809 Před 3 lety +1

    Very good explanation, thank you!

    • @tkorting
      @tkorting  Před 2 lety

      Thanks a lot. Please subscribe

  • @foobar1672
    @foobar1672 Před 7 lety +7

    Good explanation. Thank you!

    • @tkorting
      @tkorting  Před 7 lety +1

      thanks for your feedback
      please like/share the video and subscribe to my channel
      regards

  • @haroldsu1696
    @haroldsu1696 Před 3 lety +1

    Thank you, Sir

  • @mssabaay
    @mssabaay Před 5 lety +1

    Thank you so much for making things easy to understand.

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your comment.
      Please, subscribe to my channel!
      Regards

  • @juanotavalo
    @juanotavalo Před 2 lety +1

    What a great explanation thank for this video!!

  • @andreas16426
    @andreas16426 Před 4 lety +1

    Excellent presentation! Thank you so much.

    • @tkorting
      @tkorting  Před 4 lety

      Thanks for this positive feedback
      Please subscribe to my channel
      Regards

  • @zzzwhite9997
    @zzzwhite9997 Před 3 lety +1

    Great job! Thank you!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @Csartreweghhgf
    @Csartreweghhgf Před 4 lety +1

    Nice example!

    • @tkorting
      @tkorting  Před 4 lety

      Many thanks for your feedback
      Please subscribe to my channel
      Regards

  • @havalsadiq3655
    @havalsadiq3655 Před 5 lety +2

    Very informative post, this is what I was looking for long time. Thanks alot

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @robertocorti4859
    @robertocorti4859 Před 3 lety +1

    Nice explanation! Thank you so much!!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @ravibohmanntridapalli7236
    @ravibohmanntridapalli7236 Před 4 měsíci

    bom demais, o sotaque deixa o video melhor ainda kkkkkk

  • @martinschidozieezuma6741
    @martinschidozieezuma6741 Před 5 lety +2

    Beautiful. Thanks

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @ankurankur9843
    @ankurankur9843 Před 5 lety +1

    That's a great explanation. Thanks very much..

    • @tkorting
      @tkorting  Před 5 lety

      Thanks a lot for your comment. Please like/share/subscribe.
      Regards

  • @myhandle364
    @myhandle364 Před 3 lety

    Great explanation. Very easy to understand. Thanks.

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @alanrgo1
    @alanrgo1 Před 6 měsíci

    Amazing explanation. Obrigado!

  • @schrodingerscat3912
    @schrodingerscat3912 Před 5 lety +1

    beautiful explanation. thank you

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @taotaotan5671
    @taotaotan5671 Před 4 lety

    Thanks. This reminds me of pairwise sequence alignment...

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  •  Před 3 lety +1

    Great work! Thank you

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @hamedzarei4197
    @hamedzarei4197 Před 5 lety +4

    Dear Thales,
    Thanks for your teaching and sharing. I applied the algorithm using the A and B matrices. But I found that there is some mismatch array in the filled matrix. for example, the corresponding distant value for the A8=5 and B7=4 is (5-4)+min(15,19,14)=15, while in the filled matrix is 14. I was wondering if you could let me know which is the correct one?

  • @supriyarao666
    @supriyarao666 Před 4 lety +1

    Well explained....Thank You.

    • @tkorting
      @tkorting  Před 4 lety

      Many thanks for your feedback
      Please subscribe to my channel
      Regards

  • @thesoulofsea6840
    @thesoulofsea6840 Před 7 lety +2

    Very clear, thanks so much

    • @tkorting
      @tkorting  Před 7 lety

      +The Soul of Sea thanks for your feedback. Please like and share the video and subscribe to my channel. best regards

  • @Lisandro1jimenez
    @Lisandro1jimenez Před 5 lety +1

    Excellent! Very clear.

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @konstantinosbourantas7999

    Thank you for sharing!

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @bozhang6455
    @bozhang6455 Před 5 lety +1

    very nice explanation!

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your comment.
      Please like/share/subscribe.
      Regards

  • @OliverLonghi
    @OliverLonghi Před 7 lety +1

    Bem legal. Parabéns pelo cuidado em produzir o vídeo com tantos detalhes.

    • @tkorting
      @tkorting  Před 7 lety

      muito obrigado!
      por favor, inscreva-se no canal.
      um abraço

  • @nemdenemam9753
    @nemdenemam9753 Před 5 lety +1

    Thank you very much. It is an amazing explanation.

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @michaelbaudin
    @michaelbaudin Před 3 lety +1

    Just great! Thank you.

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @George-lt6jy
    @George-lt6jy Před 3 lety +1

    in the backtracking part, how do you know that you will find the optimal path with only that local search algorithm?

  • @mohammedabdallatif22
    @mohammedabdallatif22 Před 3 lety

    Awesome, thank you Sir for the clear explanation

  • @vicwang7582
    @vicwang7582 Před 6 lety +1

    Thanks a lot for the clear explanation!

    • @tkorting
      @tkorting  Před 6 lety

      +Vic Wang thanks a lot for your feedback. Please like and share the video and subscribe to my channel.
      Regards

  • @krishnasashank6116
    @krishnasashank6116 Před 4 lety +1

    Great video!
    Thanks a lot!

    • @tkorting
      @tkorting  Před 3 lety +1

      Thanks for the feedback, please subscribe to my channel

  • @fathahimuthedath9778
    @fathahimuthedath9778 Před rokem +1

    Thanks. Well explained. Is there any algorithm that can compare pattern of matrices.

  • @js913
    @js913 Před 4 lety +1

    Fantastic!! Thank you so much

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @quantummath
    @quantummath Před 6 lety

    Great job Thales!
    Greetings from Hamburg.

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @suhitaghosh4381
    @suhitaghosh4381 Před 6 lety +1

    thanks for the precise video!

    • @tkorting
      @tkorting  Před 6 lety

      Thanks for commenting.
      Please like and share the video and subscribe to my channel.
      Regards

  • @nabajitdey
    @nabajitdey Před 3 lety

    Thank you for this explanation :) You saved my night!

  • @samSamsem
    @samSamsem Před 5 měsíci

    Every thing was clear up until the minute 3:10. I have a question from that part. Why is did i and j became those numbers? meaning the numbers for i became [1, 3, 4, 9, 8, 2, 1, 5, 7, 3] and the same way for j where did we get those numbers from? those are indexes of time points for each of the time series right? why aren't we using all the indexes? and why aren't they in order?

  • @saideepshetty785
    @saideepshetty785 Před 6 lety +1

    I loved your explanation! Thank you for the video :D

    • @tkorting
      @tkorting  Před 6 lety

      Thanks for your feedback, please subscribe to my channel.
      Regards

  • @xiaowenyu6562
    @xiaowenyu6562 Před 6 lety +1

    Very very helpful! Thank you!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @MN-sc9qs
    @MN-sc9qs Před 5 lety +1

    Great job!

    • @tkorting
      @tkorting  Před 5 lety

      thanks for your feedback
      please like/share/subscribe
      Regards

  • @accelerator345
    @accelerator345 Před 3 lety +1

    thank you so much

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the feedback, please subscribe to my channel

  • @byoungdookong2755
    @byoungdookong2755 Před 4 lety

    amazing!! I understood about DTW through this video.

  • @chaoxi8966
    @chaoxi8966 Před 2 lety

    clearly explained thanks

  • @AndyLee-xq8wq
    @AndyLee-xq8wq Před rokem +1

    so the "DTW distance" between two curves is the final sum-up?

  • @rizalybeniga5935
    @rizalybeniga5935 Před 5 lety +2

    Hi. Thank you so much for this crystal clear explanation about DTW. I am just wondering on how to determine if this two series are same. I wonder if you can suggest some solution on how to find out if this two series are really same or not. Thank you so much for this video, I hope you can give me some suggestion to my problem. Thank you and May God bless you

    • @tkorting
      @tkorting  Před 5 lety +1

      Thanks for your comment. Please subscribe to my channel, share/like the video.
      Two series are the same when the DTW distance is equal to zero.
      For the case that you need to find equal series, you can also use a simpler distance, such as Euclidean for example.
      Regards

  • @ElChe-Ko
    @ElChe-Ko Před 6 lety +1

    What if there is a lower value of 15 in the same row when you start the identification of the warping path?

  • @raziel846
    @raziel846 Před 4 lety +2

    Thank u so much for this explanation!
    I have a doubt in the last step, which term i must choose if two or more values are the same?

  • @amirhosseinzeraati4641
    @amirhosseinzeraati4641 Před měsícem

    Hello sir, may I ask about the A_i - B_j part? Isn't it about the elements of matrix? not the indices! but in the video in first example it seems you subtract indices (j from i). Am I correct, or I missed something?

  • @kadimdev
    @kadimdev Před 5 lety

    you have mistake in the cost matrix representing
    The cost matrix cells are filled one column at a time from the bottom to up, from left to right

  • @slimanehamouda2583
    @slimanehamouda2583 Před rokem

    thank you infinitly

  • @checkpeck
    @checkpeck Před 5 lety

    excellant video...and when to use DTW ? 1. Finding similarity of two signals? 2. Comparing two signals? what happens if there are more than 2 signals?

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your comment.
      Please like/share/subscribe.
      Yes, DTW is used to compare signals. For example in sound recognition, apps like Shazam. Or to compute the similarity between two time series. It you have more than 2 signals, you can create an average signal, or compare one-to-one. These are only 2 examples.
      Regards

  • @bertal201199
    @bertal201199 Před 8 měsíci

    thank you good sir

  • @schrodingerscat3912
    @schrodingerscat3912 Před 5 lety +1

    nice!!

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @yewenli
    @yewenli Před 2 lety

    thanks, it's very clear!

  • @srazavitousi
    @srazavitousi Před 3 lety

    Could not explain better!

  • @zhinadr534
    @zhinadr534 Před 5 lety +1

    Thank you!

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your comment.
      Please like/share/subscribe.
      Regards

  • @slomo4056
    @slomo4056 Před 5 lety +1

    perfect, thanks

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your feedback
      Please subscribe to my channel
      Regards

  • @ahmetcengizhandirican8240

    Hi Thales
    Thank you for this very clear explanation of DTW. But I wonder something. What does tell us the final chain of numbers we found? How are we going to interpert the result or understand if a macth found between the twp series?

    • @tkorting
      @tkorting  Před 7 lety +1

      thanks for your feedback and question.
      Please like/share the video and subscribe to my channel.
      The final result is a distance measure between two curves. So it is up to the analyst (user) to identify a proper threshold to characterize two curves as similar or not.
      Regards

    • @ahmetcengizhandirican8240
      @ahmetcengizhandirican8240 Před 7 lety

      Thanks

  • @C.string-A
    @C.string-A Před 6 lety +1

    I love this video so much. Thank you so much for your clear explanation. So what I understand is , DTW provides distance between two different signals by matching up similar local points (like a distance of peak-peak, and valley- valley of signals). and it is .. more of clasification methods like knn, rather than feature? Am I right?
    BTW, I have a question, so the DTW measures distance between two time sequential signals. For example, Can it be applied to decide whether waveform A is similar to B or C? by getting distance vector from using DTW?
    Once again, Thank you so much for the great video

    • @tkorting
      @tkorting  Před 6 lety +1

      Thanks for your feedback
      Please like/share/subscribe.
      Regarding your question, yes, DTW can measure the distance between a reference wave and other signals. I heard that (not sure) Shazam app (to discover music) uses this measure in their algorithms.
      Regards

  • @bnproduction9298
    @bnproduction9298 Před 3 lety

    @Thales Sehn Körting What if two time series are at different scale ? for example, one time series with y value ranging between 0-10 and another with y range 10000-20000.

  • @asifmohammed033
    @asifmohammed033 Před 6 lety +1

    Beautiful !!

    • @tkorting
      @tkorting  Před 6 lety

      Thanks a lot.
      Please like and share the video and subscribe to my channel.
      Regards

  • @omar.a.mahmud3297
    @omar.a.mahmud3297 Před 6 lety +2

    ?Great explanation, thank you, what about multi- dimensions series

    • @tkorting
      @tkorting  Před 6 lety +1

      Thanks for your feedback.
      Please like and share the video and subscribe to my channel.
      In the case of more dimensions you can adapt the algorithm for the part that computes the difference between two points to feed the distance matrix, inserting the second, third distances as well.
      Regards

    • @omar.a.mahmud3297
      @omar.a.mahmud3297 Před 6 lety

      @@tkorting ,the metrics used to compete the distances will be Euclidean distance?

    • @SeanAubin
      @SeanAubin Před 5 lety +1

      There's multiple approaches to this problem. See stats.stackexchange.com/q/163753/29949

    • @omar.a.mahmud3297
      @omar.a.mahmud3297 Před 5 lety

      thank you @sean Aubin

  • @ControlTheGuh
    @ControlTheGuh Před 2 lety

    So it's a way to compute the autocorrelation? Best alignment means best lag?

  • @dr.mashaelalluhaybi5245
    @dr.mashaelalluhaybi5245 Před 6 lety +1

    Many thanks!!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the comment, please subscribe to my channel

  • @ZeMMacaes
    @ZeMMacaes Před 8 měsíci

    Muito obrigado, Thales
    Só para ter certeza, o valor da distância entre as duas séries seria o valor na célula de cima da direita depois de preencher a matriz?

  • @kaiohenrique
    @kaiohenrique Před 6 lety +1

    Excelente vídeo!

    • @tkorting
      @tkorting  Před 6 lety

      Muito obrigado pelo comentário. Inscreva-se no canal.
      Abraços

  • @dr.mashaelalluhaybi5245
    @dr.mashaelalluhaybi5245 Před 6 lety +3

    how can I apply it if I want to measure the distances between more than 2 series (145 series)??!!

    • @tkorting
      @tkorting  Před 6 lety +1

      Thanks for your question. Firstly I would like to invite you to like and share the video and subscribe to my channel.
      When you have more than 2 series, you should think on what is your application. For example, you can create a rank of the more similar series, and for this you can measure pair by pair all of your series and store the rank. Or if you want to measure what is the most similar curve to some reference that I have, you should compute also pair by pair and find the most similar curve. These are some suggestions, if you want to discuss more please reply.
      Best regards

  • @dofunback
    @dofunback Před 6 lety +1

    Nice video friend!! :) great job!!

    • @tkorting
      @tkorting  Před 3 lety

      Thanks for the comment, please subscribe to my channel

  • @justwiredme
    @justwiredme Před rokem

    Thank you

  • @cw9249
    @cw9249 Před 2 lety

    thank you for the explanation. how does the "window constraint" fit into this? what happens when u adjust it?

  • @oldcowbb
    @oldcowbb Před 3 lety

    i don't get the sum part, isn't the upper right corner already the sum of the minimum cost alignment?

  • @thetimesofcelebrities3157

    where were u? awesome.

  • @danielcalencar
    @danielcalencar Před 5 lety +1

    Video top demais, vou aplicar na minha pesquisa isso dai. Abraço!

    • @tkorting
      @tkorting  Před 3 lety

      Abraço, inscreva-se no canal

  • @ds5375
    @ds5375 Před 5 lety

    Once the alignment vector is computed. How would one go about displacing the alignments to generate integrated data-points? E.g. if we assume A and B are the same signal, recorded with different instruments how would one perform a type of "batch correction" to shift time series A onto time series B using the aligned points.

    • @tkorting
      @tkorting  Před 5 lety

      Thanks for your question, please subscribe to my channel
      I did not understand your question. What do you mean by correction?
      DTW is used to compute if two series are similar (for example two instruments, same chords).
      Regards