Apakah deret waktu multi-langkah di depan memperkirakan masalah urutan ke urutan?

8

Saya menggunakan paket keras untuk melatih LSTM untuk rangkaian waktu univariat tipe numerik (float). Melakukan ramalan 1 langkah di depan adalah sepele, tapi saya tidak yakin bagaimana melakukan ramalan 10 langkah di depan. Dua pertanyaan:

1) Saya membaca tentang urutan ke urutan NN, tetapi hampir tidak dapat menemukan apa pun dalam konteks perkiraan deret waktu. Apakah saya benar dengan asumsi bahwa perkiraan lebih dari 1 langkah sebelumnya adalah masalah seq2seq? Itu masuk akal bagi saya karena setiap perkiraan tergantung pada pendahulunya.

2) Solusi intuitif tanpa seq2seq adalah: Lakukan ramalan 1 langkah ke depan, lalu tambahkan ramalan ini ke seri dan gunakan untuk mendapatkan perkiraan berikutnya, dan seterusnya. Bagaimana ini berbeda dari pendekatan seq2seq?

sevelf
sumber
Saya masih belajar tentang seq2seq jadi tidak bisa mengomentari 2 poin di atas tapi saya akan merekomendasikan Anda merujuk tutorial di bawah ini dari Dr Jason Brownlee dan saya yakin ini adalah apa yang Anda cari- machinelearningmastery.com/…
Nitin Mahajan
1. Ini dapat diatasi dengan model seq2seq, karena Anda memiliki masalah prediksi urutan. 2. Ini akan menderita akumulasi kesalahan prediksi (kebisingan).
Emre

Jawaban:

5

Arsitektur Seq2Seq pasti dapat digunakan untuk masalah deret waktu. Satu-satunya twist adalah bahwa Anda akan memerlukan lapisan linier di atas decoder Anda untuk memproyeksikan output ke ukuran yang diperlukan (misalnya, 1 untuk univariat).

Pendekatan ramalan bertahap dapat digunakan untuk urutan pendek tetapi karena bias apa pun diperparah menggunakan pendekatan ini, itu tidak baik untuk urutan yang lebih lama.

Misalnya, jika Anda memiliki urutan di mana nilainya konstan pada setiap langkah waktu xsaya+1=xsaya, tetapi model yang Anda pelajari harus dilakukan xsaya+1=1.01xsayasebagai gantinya (yang sangat mungkin dengan algoritma gradient descent). Untukt=10, nilai target akan 150=1, namun model Anda akan memprediksi 1.0150=1.64.

Jadi 1% kesalahan langkah tunggal menghasilkan perbedaan 64% dalam 50 langkah.

Louis T
sumber