Algoritmul de transformare dinamică a cronologiei

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 12 decembrie 2014; verificările necesită 11 modificări .

Algoritmul pentru transformarea dinamică a scării de timp ( DTW-algorithm , din engleza  dynamic time warping ) este un algoritm care vă permite să găsiți potrivirea optimă între secvențele de timp. Aplicat mai întâi în recunoașterea vorbirii , unde este folosit pentru a determina modul în care două semnale vocale reprezintă aceeași frază vorbită originală. Ulterior s-au găsit aplicații în alte domenii [1] .

Seria temporală  este un tip de date utilizat pe scară largă[ clarifica ] care apare în aproape orice domeniu științific, iar compararea a două secvențe este o sarcină standard. Pentru a calcula abaterea, este suficientă o simplă măsurare a distanței dintre componentele a două secvențe (distanța euclidiană). Cu toate acestea, adesea două secvențe au aproximativ aceleași forme generale, dar aceste forme nu sunt aliniate pe axa X. Pentru a determina asemănarea dintre astfel de secvențe, trebuie să „deformam” axa temporală a uneia (sau a ambelor) secvențe pentru a obține o aliniere mai bună. [2]

Algoritm

Măsurarea distanței dintre două serii de timp este necesară pentru a determina asemănarea și clasificarea acestora. O astfel de măsurare eficientă este metrica euclidiană . Pentru două secvențe de timp, aceasta este pur și simplu suma distanțelor pătrate de la fiecare punct al n-lea al unei secvențe la al n-lea punct al celuilalt. Cu toate acestea, utilizarea distanței euclidiene are un dezavantaj semnificativ: dacă două serii temporale sunt aceleași, dar una dintre ele este ușor deplasată în timp (de-a lungul axei timpului), atunci metrica euclidiană poate considera că seria diferă una de cealaltă. . Algoritmul DTW a fost introdus pentru a depăși acest neajuns și pentru a oferi o măsurare vizuală a distanței dintre rânduri, fără a acorda atenție schimbărilor globale și locale pe scara de timp . [3]

Algoritm clasic

Luați în considerare două serii temporale - lungimi și lungimi [4] :

Prima etapă a algoritmului este următoarea. Construim o matrice de ordine ( matrice de distanta ) in care elementul este distanta dintre doua puncte si . De obicei se folosește distanța euclidiană: , sau . Fiecare element al matricei corespunde alinierii dintre punctele și .

În a doua etapă, construim o matrice de transformare (deformare) , fiecare element fiind calculat pe baza următoarei relații:

După completarea matricei de transformare, trecem la pasul final, care este construirea unei căi de transformare optime (deformare) și a distanței DTW ( costul căii ).
O cale de transformare  este un set de elemente matrice adiacente care se mapează între și . Reprezintă calea care minimizează distanța totală dintre și . Al-lea element al căii este definit ca . În acest fel:

unde  este lungimea drumului.

Calea de transformare trebuie să îndeplinească următoarele condiții de constrângere:

Deși există un număr mare de căi de transformare care satisfac toate condițiile de mai sus, totuși, ne interesează doar calea care minimizează distanța DTW ( costul căii ).

Distanța DTW ( costul drumului ) dintre două secvențe este calculată pe baza traseului optim de transformare folosind formula:

în numitor este folosit pentru a explica faptul că traseele de transformare pot fi de lungimi diferite.

Complexitatea spațială și temporală a algoritmului  este pătratică, deoarece algoritmul DTW trebuie să examineze fiecare celulă a matricei de transformare.

Dezavantajele algoritmului

Deși algoritmul a fost utilizat cu succes în multe domenii, poate produce rezultate incorecte. Algoritmul poate încerca să explice volatilitatea axei printr-o transformare a axei . Acest lucru poate duce la o aliniere în care un punct din prima secvență este mapat la un subset mare de puncte din a doua secvență.

