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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Visualisasi:
    • Grafik dibuat untuk membandingkan harga aktual dan prediksi pada setiap fold.
    • Visualisasi membantu memvalidasi kualitas prediksi model pada dataset.
  7. 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