Warping dinamico per serie temporali irregolari


10

Ultimamente ho letto molto su Dynamic Time Warping (DTW). Sono molto sorpreso che non ci sia alcuna letteratura sull'applicazione del DTW a serie temporali irregolari, o almeno non sono riuscito a trovarlo.

Qualcuno potrebbe darmi un riferimento a qualcosa legato a quel problema, o forse anche una sua attuazione?


Risposte:


11

Per quanto ho capito, per serie temporali irregolari si intende serie temporali con spaziatura irregolare , indicate anche come serie temporali campionate in modo irregolare . Dato che sono curioso di conoscere le serie storiche in generale, ho svolto una breve ricerca sull'argomento del tuo (e ora mio) interesse. I risultati seguono.

Malgrado l'elevata popolarità dell'approccio dinamico di distorsione temporale (DTW) nell'analisi delle serie temporali, il raggruppamento e la classificazione, le serie temporali irregolari presentano alcune sfide all'applicazione diretta del DTW a tale tipo di dati (ad esempio, vedi questo documento e questo documento ). Sulla base dei miei sforzi di ricerca relativamente brevi, non mi è del tutto chiaro se sia impossibile applicare direttamente DTW, come alcune ricerche suggeriscono il contrario (vedi anche questo documento / capitolo ). Per una maggiore completezza, vorrei anche menzionare un IMHO eccellente e pertinente alla tesi di argomento su serie temporali irregolari .

Tuttavia, sembra che questo argomento sia principalmente coperto dai seguenti due flussi di ricerca :

Infine, vorrei toccare l'argomento del software open source , disponibile per la ricerca o l' implementazione del sistema , incentrato su DTW e supportando alcuni degli algoritmi sopra menzionati per le serie temporali irregolari. Tale software includono Python / NumPy a base di progetto modulo cDTW nonché incentrato basata su GPU CUDA progetto CUDA-DTW . Per gli Rappassionati, dovrebbe essere menzionato anche un progetto Dynamic Time Warp completo ( pacchetto corrispondente dtwè disponibile su CRAN). Anche se al momento potrebbe non supportare molti algoritmi DTW per serie temporali irregolari (anche se penso che supporti cDTW), penso che sia solo una questione di tempo fino a quando questo progetto offrirà un supporto più completo per gli algoritmi DTW, incentrato su tale tipo di dati. Spero che ti sia piaciuto leggere la mia risposta tanto quanto mi è piaciuto fare ricerche sull'argomento e scrivere questo post.


1

Ho implementato con successo DTW in "C" come applicato alla verifica dinamica della firma. Ho usato un database di test di firme cinesi e olandesi per verificare EER e ho ottenuto risultati molto impressionanti. Attualmente è implementato come demo su un iPad. Il mio algoritmo è stato codificato a mano da diverse descrizioni pubblicate. Condividerò il codice se c'è un modo per ottenerlo. Una cosa che ha anche contribuito al successo è stata la "normalizzazione" dei dati di input. Ciò ha reso molto più semplice il confronto di dati disparati utilizzando frequenze di campionamento diverse.


Benvenuti nel nostro sito! Nota che il tuo nome utente, identicon e un link alla tua pagina utente vengono aggiunti automaticamente a ogni post che pubblichi, quindi non è necessario firmare i tuoi post.
Silverfish

2
Ci piace che le nostre risposte siano utili ai futuri lettori piuttosto che solo il poster originale personalmente, quindi la possibilità di condividere il codice sarebbe più utile se tu fossi in grado di caricare da qualche parte e condividere un link qui. Ma se ciò non fosse possibile, forse potresti far luce su "Il mio algoritmo è stato codificato a mano da diverse descrizioni pubblicate" - potresti citare quelli che hai usato nel caso in cui qualcun altro volesse seguire le tue orme e implementarle?
Silverfish

0

Sto solo entrando in DTW da solo e non ho usato personalmente i pacchetti indicati di seguito, ma spero che ciò che segue possa aiutarti.

Il progetto Cran.R, in particolare: • "ts" è la classe di base per le serie temporali regolarmente distanziate che utilizzano timestamp numerici. • Il pacchetto "zoo" fornisce l'infrastruttura per serie temporali periodicamente E IRREGOLARAMENTE utilizzando classi arbitrarie per i timestamp. È progettato per essere il più coerente possibile con "ts". • zoo: S3 Infrastructure for Regular and Irregular Time Series (osservazioni ordinate di Z)

Riferimenti: http://cran.r-project.org/web/views/TimeSeries.html e http://cran.r-project.org/web/packages/zoo/index.html

Auguri.


1
La mia domanda riguardava l'adattamento di DTW come metodo al contesto di serie temporali irregolari. Pacchetti come Zoo non forniscono una soluzione a questo problema.
Remi D,

0

TSdist ha una funzione che determina la distanza attraverso dtw. Accetta serie temporali di zoo irregolari


1
"Accetta" non significa che li gestisce. Dovresti sempre controllare il codice sorgente di una funzione.
Remi D,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.