Idővonal dinamikus transzformációs algoritmus

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2014. december 12-én felülvizsgált verziótól ; az ellenőrzések 11 szerkesztést igényelnek .

Az időskála dinamikus transzformációjának algoritmusa ( DTW-algoritm , az angol  dynamic time warping szóból ) egy olyan algoritmus , amely lehetővé teszi az idősorok közötti optimális egyezés megtalálását. Először a beszédfelismerésben alkalmazták , ahol annak meghatározására szolgál, hogy két beszédjel hogyan reprezentálja ugyanazt az eredeti kimondott kifejezést. Ezt követően más területeken is találtak alkalmazásokat [1] .

Az idősorok  egy széles körben használt adattípus[ tisztázni ] gyakorlatilag bármely tudományterületen előfordul, és két szekvencia összehasonlítása szokásos feladat. Az eltérés kiszámításához elegendő két sorozat összetevői közötti távolság egyszerű mérése (euklideszi távolság). Azonban gyakran két sorozatnak megközelítőleg azonos az általános alakja, de ezek az alakzatok nem illeszkednek az x tengelyhez. Az ilyen sorozatok közötti hasonlóság megállapításához a sorozat egyik (vagy mindkettő) időtengelyét "el kell vetemítenünk" jobb összhangot elérni. [2]

Algoritmus

Két idősor közötti távolság mérése szükséges ahhoz, hogy meghatározzuk hasonlóságukat és osztályozásukat. Ilyen hatékony mérés az euklideszi metrika . Két idősorozat esetén ez egyszerűen az egyik sorozat n-edik pontja és a másik n-edik pontja közötti távolság négyzetének összege. Az euklideszi távolság használatának azonban van egy jelentős hátulütője is: ha két idősor azonos, de az egyik időben kissé eltolódott (az időtengely mentén), akkor az euklideszi metrika figyelembe veheti, hogy a sorozatok különböznek egymástól. . A DTW algoritmust azért vezették be, hogy kiküszöböljék ezt a hiányosságot, és vizuálisan lemérjék a sorok közötti távolságot, figyelmen kívül hagyva az időskála globális és lokális eltolódásait . [3]

Klasszikus algoritmus

Tekintsünk két idősort – hosszúságot és hosszt [4] :

Az algoritmus első szakasza a következő. Készítünk egy sorrendi mátrixot ( távolságmátrix ) , amelyben az elem a két pont közötti távolság és . Általában az euklideszi távolságot használják: , vagy . A mátrix minden eleme megfelel a pontok és a pontok közötti igazításnak .

A második lépésben felállítunk egy transzformációs (deformációs) mátrixot , amelynek minden elemét a következő összefüggés alapján számítjuk ki:

A transzformációs mátrix kitöltése után továbblépünk az utolsó lépésre, ami egy optimális transzformációs út (deformáció) és DTW távolság (útköltség) felépítése .
A transzformációs útvonal  szomszédos mátrixelemek halmaza, amely és között van leképezve . Azt az utat jelöli, amely minimálisra csökkenti a és közötti teljes távolságot . Az útvonal edik eleme a következőképpen van definiálva: . Ilyen módon:

hol  van az út hossza.

Az átalakítási útvonalnak meg kell felelnie a következő kényszerfeltételeknek:

Bár sok olyan transzformációs útvonal létezik, amely az összes fenti feltételt kielégíti, minket azonban csak az az útvonal érdekel, amely minimalizálja a DTW távolságot (útköltség ) .

A két sorozat közötti DTW távolság (útköltség ) az optimális transzformációs út alapján kerül kiszámításra a következő képlet segítségével:

a nevezőben azt a tényt használják, hogy a transzformációs utak különböző hosszúságúak lehetnek.

Az algoritmus térbeli és időbeli összetettsége  kvadratikus, mivel a DTW algoritmusnak a transzformációs mátrix minden celláját meg kell vizsgálnia.

Az algoritmus hátrányai

Bár az algoritmust számos területen sikeresen alkalmazták, hibás eredményeket produkálhat. Az algoritmus megpróbálhatja megmagyarázni a tengely volatilitását egy tengelytranszformációval . Ez olyan igazodáshoz vezethet, amelyben az első sorozat egyik pontja a második szekvencia pontjainak nagy részhalmazához van leképezve.

