Method
Dalam proyek ini, kami menggunakan metode berbasis Neural Network dengan pendekatan arsitektur LSTM (Long Short-Term Memory) dan GRU (Gated Recurrent Unit) untuk prediksi harga cryptocurrency. Pendekatan ini diperkuat dengan **Bayesian Optimization** untuk tuning hyperparameter dan **K-Fold Cross-Validation** untuk evaluasi model yang lebih robust.
Tahapan Metode
- Data Preparation:
- Data harga cryptocurrency diperoleh dari Yahoo Finance, dimulai dari 1 Januari 2014.
- Hanya kolom Close Price yang digunakan sebagai input ke model.
- Data dinormalisasi menggunakan MinMaxScaler agar semua nilai berada di antara 0 dan 1, meningkatkan stabilitas numerik.
- Dataset disiapkan dalam bentuk time series dengan 120 langkah waktu (time steps) sebagai input dan harga penutupan berikutnya sebagai target.
- Split Data:
- Data dibagi menggunakan K-Fold Cross-Validation dengan 5 fold. Setiap fold memiliki bagian training dan validation.
- Cross-validation memastikan bahwa model dievaluasi secara menyeluruh pada semua bagian dataset.
- Bayesian Optimization:
- Pemilihan hyperparameter seperti LSTM Units (30-80) dan Dropout Rate (0.1-0.3) dilakukan menggunakan Bayesian Optimization.
- Setiap iterasi mengoptimalkan hyperparameter berdasarkan performa pada validation set, dengan metrik evaluasi berupa Root Mean Squared Error (RMSE).
- Hasil terbaik dari Bayesian Optimization digunakan untuk melatih model pada setiap fold.
- Model Development:
- Arsitektur model adalah kombinasi fleksibel antara LSTM dan GRU dengan total 4 lapisan.
- Lapisan terakhir adalah Dense Layer dengan 1 neuron untuk memprediksi harga penutupan.
- Optimizer: Adam, Loss Function: Mean Squared Error (MSE).
- Model dilatih selama 60 epochs dengan batch size 64.
- Evaluasi Model:
- Metrik evaluasi pada setiap fold:
- RMSE (Root Mean Squared Error): Mengukur tingkat error dalam skala yang sama dengan harga aktual.
- MAE (Mean Absolute Error): Rata-rata kesalahan absolut antara prediksi dan nilai aktual.
- R² Score: Mengukur seberapa baik model menjelaskan variabilitas data.
- Hasil terbaik pada setiap fold dibandingkan untuk menentukan model terbaik.
- Metrik evaluasi pada setiap fold:
- Visualisasi:
- Grafik dibuat untuk membandingkan harga aktual dan prediksi pada setiap fold.
- Visualisasi membantu memvalidasi kualitas prediksi model pada dataset.
- Output Akhir:
- Model terbaik disimpan dalam format HDF5.
- Hasil evaluasi untuk semua fold disimpan dalam file evaluation_results_kfold.json.
- Grafik prediksi disimpan dalam folder plots.
Keunggulan Metode
- Penggunaan K-Fold Cross-Validation memastikan evaluasi model dilakukan secara menyeluruh.
- Pengoptimalan hyperparameter menggunakan Bayesian Optimization meningkatkan performa model tanpa proses tuning manual.
- Metode fleksibel dengan kombinasi arsitektur LSTM dan GRU, dirancang khusus untuk data time series.
- Visualisasi prediksi membantu memahami performa model secara intuitif.