Prediksi Time Series menggunakan LSTMs: Pentingnya membuat time series stationary

21

Dalam tautan ini pada Stationaritas dan perbedaan , telah disebutkan bahwa model-model seperti ARIMA memerlukan deret waktu stasionerisasi untuk peramalan karena sifat statistiknya seperti rerata, ragam, autokorelasi dll konstan dari waktu ke waktu. Karena RNN memiliki kapasitas yang lebih baik untuk mempelajari hubungan non-linear ( seperti yang diberikan di sini: Janji Jaringan Syaraf Berulang untuk Peramalan Time Series ) dan berkinerja lebih baik daripada model time series tradisional ketika data besar, penting untuk memahami bagaimana stasionerisasi data akan memengaruhi hasilnya. Pertanyaan yang perlu saya ketahui jawabannya adalah sebagai berikut:

  1. Dalam kasus model peramalan deret waktu tradisional, stasioneritas dalam data deret waktu membuatnya lebih mudah untuk diprediksi, mengapa dan bagaimana?

  2. Saat membangun model prediksi deret waktu menggunakan LSTM , apakah penting untuk membuat data seri waktu tetap? Jika demikian, lalu mengapa?

Abhijay Ghildyal
sumber

Jawaban:

29

Secara umum deret waktu tidak jauh berbeda dengan masalah pembelajaran mesin lainnya - Anda ingin set tes Anda 'terlihat seperti' set pelatihan Anda, karena Anda ingin model yang Anda pelajari pada set pelatihan Anda masih sesuai untuk set tes Anda. Itulah konsep mendasar yang penting mengenai stasioneritas. Rangkaian waktu memiliki kompleksitas tambahan bahwa mungkin ada struktur jangka panjang dalam data Anda sehingga model Anda mungkin tidak cukup canggih untuk dipelajari. Sebagai contoh, ketika menggunakan lag autoregresif N, kami tidak dapat mempelajari dependensi lebih dari interval lebih lama dari N. Oleh karena itu, ketika menggunakan model sederhana seperti ARIMA, kami ingin data juga stasioner secara lokal .

  1. Seperti yang Anda katakan, stasioner hanya berarti statistik model tidak berubah seiring waktu (stasioner 'lokal'). Model ARIMA pada dasarnya adalah model regresi di mana Anda menggunakan nilai N masa lalu sebagai input untuk regresi linier untuk memprediksi nilai N + 1. (Setidaknya, itulah yang dilakukan bagian AR). Saat Anda mempelajari modelnya, Anda mempelajari koefisien regresi. Jika Anda memiliki deret waktu di mana Anda mempelajari hubungan antara titik N lalu dan titik berikutnya, dan kemudian Anda menerapkannya ke sekumpulan titik N yang berbeda untuk memprediksi nilai berikutnya, Anda secara implisit mengasumsikan bahwa hubungan yang sama berlaku antara N poin prediktor dan N + 1 poin berikut yang coba Anda prediksi. Itu stasioneritas. Jika Anda memisahkan set latihan Anda menjadi dua interval dan melatihnya secara terpisah, dan mendapatkan dua model yang sangat berbeda - apa yang akan Anda simpulkan dari itu? Apakah Anda pikir Anda akan merasa yakin menerapkan model-model itu untuk memprediksidata baru ? Yang mana yang akan Anda gunakan? Masalah ini muncul jika datanya 'tidak stasioner'.

  2. Pandangan saya tentang RNN adalah ini - Anda masih mempelajari pola dari satu segmen dari rangkaian waktu, dan Anda masih ingin menerapkannya ke bagian lain dari rangkaian waktu untuk mendapatkan prediksi. Model belajar representasi yang disederhanakan dari deret waktu - dan jika representasi itu berlaku pada set pelatihan tetapi tidak pada set tes, itu tidak akan berkinerja baik. Namun, tidak seperti ARIMA, RNN mampu mempelajari nonlinier, dan simpul khusus seperti simpul LSTM bahkan lebih baik dalam hal ini. Secara khusus, LSTM dan GRU sangat baik dalam mempelajari ketergantungan jangka panjang. Lihat misalnya posting blog ini . Secara efektif ini berarti bahwa apa yang dimaksud dengan 'stasioner' kurang rapuh dengan RNN, jadi agak kurang memprihatinkan. Untuk dapat mempelajari dependensi jangka panjang, Anda perlu BANYAK data untuk dilatih.

Akhirnya buktinya ada di puding. Yaitu, lakukan validasi model seperti yang Anda lakukan dengan proyek pembelajaran mesin lainnya. Jika model Anda memprediksi dengan baik untuk data bertahan, Anda dapat merasa agak percaya diri dalam menggunakannya. Tetapi seperti proyek ML lainnya - jika data pengujian Anda sangat berbeda dari data pelatihan Anda, model Anda tidak akan berkinerja baik.

tom
sumber
2
Jawaban ini sangat bagus. Dipikirkan dengan matang dan teliti.
StatsSorceress
1
Sudah beberapa saat. Adakah yang menguji asumsi ini?
compguy24