RNN cho khoảng thời gian không đều?


13

RNNs rất tốt để nắm bắt sự phụ thuộc thời gian của dữ liệu tuần tự. Tuy nhiên, điều gì xảy ra khi các phần tử chuỗi không cách đều nhau theo thời gian?

Ví dụ, đầu vào đầu tiên cho ô LSTM xảy ra vào Thứ Hai, sau đó không có dữ liệu từ Thứ Ba đến Thứ Năm, và cuối cùng là đầu vào mới cho mỗi Thứ Sáu, Thứ Bảy, Chủ Nhật. Một khả năng có thể là một loại vectơ NULL nào đó được cho ăn từ thứ Ba đến thứ Năm, nhưng đó dường như là một giải pháp ngớ ngẩn, bởi vì các mục NULL sẽ làm nhiễm bẩn dữ liệu và vì nó gây lãng phí tài nguyên.

Có ý kiến ​​gì không? Làm thế nào để RNNs xử lý các trường hợp như vậy? Nếu có các phương pháp khác ngoài RNN, tôi cũng hoan nghênh những đề xuất đó.


Đó là loại dữ liệu gì? Giống như chúng ta có thể cho rằng vào một số ngày chúng ta có được phép đo một số tính năng liên tục không? Ví dụ, nhiệt độ tại một số vị trí?
user0

@ user99889 Vâng, đó có thể là một ví dụ, nhưng tôi đã nghĩ nhiều hơn về một bộ đếm. Ví dụ: bạn nhận được một số đếm lúc 9:32 sáng, sau đó không có gì, hai số đếm vào lúc 9:37 sáng, sau đó không có gì, v.v ...
Tfovid

Câu trả lời:


2

Nếu bạn đang nuôi dưỡng trong một số vector dữ liệu lúc , giải pháp đơn giản là để có được một mã hóa một nóng của các ngày trong tuần, , và sau đó chỉ cần ăn vào mạng nối của và . Lược đồ mã hóa thời gian / ngày có thể phức tạp hơn nếu định dạng thời gian phức tạp hơn so với chỉ ngày trong tuần.vttdtvtdt

Ngoài ra, tùy thuộc vào chính xác mức độ thưa thớt và bất thường của dữ liệu, các mục nhập NULL phải là một giải pháp hợp lý. Tôi nghi ngờ rằng cổng đầu vào của LSTM sẽ cho phép LSTM đọc chính xác thông tin của mục nhập NULL mà không làm nhiễm bẩn dữ liệu (trạng thái bộ nhớ / ẩn) khi bạn đặt nó.


1
Trên thực tế, thay vì mã hóa một lần nóng, tại sao không kết nối một nút đầu vào duy nhất với LSTM có chứa ngày hoặc tốt hơn là thời gian trước "hiện tại", trong đó hiện tại là thành phần cuối cùng trong chuỗi. Trong trường hợp này, các nút đó sẽ chứa -5 (cho Thứ Hai), -2 (cho Thứ Sáu), -1 (cho Thứ Bảy), 0 (cho Chủ Nhật, tức là ngày gần đây nhất). Điều này sẽ tránh được sự cần thiết của NULL và đồng thời (hy vọng) mã hóa bằng cách LSTM nên "quên" giữa các lần thu hồi. Điều này nghe có vẻ hợp lý?
Tfovid

Vâng, điều đó nên làm việc.
shimao

1

yt= =c+φyt-1+εt
yt= =cΔt+e-γΔtyt-Δt+ξtσΔt

φ


1

Tôi nghĩ rằng nó phụ thuộc vào dữ liệu. Ví dụ: nếu bạn đang xử lý số đếm và bạn chỉ quên đo nó vào một số ngày, thì chiến lược tốt nhất là áp đặt các giá trị còn thiếu (ví dụ: thông qua các quá trình nội suy hoặc Gaussian) và sau đó xử lý chuỗi thời gian được liệt kê bằng RNN. Bằng cách đưa ra, bạn sẽ nhúng kiến ​​thức.

Nếu sự thiếu sót là có ý nghĩa (quá nóng, số đo quá nhiều vào một số ngày), thì tốt nhất là nên áp đặt có lẽ và cũng nối thêm một vectơ chỉ báo là 1 nếu giá trị bị thiếu và 0 nếu không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.