Ich habe in letzter Zeit viel über Dynamic Time Warping (DTW) gelesen. Ich bin sehr überrascht, dass es überhaupt keine Literatur zur Anwendung von DTW auf unregelmäßige Zeitreihen gibt, oder zumindest konnte ich sie nicht finden.
Könnte mir jemand einen Hinweis auf etwas geben, das mit diesem Problem zusammenhängt, oder vielleicht sogar eine Implementierung davon?
Antworten:
Soweit ich weiß, meinen Sie mit unregelmäßigen Zeitreihen ungleichmäßig verteilte Zeitreihen , die auch als unregelmäßig abgetastete Zeitreihen bezeichnet werden . Da ich auf Zeitreihen im Allgemeinen neugierig bin, habe ich eine kurze Recherche zum Thema Ihres (und jetzt meines) Interesses durchgeführt. Die Ergebnisse folgen.
Trotz der großen Beliebtheit des DTW- Ansatzes (Dynamic Time Warping) bei der Analyse, Clusterbildung und Klassifizierung von Zeitreihen stellen unregelmäßige Zeitreihen einige Herausforderungen für die direkte Anwendung von DTW auf einen solchen Datentyp dar (siehe beispielsweise dieses und dieses Dokument ). Aufgrund meiner relativ kurzen Forschungsanstrengungen ist mir nicht ganz klar, ob es unmöglich ist, DTW direkt anzuwenden, wie einige Untersuchungen etwas anderes vorschlagen (siehe auch dieses Papier / Kapitel ). Für mehr Vollständigkeit möchte ich auch eine IMHO erwähnen, die für das Thema Dissertation über unregelmäßige Zeitreihen ausgezeichnet und relevant ist .
Dennoch scheint dieses Thema hauptsächlich von den folgenden zwei Forschungsströmen abgedeckt zu werden :
Abschließend möchte ich auf das Thema Open-Source-Software eingehen , die für Forschungszwecke oder zur Systemimplementierung zur Verfügung steht , sich auf DTW konzentriert und einige der oben genannten Algorithmen für unregelmäßige Zeitreihen unterstützt. Zu dieser Software gehören ein Python / NumPy- basiertes cDTW-Modulprojekt sowie ein GPU-fokussiertes CUDA-basiertes CUDA-DTW-Projekt . Für
R
Enthusiasten sollte auch ein umfassendes Dynamic Time Warp-Projekt erwähnt werden ( entsprechendes Paketdtw
ist auf CRAN verfügbar). Auch wenn es derzeit möglicherweise nicht viele DTW-Algorithmen für unregelmäßige Zeitreihen unterstützt (obwohl ich denke, dass es cDTW unterstützt), ist es meiner Meinung nach nur eine Frage der Zeit, bis dieses Projekt eine umfassendere Unterstützung für DTW-Algorithmen bietet, die sich auf solche Typen konzentrieren von Dateien. Ich hoffe, es hat Ihnen genauso viel Spaß gemacht, meine Antwort zu lesen, wie es mir Spaß gemacht hat, das Thema zu recherchieren und diesen Beitrag zu schreiben.quelle
Ich habe DTW erfolgreich in 'C' implementiert, um es auf die dynamische Signaturüberprüfung anzuwenden. Ich habe eine Testdatenbank mit chinesischen und niederländischen Signaturen verwendet, um die EER zu überprüfen, und habe sehr beeindruckende Ergebnisse erzielt. Es ist derzeit als Demo auf einem iPad implementiert. Mein Algorithmus wurde aus mehreren veröffentlichten Beschreibungen handcodiert. Ich werde den Code weitergeben, wenn es eine Möglichkeit gibt, ihn zu Ihnen zu bringen. Eine Sache, die ebenfalls zum Erfolg beitrug, war die "Normalisierung" der Eingabedaten. Dies machte es viel einfacher, unterschiedliche Daten mit unterschiedlichen Abtastraten zu vergleichen.
quelle
Ich steige gerade erst selbst in die DTW ein und habe die unten genannten Pakete nicht persönlich verwendet, aber ich hoffe, dass das Folgende Ihnen helfen kann.
Das Cran.R-Projekt, insbesondere: • "ts" ist die Grundklasse für regelmäßig beabstandete Zeitreihen mit numerischen Zeitstempeln. • Das "Zoo" -Paket bietet Infrastruktur für regelmäßige und unregelmäßig verteilte Zeitreihen unter Verwendung beliebiger Klassen für die Zeitstempel. Es ist so konzipiert, dass es mit "ts" so konsistent wie möglich ist. • Zoo: S3-Infrastruktur für reguläre und unregelmäßige Zeitreihen (Zs geordnete Beobachtungen)
Verweise: http://cran.r-project.org/web/views/TimeSeries.html und http://cran.r-project.org/web/packages/zoo/index.html
Schöne Grüße.
quelle
TSdist hat eine Funktion, die den Abstand durch dtw bestimmt. Es akzeptiert unregelmäßige Zoo-Zeitreihen
quelle