Berikut adalah resep sederhana yang dapat membantu Anda memulai menulis kode dan menguji gagasan ...
Anggaplah Anda memiliki data bulanan yang direkam selama beberapa tahun, sehingga Anda memiliki 36 nilai. Mari kita juga berasumsi bahwa Anda hanya peduli tentang memprediksi satu bulan (nilai) di muka.
- Analisis data eksplorasi: Menerapkan beberapa metode analisis deret waktu tradisional untuk memperkirakan ketergantungan lag dalam data (misalnya plot korelasi-otomatis dan parsial-korelasi otomatis, transformasi, pembedaan). Katakanlah Anda menemukan nilai bulan tertentu berkorelasi dengan data tiga bulan terakhir tetapi tidak lebih dari itu.
- Partisi data Anda ke dalam set pelatihan dan validasi: Ambil 24 poin pertama sebagai nilai pelatihan Anda dan poin lainnya sebagai set validasi.
- Buat tata letak jaringan saraf: Anda akan mengambil nilai tiga bulan terakhir sebagai input dan Anda ingin memprediksi nilai bulan berikutnya. Jadi, Anda memerlukan jaringan saraf dengan lapisan input yang mengandung tiga node dan lapisan output yang mengandung satu node. Anda mungkin harus memiliki lapisan tersembunyi dengan setidaknya beberapa node. Sayangnya, memilih jumlah lapisan tersembunyi, dan jumlah masing-masing node, bukanlah sesuatu yang ada pedoman yang jelas. Saya mulai dari yang kecil, seperti 3: 2: 1.
- Buat pola pelatihan: Setiap pola pelatihan akan menjadi empat nilai, dengan tiga yang pertama sesuai dengan node input dan yang terakhir mendefinisikan apa nilai yang benar untuk node output. Misalnya, jika data pelatihan Anda adalah nilai maka p a t t e r n 1 : x 1 , x 2 , x 3 , x 4 p a t t e r n 2 : x 2 , x 3 , x 4 , x 5 ... p a t t e r n 21 : x 21
x1, x2... , x24
p a t t e r n 1 : x1, x2, x3, x4
p a t t e r n 2 : x2, x3, x4, x5
...
p a t t e r n 21 : x21, x22, x23, x24
- Latih jaringan saraf pada pola-pola ini
- Uji jaringan pada set validasi (bulan 25-36): Di sini Anda akan menyampaikan tiga nilai yang dibutuhkan jaringan saraf untuk lapisan input dan melihat apa yang akan diatur oleh simpul keluaran. Jadi, untuk melihat seberapa baik jaringan saraf yang terlatih dapat memprediksi nilai bulan 32, Anda akan memberikan nilai untuk bulan 29, 30, dan 31
Resep ini jelas tingkat tinggi dan Anda dapat menggaruk kepala Anda pada awalnya ketika mencoba memetakan konteks Anda ke berbagai pustaka / program perangkat lunak. Tapi, semoga ini menggambarkan poin utama: Anda perlu membuat pola pelatihan yang cukup berisi struktur korelasi dari seri yang Anda coba ramalkan. Dan apakah Anda melakukan peramalan dengan jaringan saraf atau model ARIMA, pekerjaan eksplorasi untuk menentukan apa struktur itu sering merupakan bagian yang paling memakan waktu dan sulit.
Dalam pengalaman saya, jaringan saraf dapat memberikan klasifikasi hebat dan fungsionalitas peramalan, tetapi pengaturannya bisa memakan waktu. Dalam contoh di atas, Anda mungkin menemukan bahwa 21 pola pelatihan tidak cukup; transformasi input data yang berbeda mengarah pada perkiraan yang lebih baik / lebih buruk; memvariasikan jumlah lapisan tersembunyi dan simpul lapisan tersembunyi sangat memengaruhi prakiraan; dll.
Saya sangat merekomendasikan melihat situs web neural_forecasting , yang berisi banyak informasi tentang kompetisi peramalan jaringan saraf. The Motivasi Halaman ini sangat berguna.