Egy másik probléma az, hogy az algoritmus nem találja két sorozat nyilvánvaló igazítását, mivel az egyik sorozat szinguláris pontja (csúcs, mélypont, plató, inflexiós pont ) valamivel a másik sorozat megfelelő szinguláris pontja felett vagy alatt helyezkedik el. [5] .

A DTW algoritmus változatai

A DTW algoritmus különféle finomításainak célja a számítások felgyorsítása, valamint a transzformációs utak lehetséges útvonalainak jobb szabályozása.

Általános (globális) korlátozások

A DTW algoritmus egyik elterjedt változata az általános (globális) korlátozó feltételek előírása a megengedett alakváltozási utakra [6] . Legyen  egy részhalmaz , amely meghatározza a globális kényszer területét. Most az átalakítási útvonal a . Az optimális átalakítási útvonal az az útvonal, amely a -hoz tartozik , és minimalizálja az útvonal költségét a -ból származó összes átalakítási útvonal között .

Gyors DTW algoritmus

Ennek az algoritmusnak lineáris tér és idő összetettsége van . A gyors DTW algoritmus réteges megközelítést használ három kulcsművelettel [7] :

  1. Részletezés csökkenése - a szomszédos pontpárok átlagolásával csökkentjük az idősor méretét. Az eredményül kapott idősor egy olyan sorozat, amely feleannyi pontot tartalmaz, mint az eredeti. Ezt a műveletet többször futtatjuk, hogy sok különböző idősor felbontást kapjunk.
  2. Tervezés - az átalakítási utat alacsony részletességgel választjuk, és meghatározzuk, hogy a következő részletnél mely cellákon halad át az átalakulási út (egy nagyságrenddel magasabb, mint az előző). Mivel a felbontás megduplázódik, a transzformációs útvonalhoz tartozó egy pont alacsony felbontáson legalább négy pontnak felel meg nagyobb felbontáson. Ezt a tervezett útvonalat ezután heurisztikaként használják a feldolgozás során a nagy felbontású útvonal megtalálásához.
  3. A feldolgozás az optimális alakváltozási út keresése a tervezett út környezetében.

Ritka DTW algoritmus

Ennek a módszernek az a fő gondolata, hogy dinamikusan használja a hasonlóság jelenlétét és/vagy az adatok összehasonlítását két időszekvenciára vonatkozóan. Ennek az algoritmusnak három konkrét előnye van [8] :

  1. A transzformációs mátrix ritka mátrixokkal van ábrázolva , ami az átlagos térkomplexitás csökkenését eredményezi más módszerekhez képest.
  2. A ritka DTW algoritmus mindig az optimális transzformációs utat állítja elő.
  3. Mivel az algoritmus optimális igazítást hoz létre, könnyen használható más módszerekkel kombinálva.

Alkalmazások

Jegyzetek

  1. Ghazi Al-Naymat, Sanjay Chawla, Javid Taheri Sparse DTW: Újszerű megközelítés a dinamikus idővetemítés felgyorsítására Archiválva : 2019. október 13. a Wayback Machine -nél  
  2. Eamonn J. Keogh, Michael J. Pazzani származtatott dinamikus idővetemítés, 1. szakasz Archiválva : 2016. július 30. a Wayback Machine -nél  
  3. Stan Salvador és Philip Chan Fast DTW: A pontos dinamikus idővetemítés felé lineáris időben és térben Archiválva : 2014. október 31. a Wayback Machine -nél  
  4. Eamonn J. Keogh, Michael J. Pazzani származtatott dinamikus idővetemítés, 2. szakasz Archiválva : 2016. július 30. a Wayback Machine -nél  
  5. Eamonn J. Keogh, Michael J. Pazzani Derivative Dynamic Time Warping, 1. szakasz, 2. oldal Archivált 2016.07.30 .  (Angol)
  6. DTW algoritmus áttekintése. 3.3 szakasz archiválva : 2014. december 17. a Wayback Machine -nél  
  7. Stan Salvador és Philip ChanFast DTW: A pontos dinamikus idővetemítés felé lineáris időben és térben Archiválva : 2014. október 31. a Wayback Machine -nél  
  8. Ghazi Al-Naymat, Sanjay Chawla, Javid Taheri Sparse DTW: Újszerű megközelítés a gyorsításhoz, 1.1. szakasz Archiválva : 2019. október 13. a Wayback Machine -nél