O altă problemă este că algoritmul poate să nu găsească o aliniere evidentă a două serii din cauza faptului că punctul singular (vârf, jgheab, platou, punct de inflexiune ) al unei serii este situat puțin deasupra sau sub punctul singular corespunzător al celeilalte serii. [5] .

Varietăți ale algoritmului DTW

Diverse perfecționări ale algoritmului DTW sunt menite să accelereze calculele acestuia, precum și să controleze mai bine rutele posibile ale căilor de transformare.

Restricții generale (globale)

Una dintre variantele comune ale algoritmului DTW este impunerea unor condiții limitative generale (globale) pe căile de deformare admisibile [6] . Fie  o submulțime care definește aria constrângerii globale. Acum calea de transformare este calea conținută în . Calea optimă de transformare este calea care aparține și minimizează costul căii dintre toate căile de transformare de la .

Algoritm DTW rapid

Acest algoritm are complexitate liniară în spațiu și timp . Algoritmul rapid DTW utilizează o abordare stratificată cu trei operații cheie [7] :

  1. Scăderea în detaliu - reducem dimensiunea seriei de timp făcând media perechilor de puncte adiacente. Seria temporală rezultată este o serie care are jumătate din mai multe puncte decât cea originală. Efectuăm această operațiune de mai multe ori pentru a obține mai multe rezoluții diferite în serie de timp.
  2. Planificare - luăm calea de transformare la detalii reduse și determinăm prin ce celule va trece calea de transformare la următorul detaliu (un ordin de mărime mai mare decât cel precedent). Deoarece rezoluția este dublată, un punct aparținând căii de transformare la rezoluție scăzută va corespunde cu cel puțin patru puncte la rezoluție mai mare. Această cale planificată este apoi utilizată ca euristică în timpul procesării pentru a găsi calea de înaltă rezoluție.
  3. Prelucrarea este căutarea traseului optim de deformare în vecinătatea traseului planificat.

Algoritm DTW rar

Ideea principală a acestei metode este utilizarea dinamică a prezenței similarității și/sau a comparării datelor pentru două secvențe de timp. Acest algoritm are trei avantaje specifice [8] :

  1. Matricea de transformare este reprezentată folosind matrici rare , rezultând o reducere a complexității medii a spațiului în comparație cu alte metode.
  2. Algoritmul DTW rar produce întotdeauna calea optimă de transformare.
  3. Deoarece algoritmul produce o aliniere optimă, poate fi utilizat cu ușurință în combinație cu alte metode.

Aplicații

Note

  1. Ghazi Al-Naymat, Sanjay Chawla, Javid Taheri Sparse DTW: O abordare inedită pentru a accelera Dynamic Time Warping Arhivat 13 octombrie 2019 la Wayback Machine  
  2. Eamonn J. Keogh, Michael J. Pazzani Derivative Dynamic Time Warping, Secțiunea 1 Arhivată la 30 iulie 2016 la Wayback Machine  
  3. Stan Salvador și Philip Chan Fast DTW: Toward Accurate Dynamic Time Warping in Linear Time and Space Arhivat la 31 octombrie 2014 la Wayback Machine  
  4. Eamonn J. Keogh, Michael J. Pazzani Derivative Dynamic Time Warping, Secțiunea 2 Arhivată la 30 iulie 2016 la Wayback Machine  
  5. Eamonn J. Keogh, Michael J. Pazzani Derivative Dynamic Time Warping, Secțiunea 1, pagina 2 Arhivat 30.07.2016 .  (Engleză)
  6. DTW Algorithm Review. Secțiunea 3.3 Arhivată la 17 decembrie 2014 la Wayback Machine  
  7. Stan Salvador și Philip ChanFast DTW: Toward Accurate Dynamic Time Warping in Linear Time and Space Arhivat la 31 octombrie 2014 la Wayback Machine  
  8. Ghazi Al-Naymat, Sanjay Chawla, Javid Taheri Sparse DTW: A novel approach to speed up, Secțiunea 1.1 Arhivat la 13 octombrie 2019 la Wayback Machine