Dynamic Time Warping untuk deret waktu tidak beraturan

10

Saya telah membaca banyak tentang Dynamic Time Warping (DTW) belakangan ini. Saya sangat terkejut bahwa tidak ada literatur sama sekali tentang penerapan DTW ke seri waktu yang tidak teratur, atau setidaknya saya tidak dapat menemukannya.

Adakah yang bisa memberi saya referensi ke sesuatu yang terkait dengan masalah itu, atau mungkin bahkan implementasi dari itu?

Remi D
sumber
Saya akan mulai dengan cran.r-project.org/web/packages/dtw/index.html
kjetil b halvorsen

Jawaban:

11

Sejauh yang saya mengerti, dengan deret waktu tidak teratur yang Anda maksud deret waktu tidak merata , juga disebut sebagai deret waktu sampel tidak beraturan . Karena saya ingin tahu tentang deret waktu secara umum, saya telah melakukan penelitian singkat tentang topik minat Anda (dan sekarang milik saya). Hasilnya mengikuti.

Terlepas dari popularitas tinggi pendekatan waktu dinamis warping (DTW) dalam analisis deret waktu, pengelompokan dan klasifikasi, deret waktu tidak teratur menghadirkan beberapa tantangan untuk mengarahkan penerapan DTW ke tipe data tersebut (misalnya, lihat makalah ini dan makalah ini ). Berdasarkan upaya penelitian saya yang relatif singkat, tidak sepenuhnya jelas bagi saya, apakah tidak mungkin untuk menerapkan DTW secara langsung, seperti beberapa penelitian menyarankan sebaliknya (juga lihat tulisan / bab ini ). Untuk lebih komprehensif, saya juga ingin menyebutkan IMHO sangat baik dan relevan dengan disertasi topik pada seri waktu yang tidak teratur .

Namun demikian, tampaknya topik ini sebagian besar dicakup oleh dua aliran penelitian berikut :

  • mengusulkan dan mengevaluasi pendekatan, alternatif untuk DTW , seperti yang berbasis model (lihat makalah ini dan makalah ini );
  • mengusulkan dan mengevaluasi pendekatan DTW yang dimodifikasi , seperti cDTW , EDR , ERP , TWED , transformasi amplop , CDTW ( DTW terus menerus - jangan bingung dengan cDTW - constraint DTW !) dan varian lainnya (misalnya, lihat makalah ini ). Gambaran umum dari pendekatan yang disebutkan di atas dan hasil dari beberapa perbandingan empiris dapat ditemukan dalam makalah ini .

Akhirnya, saya ingin menyentuh subjek perangkat lunak open source , tersedia untuk penelitian atau implementasi sistem , fokus pada DTW dan mendukung beberapa algoritma yang disebutkan di atas untuk rangkaian waktu yang tidak teratur. Perangkat lunak tersebut meliputi Python / NumPy berbasis cDTW proyek modul serta -terfokus GPU berbasis CUDA proyek CUDA-DTW . Untuk Rpenggemar, proyek Dynamic Time Warp yang komprehensif juga harus disebutkan ( paket yang sesuai dtwtersedia di CRAN). Meskipun mungkin tidak mendukung banyak algoritma DTW untuk seri waktu tidak teratur saat ini (meskipun saya pikir itu mendukung cDTW), saya pikir itu hanya masalah waktu sampai proyek ini akan menawarkan dukungan yang lebih komprehensif untuk algoritma DTW, yang berfokus pada jenis tersebut data. Saya harap Anda menikmati membaca jawaban saya sebanyak saya menikmati meneliti topik dan menulis posting ini.

Aleksandr Blekh
sumber
1

Saya telah berhasil menerapkan DTW dalam 'C' sebagaimana diterapkan pada verifikasi tanda tangan dinamis. Saya menggunakan basis data uji tanda tangan Cina dan Belanda untuk memverifikasi EER dan mendapatkan hasil yang sangat mengesankan. Saat ini diimplementasikan sebagai demo di iPad. Algoritme saya dikodekan dengan tangan dari beberapa deskripsi yang dipublikasikan. Saya akan membagikan kode jika ada cara untuk mendapatkannya kepada Anda. Satu hal yang juga berkontribusi terhadap kesuksesan adalah 'menormalkan' input data. Ini membuatnya jauh lebih mudah ketika membandingkan data yang berbeda menggunakan laju sampel yang berbeda.

pengguna6009837
sumber
Selamat datang di situs kami! Perhatikan bahwa nama pengguna, identitas, & tautan ke halaman pengguna Anda secara otomatis ditambahkan ke setiap posting yang Anda buat, jadi tidak perlu menandatangani posting Anda.
Silverfish
2
Kami ingin jawaban kami bermanfaat bagi pembaca di masa mendatang, bukan hanya poster asli secara pribadi, sehingga kemungkinan berbagi kode akan lebih bermanfaat jika Anda dapat mengunggah di suatu tempat dan membagikan tautan di sini. Tetapi jika itu tidak mungkin, mungkin Anda bisa menjelaskan "Algoritme saya dikodekan dengan tangan dari beberapa deskripsi yang diterbitkan" - bisakah Anda mengutip yang Anda gunakan seandainya ada orang lain yang ingin mengikuti jejak Anda dan menerapkannya?
Silverfish
0

Saya baru saja masuk ke DTW sendiri dan belum secara pribadi menggunakan paket-paket yang disebutkan di bawah ini, tetapi saya berharap yang berikut ini dapat membantu Anda.

Proyek Cran.R, khususnya: • "ts" adalah kelas dasar untuk rangkaian waktu yang diberi spasi secara teratur menggunakan perangko waktu numerik. • Paket "zoo" menyediakan infrastruktur untuk rangkaian waktu yang teratur DAN TAK TERBATAS menggunakan kelas sewenang-wenang untuk cap waktu. Ini dirancang agar konsisten dengan "ts". • kebun binatang: Infrastruktur S3 untuk Rangkaian Waktu Reguler dan Tidak Teratur (pengamatan berurut Z)

Referensi: http://cran.r-project.org/web/views/TimeSeries.html , dan http://cran.r-project.org/web/packages/zoo/index.html

Semoga sukses.

TonyMorland
sumber
1
Pertanyaan saya adalah tentang adaptasi DTW sebagai metode untuk konteks deret waktu tidak teratur. Paket seperti Zoo tidak memberikan solusi untuk masalah itu.
Remi D
0

TSdist memiliki fungsi yang menentukan jarak melalui dtw. Ini menerima seri waktu kebun binatang yang tidak teratur

tiagovrtr
sumber
1
"Menerima" tidak berarti itu menangani mereka. Anda harus selalu memeriksa kode sumber suatu fungsi.
Remi D