RNN untuk interval waktu yang tidak teratur?

13

RNN sangat baik untuk menangkap ketergantungan waktu dari data sekuensial. Namun, apa yang terjadi ketika elemen urutan tidak sama spasi dalam waktu?

Misalnya, input pertama ke sel LSTM terjadi pada hari Senin, lalu tidak ada data dari Selasa hingga Kamis, dan akhirnya input baru untuk masing-masing hari Jumat, Sabtu, Minggu. Salah satu kemungkinan adalah memiliki semacam vektor NULL yang diumpankan untuk Selasa hingga Kamis, tetapi itu tampaknya menjadi solusi konyol, baik karena entri NULL akan mencemari data dan karena itu adalah pemborosan sumber daya.

Ada ide? Bagaimana RNN menangani kasus-kasus seperti itu? Jika ada metode selain RNN, saya menyambut saran itu juga.

Tfovid
sumber
Jenis data apa itu? Seperti dapatkah kita berasumsi bahwa pada beberapa hari kita mendapatkan pengukuran dari beberapa fitur yang kontinu? Misalnya, suhu di beberapa lokasi?
user0
@ user99889 Ya, itu bisa menjadi contoh, tapi saya lebih memikirkan sebuah penghitung. Misalnya, Anda mendapatkan satu hitungan pada jam 9:32 pagi, maka tidak ada apa-apa, keduanya dihitung pada jam 9:37 pagi, kemudian tidak ada apa-apa, dll ...
Tfovid

Jawaban:

2

Jika Anda memasukkan beberapa vektor data vt pada waktu t, solusi langsung adalah untuk mendapatkan pengkodean satu-panas hari dalam seminggu, dt, dan kemudian cukup memasukkan ke dalam jaringan gabungan dari vt dan dt. Skema pengkodean waktu / tanggal bisa lebih rumit jika format waktu lebih rumit dari sekadar hari dalam seminggu.

Juga, tergantung pada seberapa jarang dan tidak beraturan data itu, entri NULL harus menjadi solusi yang masuk akal. Saya menduga bahwa gerbang input LSTM akan memungkinkan LSTM untuk membacakan informasi entri NULL dengan benar tanpa mencemari data (memori / keadaan tersembunyi) seperti yang Anda masukkan.

shimao
sumber
1
Sebenarnya, alih-alih pengkodean satu-panas, mengapa tidak hanya menggabungkan satu input node ke LSTM yang berisi tanggal, atau lebih baik lagi, waktu sebelum "sekarang", di mana sekarang adalah elemen terakhir dalam urutan. Dalam hal ini, simpul-simpul tersebut akan mengandung -5 (untuk hari Senin), -2 (untuk hari Jumat), -1 (untuk hari Sabtu), 0 (untuk hari Minggu, yaitu hari terakhir). Ini akan menghindari kebutuhan NULLs dan pada saat yang sama (mudah-mudahan) dikodekan oleh seberapa banyak LSTM harus "lupa" di antara rekursi. Apakah ini masuk akal?
Tfovid
Ya, itu seharusnya berhasil.
shimao
1

Saya akan mencoba memasukkan interval waktu secara eksplisit ke dalam model. Misalnya, model deret waktu konvensional seperti AR autoregresif (p) dapat dianggap sebagai diskritisasi model waktu kontinu. Misalnya, model AR (1):

yt=c+ϕyt-1+εt
dapat dianggap sebagai versi:
yt=cΔt+e-γΔtyt-Δt+ξtσΔt

Anda bisa menggambar analogi dengan model deret waktu dari RNN. Contohnya,ϕdalam proses AR (1) dapat dilihat sebagai bobot memori dalam RNNs. Oleh karena itu, Anda dapat menghubungkan perbedaan waktu antara pengamatan ke fitur Anda dengan cara ini. Saya harus memperingatkan bahwa itu hanya sebuah ide, dan saya belum mencobanya sendiri.

Aksakal
sumber
1

Saya pikir itu tergantung pada data. Misalnya, jika Anda memproses penghitungan dan Anda lupa mengukurnya pada beberapa hari, maka strategi terbaik adalah menghitung nilai yang hilang (mis., Melalui interpolasi atau proses Gaussian) dan kemudian memproses deret waktu yang terkait dengan RNN. Dengan memasukkan, Anda akan menanamkan pengetahuan.

Jika hilangnya itu bermakna (terlalu panas dan terlalu banyak menghitung pada beberapa hari), maka yang terbaik adalah menyalahkan mungkin dan juga menambahkan vektor indikator yaitu 1 jika nilainya hilang dan 0 sebaliknya.

pengguna0
sumber
Tidak adanya data tidak dapat ditangani dengan imputasi karena data secara objektif tidak ada dalam kasus ini, bukan hanya hasil dari pengukuran yang terlewatkan. Adapun penambahan label untuk nilai-nilai yang hilang (misalnya, 0 atau 1 seperti yang Anda sarankan), itu sama saja dengan nilai nol. Masalah dengan itu adalah jarangnya data: Jendela geser tempat RNN dilatih sebagian besar akan mengandung nol, sedangkan, dalam praktiknya, seseorang ingin menjejalkan sebanyak mungkin informasi sementara pada saat yang sama, memperhitungkan fakta bahwa mereka diselingi dalam waktu.
Tfovid